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

skadistats.clarity.wire.s2.proto.S2TempEntities 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.

There is a newer version: 5.3
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: s2_te.proto

package skadistats.clarity.wire.s2.proto;

public final class S2TempEntities {
  private S2TempEntities() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code ETEProtobufIds}
   */
  public enum ETEProtobufIds
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * TE_EffectDispatchId = 400;
     */
    TE_EffectDispatchId(0, 400),
    /**
     * TE_ArmorRicochetId = 401;
     */
    TE_ArmorRicochetId(1, 401),
    /**
     * TE_BeamEntPointId = 402;
     */
    TE_BeamEntPointId(2, 402),
    /**
     * TE_BeamEntsId = 403;
     */
    TE_BeamEntsId(3, 403),
    /**
     * TE_BeamPointsId = 404;
     */
    TE_BeamPointsId(4, 404),
    /**
     * TE_BeamRingId = 405;
     */
    TE_BeamRingId(5, 405),
    /**
     * TE_BreakModelId = 406;
     */
    TE_BreakModelId(6, 406),
    /**
     * TE_BSPDecalId = 407;
     */
    TE_BSPDecalId(7, 407),
    /**
     * TE_BubblesId = 408;
     */
    TE_BubblesId(8, 408),
    /**
     * TE_BubbleTrailId = 409;
     */
    TE_BubbleTrailId(9, 409),
    /**
     * TE_DecalId = 410;
     */
    TE_DecalId(10, 410),
    /**
     * TE_WorldDecalId = 411;
     */
    TE_WorldDecalId(11, 411),
    /**
     * TE_EnergySplashId = 412;
     */
    TE_EnergySplashId(12, 412),
    /**
     * TE_FizzId = 413;
     */
    TE_FizzId(13, 413),
    /**
     * TE_ShatterSurfaceId = 414;
     */
    TE_ShatterSurfaceId(14, 414),
    /**
     * TE_GlowSpriteId = 415;
     */
    TE_GlowSpriteId(15, 415),
    /**
     * TE_ImpactId = 416;
     */
    TE_ImpactId(16, 416),
    /**
     * TE_MuzzleFlashId = 417;
     */
    TE_MuzzleFlashId(17, 417),
    /**
     * TE_BloodStreamId = 418;
     */
    TE_BloodStreamId(18, 418),
    /**
     * TE_ExplosionId = 419;
     */
    TE_ExplosionId(19, 419),
    /**
     * TE_DustId = 420;
     */
    TE_DustId(20, 420),
    /**
     * TE_LargeFunnelId = 421;
     */
    TE_LargeFunnelId(21, 421),
    /**
     * TE_SparksId = 422;
     */
    TE_SparksId(22, 422),
    /**
     * TE_PhysicsPropId = 423;
     */
    TE_PhysicsPropId(23, 423),
    /**
     * TE_PlayerDecalId = 424;
     */
    TE_PlayerDecalId(24, 424),
    /**
     * TE_ProjectedDecalId = 425;
     */
    TE_ProjectedDecalId(25, 425),
    /**
     * TE_SmokeId = 426;
     */
    TE_SmokeId(26, 426),
    ;

    /**
     * TE_EffectDispatchId = 400;
     */
    public static final int TE_EffectDispatchId_VALUE = 400;
    /**
     * TE_ArmorRicochetId = 401;
     */
    public static final int TE_ArmorRicochetId_VALUE = 401;
    /**
     * TE_BeamEntPointId = 402;
     */
    public static final int TE_BeamEntPointId_VALUE = 402;
    /**
     * TE_BeamEntsId = 403;
     */
    public static final int TE_BeamEntsId_VALUE = 403;
    /**
     * TE_BeamPointsId = 404;
     */
    public static final int TE_BeamPointsId_VALUE = 404;
    /**
     * TE_BeamRingId = 405;
     */
    public static final int TE_BeamRingId_VALUE = 405;
    /**
     * TE_BreakModelId = 406;
     */
    public static final int TE_BreakModelId_VALUE = 406;
    /**
     * TE_BSPDecalId = 407;
     */
    public static final int TE_BSPDecalId_VALUE = 407;
    /**
     * TE_BubblesId = 408;
     */
    public static final int TE_BubblesId_VALUE = 408;
    /**
     * TE_BubbleTrailId = 409;
     */
    public static final int TE_BubbleTrailId_VALUE = 409;
    /**
     * TE_DecalId = 410;
     */
    public static final int TE_DecalId_VALUE = 410;
    /**
     * TE_WorldDecalId = 411;
     */
    public static final int TE_WorldDecalId_VALUE = 411;
    /**
     * TE_EnergySplashId = 412;
     */
    public static final int TE_EnergySplashId_VALUE = 412;
    /**
     * TE_FizzId = 413;
     */
    public static final int TE_FizzId_VALUE = 413;
    /**
     * TE_ShatterSurfaceId = 414;
     */
    public static final int TE_ShatterSurfaceId_VALUE = 414;
    /**
     * TE_GlowSpriteId = 415;
     */
    public static final int TE_GlowSpriteId_VALUE = 415;
    /**
     * TE_ImpactId = 416;
     */
    public static final int TE_ImpactId_VALUE = 416;
    /**
     * TE_MuzzleFlashId = 417;
     */
    public static final int TE_MuzzleFlashId_VALUE = 417;
    /**
     * TE_BloodStreamId = 418;
     */
    public static final int TE_BloodStreamId_VALUE = 418;
    /**
     * TE_ExplosionId = 419;
     */
    public static final int TE_ExplosionId_VALUE = 419;
    /**
     * TE_DustId = 420;
     */
    public static final int TE_DustId_VALUE = 420;
    /**
     * TE_LargeFunnelId = 421;
     */
    public static final int TE_LargeFunnelId_VALUE = 421;
    /**
     * TE_SparksId = 422;
     */
    public static final int TE_SparksId_VALUE = 422;
    /**
     * TE_PhysicsPropId = 423;
     */
    public static final int TE_PhysicsPropId_VALUE = 423;
    /**
     * TE_PlayerDecalId = 424;
     */
    public static final int TE_PlayerDecalId_VALUE = 424;
    /**
     * TE_ProjectedDecalId = 425;
     */
    public static final int TE_ProjectedDecalId_VALUE = 425;
    /**
     * TE_SmokeId = 426;
     */
    public static final int TE_SmokeId_VALUE = 426;


    public final int getNumber() { return value; }

    public static ETEProtobufIds valueOf(int value) {
      switch (value) {
        case 400: return TE_EffectDispatchId;
        case 401: return TE_ArmorRicochetId;
        case 402: return TE_BeamEntPointId;
        case 403: return TE_BeamEntsId;
        case 404: return TE_BeamPointsId;
        case 405: return TE_BeamRingId;
        case 406: return TE_BreakModelId;
        case 407: return TE_BSPDecalId;
        case 408: return TE_BubblesId;
        case 409: return TE_BubbleTrailId;
        case 410: return TE_DecalId;
        case 411: return TE_WorldDecalId;
        case 412: return TE_EnergySplashId;
        case 413: return TE_FizzId;
        case 414: return TE_ShatterSurfaceId;
        case 415: return TE_GlowSpriteId;
        case 416: return TE_ImpactId;
        case 417: return TE_MuzzleFlashId;
        case 418: return TE_BloodStreamId;
        case 419: return TE_ExplosionId;
        case 420: return TE_DustId;
        case 421: return TE_LargeFunnelId;
        case 422: return TE_SparksId;
        case 423: return TE_PhysicsPropId;
        case 424: return TE_PlayerDecalId;
        case 425: return TE_ProjectedDecalId;
        case 426: return TE_SmokeId;
        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 ETEProtobufIds findValueByNumber(int number) {
              return ETEProtobufIds.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.s2.proto.S2TempEntities.getDescriptor().getEnumTypes().get(0);
    }

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

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

    // @@protoc_insertion_point(enum_scope:ETEProtobufIds)
  }

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

    /**
     * optional .CMsgVector pos = 1;
     */
    boolean hasPos();
    /**
     * optional .CMsgVector pos = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getPos();
    /**
     * optional .CMsgVector pos = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getPosOrBuilder();

    /**
     * optional .CMsgVector dir = 2;
     */
    boolean hasDir();
    /**
     * optional .CMsgVector dir = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getDir();
    /**
     * optional .CMsgVector dir = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getDirOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgTEArmorRicochet}
   */
  public static final class CMsgTEArmorRicochet extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEArmorRicochet)
      CMsgTEArmorRicochetOrBuilder {
    // Use CMsgTEArmorRicochet.newBuilder() to construct.
    private CMsgTEArmorRicochet(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEArmorRicochet(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEArmorRicochet getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEArmorRicochet(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = pos_.toBuilder();
              }
              pos_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(pos_);
                pos_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = dir_.toBuilder();
              }
              dir_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(dir_);
                dir_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEArmorRicochet_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEArmorRicochet_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int POS_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector pos_;
    /**
     * optional .CMsgVector pos = 1;
     */
    public boolean hasPos() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector pos = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getPos() {
      return pos_;
    }
    /**
     * optional .CMsgVector pos = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getPosOrBuilder() {
      return pos_;
    }

    public static final int DIR_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector dir_;
    /**
     * optional .CMsgVector dir = 2;
     */
    public boolean hasDir() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector dir = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getDir() {
      return dir_;
    }
    /**
     * optional .CMsgVector dir = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getDirOrBuilder() {
      return dir_;
    }

    private void initFields() {
      pos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      dir_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.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, pos_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, dir_);
      }
      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, pos_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, dir_);
      }
      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.s2.proto.S2TempEntities.CMsgTEArmorRicochet parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet 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.s2.proto.S2TempEntities.CMsgTEArmorRicochet parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet 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.s2.proto.S2TempEntities.CMsgTEArmorRicochet 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 CMsgTEArmorRicochet}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEArmorRicochet)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochetOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEArmorRicochet_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEArmorRicochet_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (posBuilder_ == null) {
          pos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          posBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (dirBuilder_ == null) {
          dir_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          dirBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEArmorRicochet_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (posBuilder_ == null) {
          result.pos_ = pos_;
        } else {
          result.pos_ = posBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (dirBuilder_ == null) {
          result.dir_ = dir_;
        } else {
          result.dir_ = dirBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet.getDefaultInstance()) return this;
        if (other.hasPos()) {
          mergePos(other.getPos());
        }
        if (other.hasDir()) {
          mergeDir(other.getDir());
        }
        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.s2.proto.S2TempEntities.CMsgTEArmorRicochet parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEArmorRicochet) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector pos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> posBuilder_;
      /**
       * optional .CMsgVector pos = 1;
       */
      public boolean hasPos() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getPos() {
        if (posBuilder_ == null) {
          return pos_;
        } else {
          return posBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder setPos(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (posBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          pos_ = value;
          onChanged();
        } else {
          posBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder setPos(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (posBuilder_ == null) {
          pos_ = builderForValue.build();
          onChanged();
        } else {
          posBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder mergePos(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (posBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              pos_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            pos_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(pos_).mergeFrom(value).buildPartial();
          } else {
            pos_ = value;
          }
          onChanged();
        } else {
          posBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder clearPos() {
        if (posBuilder_ == null) {
          pos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          posBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getPosBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getPosFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getPosOrBuilder() {
        if (posBuilder_ != null) {
          return posBuilder_.getMessageOrBuilder();
        } else {
          return pos_;
        }
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getPosFieldBuilder() {
        if (posBuilder_ == null) {
          posBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getPos(),
                  getParentForChildren(),
                  isClean());
          pos_ = null;
        }
        return posBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector dir_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> dirBuilder_;
      /**
       * optional .CMsgVector dir = 2;
       */
      public boolean hasDir() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getDir() {
        if (dirBuilder_ == null) {
          return dir_;
        } else {
          return dirBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public Builder setDir(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (dirBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          dir_ = value;
          onChanged();
        } else {
          dirBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public Builder setDir(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (dirBuilder_ == null) {
          dir_ = builderForValue.build();
          onChanged();
        } else {
          dirBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public Builder mergeDir(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (dirBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              dir_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            dir_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(dir_).mergeFrom(value).buildPartial();
          } else {
            dir_ = value;
          }
          onChanged();
        } else {
          dirBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public Builder clearDir() {
        if (dirBuilder_ == null) {
          dir_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          dirBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getDirBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getDirFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getDirOrBuilder() {
        if (dirBuilder_ != null) {
          return dirBuilder_.getMessageOrBuilder();
        } else {
          return dir_;
        }
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getDirFieldBuilder() {
        if (dirBuilder_ == null) {
          dirBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getDir(),
                  getParentForChildren(),
                  isClean());
          dir_ = null;
        }
        return dirBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEArmorRicochet)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEArmorRicochet)
  }

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

    /**
     * optional fixed64 modelindex = 1;
     */
    boolean hasModelindex();
    /**
     * optional fixed64 modelindex = 1;
     */
    long getModelindex();

    /**
     * optional fixed64 haloindex = 2;
     */
    boolean hasHaloindex();
    /**
     * optional fixed64 haloindex = 2;
     */
    long getHaloindex();

    /**
     * optional uint32 startframe = 3;
     */
    boolean hasStartframe();
    /**
     * optional uint32 startframe = 3;
     */
    int getStartframe();

    /**
     * optional uint32 framerate = 4;
     */
    boolean hasFramerate();
    /**
     * optional uint32 framerate = 4;
     */
    int getFramerate();

    /**
     * optional float life = 5;
     */
    boolean hasLife();
    /**
     * optional float life = 5;
     */
    float getLife();

    /**
     * optional float width = 6;
     */
    boolean hasWidth();
    /**
     * optional float width = 6;
     */
    float getWidth();

    /**
     * optional float endwidth = 7;
     */
    boolean hasEndwidth();
    /**
     * optional float endwidth = 7;
     */
    float getEndwidth();

    /**
     * optional uint32 fadelength = 8;
     */
    boolean hasFadelength();
    /**
     * optional uint32 fadelength = 8;
     */
    int getFadelength();

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

    /**
     * optional fixed32 color = 10;
     */
    boolean hasColor();
    /**
     * optional fixed32 color = 10;
     */
    int getColor();

    /**
     * optional uint32 speed = 11;
     */
    boolean hasSpeed();
    /**
     * optional uint32 speed = 11;
     */
    int getSpeed();

    /**
     * optional uint32 flags = 12;
     */
    boolean hasFlags();
    /**
     * optional uint32 flags = 12;
     */
    int getFlags();
  }
  /**
   * Protobuf type {@code CMsgTEBaseBeam}
   */
  public static final class CMsgTEBaseBeam extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEBaseBeam)
      CMsgTEBaseBeamOrBuilder {
    // Use CMsgTEBaseBeam.newBuilder() to construct.
    private CMsgTEBaseBeam(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEBaseBeam(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEBaseBeam getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEBaseBeam(
        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 9: {
              bitField0_ |= 0x00000001;
              modelindex_ = input.readFixed64();
              break;
            }
            case 17: {
              bitField0_ |= 0x00000002;
              haloindex_ = input.readFixed64();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              startframe_ = input.readUInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              framerate_ = input.readUInt32();
              break;
            }
            case 45: {
              bitField0_ |= 0x00000010;
              life_ = input.readFloat();
              break;
            }
            case 53: {
              bitField0_ |= 0x00000020;
              width_ = input.readFloat();
              break;
            }
            case 61: {
              bitField0_ |= 0x00000040;
              endwidth_ = input.readFloat();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              fadelength_ = input.readUInt32();
              break;
            }
            case 77: {
              bitField0_ |= 0x00000100;
              amplitude_ = input.readFloat();
              break;
            }
            case 85: {
              bitField0_ |= 0x00000200;
              color_ = input.readFixed32();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000400;
              speed_ = input.readUInt32();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000800;
              flags_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEBaseBeam_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBaseBeam_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int MODELINDEX_FIELD_NUMBER = 1;
    private long modelindex_;
    /**
     * optional fixed64 modelindex = 1;
     */
    public boolean hasModelindex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional fixed64 modelindex = 1;
     */
    public long getModelindex() {
      return modelindex_;
    }

    public static final int HALOINDEX_FIELD_NUMBER = 2;
    private long haloindex_;
    /**
     * optional fixed64 haloindex = 2;
     */
    public boolean hasHaloindex() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional fixed64 haloindex = 2;
     */
    public long getHaloindex() {
      return haloindex_;
    }

    public static final int STARTFRAME_FIELD_NUMBER = 3;
    private int startframe_;
    /**
     * optional uint32 startframe = 3;
     */
    public boolean hasStartframe() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 startframe = 3;
     */
    public int getStartframe() {
      return startframe_;
    }

    public static final int FRAMERATE_FIELD_NUMBER = 4;
    private int framerate_;
    /**
     * optional uint32 framerate = 4;
     */
    public boolean hasFramerate() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 framerate = 4;
     */
    public int getFramerate() {
      return framerate_;
    }

    public static final int LIFE_FIELD_NUMBER = 5;
    private float life_;
    /**
     * optional float life = 5;
     */
    public boolean hasLife() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional float life = 5;
     */
    public float getLife() {
      return life_;
    }

    public static final int WIDTH_FIELD_NUMBER = 6;
    private float width_;
    /**
     * optional float width = 6;
     */
    public boolean hasWidth() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional float width = 6;
     */
    public float getWidth() {
      return width_;
    }

    public static final int ENDWIDTH_FIELD_NUMBER = 7;
    private float endwidth_;
    /**
     * optional float endwidth = 7;
     */
    public boolean hasEndwidth() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional float endwidth = 7;
     */
    public float getEndwidth() {
      return endwidth_;
    }

    public static final int FADELENGTH_FIELD_NUMBER = 8;
    private int fadelength_;
    /**
     * optional uint32 fadelength = 8;
     */
    public boolean hasFadelength() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional uint32 fadelength = 8;
     */
    public int getFadelength() {
      return fadelength_;
    }

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

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

    public static final int SPEED_FIELD_NUMBER = 11;
    private int speed_;
    /**
     * optional uint32 speed = 11;
     */
    public boolean hasSpeed() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * optional uint32 speed = 11;
     */
    public int getSpeed() {
      return speed_;
    }

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

    private void initFields() {
      modelindex_ = 0L;
      haloindex_ = 0L;
      startframe_ = 0;
      framerate_ = 0;
      life_ = 0F;
      width_ = 0F;
      endwidth_ = 0F;
      fadelength_ = 0;
      amplitude_ = 0F;
      color_ = 0;
      speed_ = 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.writeFixed64(1, modelindex_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFixed64(2, haloindex_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, startframe_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, framerate_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFloat(5, life_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeFloat(6, width_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeFloat(7, endwidth_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeUInt32(8, fadelength_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeFloat(9, amplitude_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeFixed32(10, color_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeUInt32(11, speed_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeUInt32(12, 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
          .computeFixed64Size(1, modelindex_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(2, haloindex_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, startframe_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, framerate_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, life_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(6, width_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(7, endwidth_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(8, fadelength_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(9, amplitude_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(10, color_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(11, speed_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(12, 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.s2.proto.S2TempEntities.CMsgTEBaseBeam parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam 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.s2.proto.S2TempEntities.CMsgTEBaseBeam parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam 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.s2.proto.S2TempEntities.CMsgTEBaseBeam 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 CMsgTEBaseBeam}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEBaseBeam)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBaseBeam_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBaseBeam_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.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();
        modelindex_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        haloindex_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        startframe_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        framerate_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        life_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000010);
        width_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000020);
        endwidth_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000040);
        fadelength_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        amplitude_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000100);
        color_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        speed_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        flags_ = 0;
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBaseBeam_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.modelindex_ = modelindex_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.haloindex_ = haloindex_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.startframe_ = startframe_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.framerate_ = framerate_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.life_ = life_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.width_ = width_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.endwidth_ = endwidth_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.fadelength_ = fadelength_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.amplitude_ = amplitude_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.color_ = color_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.speed_ = speed_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.flags_ = flags_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance()) return this;
        if (other.hasModelindex()) {
          setModelindex(other.getModelindex());
        }
        if (other.hasHaloindex()) {
          setHaloindex(other.getHaloindex());
        }
        if (other.hasStartframe()) {
          setStartframe(other.getStartframe());
        }
        if (other.hasFramerate()) {
          setFramerate(other.getFramerate());
        }
        if (other.hasLife()) {
          setLife(other.getLife());
        }
        if (other.hasWidth()) {
          setWidth(other.getWidth());
        }
        if (other.hasEndwidth()) {
          setEndwidth(other.getEndwidth());
        }
        if (other.hasFadelength()) {
          setFadelength(other.getFadelength());
        }
        if (other.hasAmplitude()) {
          setAmplitude(other.getAmplitude());
        }
        if (other.hasColor()) {
          setColor(other.getColor());
        }
        if (other.hasSpeed()) {
          setSpeed(other.getSpeed());
        }
        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.s2.proto.S2TempEntities.CMsgTEBaseBeam parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long modelindex_ ;
      /**
       * optional fixed64 modelindex = 1;
       */
      public boolean hasModelindex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional fixed64 modelindex = 1;
       */
      public long getModelindex() {
        return modelindex_;
      }
      /**
       * optional fixed64 modelindex = 1;
       */
      public Builder setModelindex(long value) {
        bitField0_ |= 0x00000001;
        modelindex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 modelindex = 1;
       */
      public Builder clearModelindex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        modelindex_ = 0L;
        onChanged();
        return this;
      }

      private long haloindex_ ;
      /**
       * optional fixed64 haloindex = 2;
       */
      public boolean hasHaloindex() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional fixed64 haloindex = 2;
       */
      public long getHaloindex() {
        return haloindex_;
      }
      /**
       * optional fixed64 haloindex = 2;
       */
      public Builder setHaloindex(long value) {
        bitField0_ |= 0x00000002;
        haloindex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 haloindex = 2;
       */
      public Builder clearHaloindex() {
        bitField0_ = (bitField0_ & ~0x00000002);
        haloindex_ = 0L;
        onChanged();
        return this;
      }

      private int startframe_ ;
      /**
       * optional uint32 startframe = 3;
       */
      public boolean hasStartframe() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 startframe = 3;
       */
      public int getStartframe() {
        return startframe_;
      }
      /**
       * optional uint32 startframe = 3;
       */
      public Builder setStartframe(int value) {
        bitField0_ |= 0x00000004;
        startframe_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 startframe = 3;
       */
      public Builder clearStartframe() {
        bitField0_ = (bitField0_ & ~0x00000004);
        startframe_ = 0;
        onChanged();
        return this;
      }

      private int framerate_ ;
      /**
       * optional uint32 framerate = 4;
       */
      public boolean hasFramerate() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 framerate = 4;
       */
      public int getFramerate() {
        return framerate_;
      }
      /**
       * optional uint32 framerate = 4;
       */
      public Builder setFramerate(int value) {
        bitField0_ |= 0x00000008;
        framerate_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 framerate = 4;
       */
      public Builder clearFramerate() {
        bitField0_ = (bitField0_ & ~0x00000008);
        framerate_ = 0;
        onChanged();
        return this;
      }

      private float life_ ;
      /**
       * optional float life = 5;
       */
      public boolean hasLife() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional float life = 5;
       */
      public float getLife() {
        return life_;
      }
      /**
       * optional float life = 5;
       */
      public Builder setLife(float value) {
        bitField0_ |= 0x00000010;
        life_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float life = 5;
       */
      public Builder clearLife() {
        bitField0_ = (bitField0_ & ~0x00000010);
        life_ = 0F;
        onChanged();
        return this;
      }

      private float width_ ;
      /**
       * optional float width = 6;
       */
      public boolean hasWidth() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional float width = 6;
       */
      public float getWidth() {
        return width_;
      }
      /**
       * optional float width = 6;
       */
      public Builder setWidth(float value) {
        bitField0_ |= 0x00000020;
        width_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float width = 6;
       */
      public Builder clearWidth() {
        bitField0_ = (bitField0_ & ~0x00000020);
        width_ = 0F;
        onChanged();
        return this;
      }

      private float endwidth_ ;
      /**
       * optional float endwidth = 7;
       */
      public boolean hasEndwidth() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional float endwidth = 7;
       */
      public float getEndwidth() {
        return endwidth_;
      }
      /**
       * optional float endwidth = 7;
       */
      public Builder setEndwidth(float value) {
        bitField0_ |= 0x00000040;
        endwidth_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float endwidth = 7;
       */
      public Builder clearEndwidth() {
        bitField0_ = (bitField0_ & ~0x00000040);
        endwidth_ = 0F;
        onChanged();
        return this;
      }

      private int fadelength_ ;
      /**
       * optional uint32 fadelength = 8;
       */
      public boolean hasFadelength() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional uint32 fadelength = 8;
       */
      public int getFadelength() {
        return fadelength_;
      }
      /**
       * optional uint32 fadelength = 8;
       */
      public Builder setFadelength(int value) {
        bitField0_ |= 0x00000080;
        fadelength_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 fadelength = 8;
       */
      public Builder clearFadelength() {
        bitField0_ = (bitField0_ & ~0x00000080);
        fadelength_ = 0;
        onChanged();
        return this;
      }

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

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

      private int speed_ ;
      /**
       * optional uint32 speed = 11;
       */
      public boolean hasSpeed() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * optional uint32 speed = 11;
       */
      public int getSpeed() {
        return speed_;
      }
      /**
       * optional uint32 speed = 11;
       */
      public Builder setSpeed(int value) {
        bitField0_ |= 0x00000400;
        speed_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 speed = 11;
       */
      public Builder clearSpeed() {
        bitField0_ = (bitField0_ & ~0x00000400);
        speed_ = 0;
        onChanged();
        return this;
      }

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

      // @@protoc_insertion_point(builder_scope:CMsgTEBaseBeam)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEBaseBeam)
  }

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

    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    boolean hasBase();
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase();
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder();

    /**
     * optional uint32 startentity = 2;
     */
    boolean hasStartentity();
    /**
     * optional uint32 startentity = 2;
     */
    int getStartentity();

    /**
     * optional uint32 endentity = 3;
     */
    boolean hasEndentity();
    /**
     * optional uint32 endentity = 3;
     */
    int getEndentity();

    /**
     * optional .CMsgVector start = 4;
     */
    boolean hasStart();
    /**
     * optional .CMsgVector start = 4;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart();
    /**
     * optional .CMsgVector start = 4;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder();

    /**
     * optional .CMsgVector end = 5;
     */
    boolean hasEnd();
    /**
     * optional .CMsgVector end = 5;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getEnd();
    /**
     * optional .CMsgVector end = 5;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getEndOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgTEBeamEntPoint}
   */
  public static final class CMsgTEBeamEntPoint extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEBeamEntPoint)
      CMsgTEBeamEntPointOrBuilder {
    // Use CMsgTEBeamEntPoint.newBuilder() to construct.
    private CMsgTEBeamEntPoint(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEBeamEntPoint(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEBeamEntPoint getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEBeamEntPoint(
        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.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = base_.toBuilder();
              }
              base_ = input.readMessage(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(base_);
                base_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              startentity_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              endentity_ = input.readUInt32();
              break;
            }
            case 34: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = start_.toBuilder();
              }
              start_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(start_);
                start_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 42: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000010) == 0x00000010)) {
                subBuilder = end_.toBuilder();
              }
              end_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(end_);
                end_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000010;
              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.s2.proto.S2TempEntities.internal_static_CMsgTEBeamEntPoint_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamEntPoint_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int BASE_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam base_;
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public boolean hasBase() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase() {
      return base_;
    }
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder() {
      return base_;
    }

    public static final int STARTENTITY_FIELD_NUMBER = 2;
    private int startentity_;
    /**
     * optional uint32 startentity = 2;
     */
    public boolean hasStartentity() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 startentity = 2;
     */
    public int getStartentity() {
      return startentity_;
    }

    public static final int ENDENTITY_FIELD_NUMBER = 3;
    private int endentity_;
    /**
     * optional uint32 endentity = 3;
     */
    public boolean hasEndentity() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 endentity = 3;
     */
    public int getEndentity() {
      return endentity_;
    }

    public static final int START_FIELD_NUMBER = 4;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector start_;
    /**
     * optional .CMsgVector start = 4;
     */
    public boolean hasStart() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional .CMsgVector start = 4;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart() {
      return start_;
    }
    /**
     * optional .CMsgVector start = 4;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder() {
      return start_;
    }

    public static final int END_FIELD_NUMBER = 5;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector end_;
    /**
     * optional .CMsgVector end = 5;
     */
    public boolean hasEnd() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional .CMsgVector end = 5;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getEnd() {
      return end_;
    }
    /**
     * optional .CMsgVector end = 5;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getEndOrBuilder() {
      return end_;
    }

    private void initFields() {
      base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
      startentity_ = 0;
      endentity_ = 0;
      start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      end_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.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, base_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, startentity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, endentity_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, start_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeMessage(5, end_);
      }
      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, base_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, startentity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, endentity_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, start_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, end_);
      }
      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.s2.proto.S2TempEntities.CMsgTEBeamEntPoint parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint 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.s2.proto.S2TempEntities.CMsgTEBeamEntPoint parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint 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.s2.proto.S2TempEntities.CMsgTEBeamEntPoint 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 CMsgTEBeamEntPoint}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEBeamEntPoint)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPointOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamEntPoint_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamEntPoint_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (baseBuilder_ == null) {
          base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
        } else {
          baseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        startentity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        endentity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (startBuilder_ == null) {
          start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          startBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        if (endBuilder_ == null) {
          end_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          endBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamEntPoint_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (baseBuilder_ == null) {
          result.base_ = base_;
        } else {
          result.base_ = baseBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.startentity_ = startentity_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.endentity_ = endentity_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (startBuilder_ == null) {
          result.start_ = start_;
        } else {
          result.start_ = startBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        if (endBuilder_ == null) {
          result.end_ = end_;
        } else {
          result.end_ = endBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint.getDefaultInstance()) return this;
        if (other.hasBase()) {
          mergeBase(other.getBase());
        }
        if (other.hasStartentity()) {
          setStartentity(other.getStartentity());
        }
        if (other.hasEndentity()) {
          setEndentity(other.getEndentity());
        }
        if (other.hasStart()) {
          mergeStart(other.getStart());
        }
        if (other.hasEnd()) {
          mergeEnd(other.getEnd());
        }
        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.s2.proto.S2TempEntities.CMsgTEBeamEntPoint parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntPoint) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder> baseBuilder_;
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public boolean hasBase() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase() {
        if (baseBuilder_ == null) {
          return base_;
        } else {
          return baseBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder setBase(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam value) {
        if (baseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          base_ = value;
          onChanged();
        } else {
          baseBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder setBase(
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder builderForValue) {
        if (baseBuilder_ == null) {
          base_ = builderForValue.build();
          onChanged();
        } else {
          baseBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder mergeBase(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam value) {
        if (baseBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              base_ != skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance()) {
            base_ =
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.newBuilder(base_).mergeFrom(value).buildPartial();
          } else {
            base_ = value;
          }
          onChanged();
        } else {
          baseBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder clearBase() {
        if (baseBuilder_ == null) {
          base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
          onChanged();
        } else {
          baseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder getBaseBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getBaseFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder() {
        if (baseBuilder_ != null) {
          return baseBuilder_.getMessageOrBuilder();
        } else {
          return base_;
        }
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder> 
          getBaseFieldBuilder() {
        if (baseBuilder_ == null) {
          baseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder>(
                  getBase(),
                  getParentForChildren(),
                  isClean());
          base_ = null;
        }
        return baseBuilder_;
      }

      private int startentity_ ;
      /**
       * optional uint32 startentity = 2;
       */
      public boolean hasStartentity() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 startentity = 2;
       */
      public int getStartentity() {
        return startentity_;
      }
      /**
       * optional uint32 startentity = 2;
       */
      public Builder setStartentity(int value) {
        bitField0_ |= 0x00000002;
        startentity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 startentity = 2;
       */
      public Builder clearStartentity() {
        bitField0_ = (bitField0_ & ~0x00000002);
        startentity_ = 0;
        onChanged();
        return this;
      }

      private int endentity_ ;
      /**
       * optional uint32 endentity = 3;
       */
      public boolean hasEndentity() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 endentity = 3;
       */
      public int getEndentity() {
        return endentity_;
      }
      /**
       * optional uint32 endentity = 3;
       */
      public Builder setEndentity(int value) {
        bitField0_ |= 0x00000004;
        endentity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 endentity = 3;
       */
      public Builder clearEndentity() {
        bitField0_ = (bitField0_ & ~0x00000004);
        endentity_ = 0;
        onChanged();
        return this;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> startBuilder_;
      /**
       * optional .CMsgVector start = 4;
       */
      public boolean hasStart() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional .CMsgVector start = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart() {
        if (startBuilder_ == null) {
          return start_;
        } else {
          return startBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector start = 4;
       */
      public Builder setStart(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (startBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          start_ = value;
          onChanged();
        } else {
          startBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector start = 4;
       */
      public Builder setStart(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (startBuilder_ == null) {
          start_ = builderForValue.build();
          onChanged();
        } else {
          startBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector start = 4;
       */
      public Builder mergeStart(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (startBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              start_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            start_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(start_).mergeFrom(value).buildPartial();
          } else {
            start_ = value;
          }
          onChanged();
        } else {
          startBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector start = 4;
       */
      public Builder clearStart() {
        if (startBuilder_ == null) {
          start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          startBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * optional .CMsgVector start = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getStartBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getStartFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector start = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder() {
        if (startBuilder_ != null) {
          return startBuilder_.getMessageOrBuilder();
        } else {
          return start_;
        }
      }
      /**
       * optional .CMsgVector start = 4;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getStartFieldBuilder() {
        if (startBuilder_ == null) {
          startBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getStart(),
                  getParentForChildren(),
                  isClean());
          start_ = null;
        }
        return startBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector end_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> endBuilder_;
      /**
       * optional .CMsgVector end = 5;
       */
      public boolean hasEnd() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional .CMsgVector end = 5;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getEnd() {
        if (endBuilder_ == null) {
          return end_;
        } else {
          return endBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector end = 5;
       */
      public Builder setEnd(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (endBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          end_ = value;
          onChanged();
        } else {
          endBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * optional .CMsgVector end = 5;
       */
      public Builder setEnd(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (endBuilder_ == null) {
          end_ = builderForValue.build();
          onChanged();
        } else {
          endBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * optional .CMsgVector end = 5;
       */
      public Builder mergeEnd(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (endBuilder_ == null) {
          if (((bitField0_ & 0x00000010) == 0x00000010) &&
              end_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            end_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(end_).mergeFrom(value).buildPartial();
          } else {
            end_ = value;
          }
          onChanged();
        } else {
          endBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * optional .CMsgVector end = 5;
       */
      public Builder clearEnd() {
        if (endBuilder_ == null) {
          end_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          endBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /**
       * optional .CMsgVector end = 5;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getEndBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getEndFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector end = 5;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getEndOrBuilder() {
        if (endBuilder_ != null) {
          return endBuilder_.getMessageOrBuilder();
        } else {
          return end_;
        }
      }
      /**
       * optional .CMsgVector end = 5;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getEndFieldBuilder() {
        if (endBuilder_ == null) {
          endBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getEnd(),
                  getParentForChildren(),
                  isClean());
          end_ = null;
        }
        return endBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEBeamEntPoint)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEBeamEntPoint)
  }

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

    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    boolean hasBase();
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase();
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder();

    /**
     * optional uint32 startentity = 2;
     */
    boolean hasStartentity();
    /**
     * optional uint32 startentity = 2;
     */
    int getStartentity();

    /**
     * optional uint32 endentity = 3;
     */
    boolean hasEndentity();
    /**
     * optional uint32 endentity = 3;
     */
    int getEndentity();
  }
  /**
   * Protobuf type {@code CMsgTEBeamEnts}
   */
  public static final class CMsgTEBeamEnts extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEBeamEnts)
      CMsgTEBeamEntsOrBuilder {
    // Use CMsgTEBeamEnts.newBuilder() to construct.
    private CMsgTEBeamEnts(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEBeamEnts(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEBeamEnts getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEBeamEnts(
        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.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = base_.toBuilder();
              }
              base_ = input.readMessage(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(base_);
                base_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              startentity_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              endentity_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEBeamEnts_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamEnts_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int BASE_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam base_;
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public boolean hasBase() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase() {
      return base_;
    }
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder() {
      return base_;
    }

    public static final int STARTENTITY_FIELD_NUMBER = 2;
    private int startentity_;
    /**
     * optional uint32 startentity = 2;
     */
    public boolean hasStartentity() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 startentity = 2;
     */
    public int getStartentity() {
      return startentity_;
    }

    public static final int ENDENTITY_FIELD_NUMBER = 3;
    private int endentity_;
    /**
     * optional uint32 endentity = 3;
     */
    public boolean hasEndentity() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 endentity = 3;
     */
    public int getEndentity() {
      return endentity_;
    }

    private void initFields() {
      base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
      startentity_ = 0;
      endentity_ = 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.writeMessage(1, base_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, startentity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, endentity_);
      }
      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, base_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, startentity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, endentity_);
      }
      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.s2.proto.S2TempEntities.CMsgTEBeamEnts parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts 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.s2.proto.S2TempEntities.CMsgTEBeamEnts parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts 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.s2.proto.S2TempEntities.CMsgTEBeamEnts 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 CMsgTEBeamEnts}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEBeamEnts)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEntsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamEnts_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamEnts_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (baseBuilder_ == null) {
          base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
        } else {
          baseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        startentity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        endentity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamEnts_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (baseBuilder_ == null) {
          result.base_ = base_;
        } else {
          result.base_ = baseBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.startentity_ = startentity_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.endentity_ = endentity_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts.getDefaultInstance()) return this;
        if (other.hasBase()) {
          mergeBase(other.getBase());
        }
        if (other.hasStartentity()) {
          setStartentity(other.getStartentity());
        }
        if (other.hasEndentity()) {
          setEndentity(other.getEndentity());
        }
        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.s2.proto.S2TempEntities.CMsgTEBeamEnts parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamEnts) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder> baseBuilder_;
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public boolean hasBase() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase() {
        if (baseBuilder_ == null) {
          return base_;
        } else {
          return baseBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder setBase(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam value) {
        if (baseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          base_ = value;
          onChanged();
        } else {
          baseBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder setBase(
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder builderForValue) {
        if (baseBuilder_ == null) {
          base_ = builderForValue.build();
          onChanged();
        } else {
          baseBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder mergeBase(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam value) {
        if (baseBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              base_ != skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance()) {
            base_ =
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.newBuilder(base_).mergeFrom(value).buildPartial();
          } else {
            base_ = value;
          }
          onChanged();
        } else {
          baseBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder clearBase() {
        if (baseBuilder_ == null) {
          base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
          onChanged();
        } else {
          baseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder getBaseBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getBaseFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder() {
        if (baseBuilder_ != null) {
          return baseBuilder_.getMessageOrBuilder();
        } else {
          return base_;
        }
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder> 
          getBaseFieldBuilder() {
        if (baseBuilder_ == null) {
          baseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder>(
                  getBase(),
                  getParentForChildren(),
                  isClean());
          base_ = null;
        }
        return baseBuilder_;
      }

      private int startentity_ ;
      /**
       * optional uint32 startentity = 2;
       */
      public boolean hasStartentity() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 startentity = 2;
       */
      public int getStartentity() {
        return startentity_;
      }
      /**
       * optional uint32 startentity = 2;
       */
      public Builder setStartentity(int value) {
        bitField0_ |= 0x00000002;
        startentity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 startentity = 2;
       */
      public Builder clearStartentity() {
        bitField0_ = (bitField0_ & ~0x00000002);
        startentity_ = 0;
        onChanged();
        return this;
      }

      private int endentity_ ;
      /**
       * optional uint32 endentity = 3;
       */
      public boolean hasEndentity() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 endentity = 3;
       */
      public int getEndentity() {
        return endentity_;
      }
      /**
       * optional uint32 endentity = 3;
       */
      public Builder setEndentity(int value) {
        bitField0_ |= 0x00000004;
        endentity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 endentity = 3;
       */
      public Builder clearEndentity() {
        bitField0_ = (bitField0_ & ~0x00000004);
        endentity_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEBeamEnts)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEBeamEnts)
  }

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

    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    boolean hasBase();
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase();
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder();

    /**
     * optional .CMsgVector start = 2;
     */
    boolean hasStart();
    /**
     * optional .CMsgVector start = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart();
    /**
     * optional .CMsgVector start = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder();

    /**
     * optional .CMsgVector end = 3;
     */
    boolean hasEnd();
    /**
     * optional .CMsgVector end = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getEnd();
    /**
     * optional .CMsgVector end = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getEndOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgTEBeamPoints}
   */
  public static final class CMsgTEBeamPoints extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEBeamPoints)
      CMsgTEBeamPointsOrBuilder {
    // Use CMsgTEBeamPoints.newBuilder() to construct.
    private CMsgTEBeamPoints(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEBeamPoints(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEBeamPoints getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEBeamPoints(
        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.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = base_.toBuilder();
              }
              base_ = input.readMessage(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(base_);
                base_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = start_.toBuilder();
              }
              start_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(start_);
                start_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = end_.toBuilder();
              }
              end_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(end_);
                end_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEBeamPoints_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamPoints_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int BASE_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam base_;
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public boolean hasBase() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase() {
      return base_;
    }
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder() {
      return base_;
    }

    public static final int START_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector start_;
    /**
     * optional .CMsgVector start = 2;
     */
    public boolean hasStart() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector start = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart() {
      return start_;
    }
    /**
     * optional .CMsgVector start = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder() {
      return start_;
    }

    public static final int END_FIELD_NUMBER = 3;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector end_;
    /**
     * optional .CMsgVector end = 3;
     */
    public boolean hasEnd() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CMsgVector end = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getEnd() {
      return end_;
    }
    /**
     * optional .CMsgVector end = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getEndOrBuilder() {
      return end_;
    }

    private void initFields() {
      base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
      start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      end_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.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, base_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, start_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, end_);
      }
      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, base_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, start_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, end_);
      }
      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.s2.proto.S2TempEntities.CMsgTEBeamPoints parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints 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.s2.proto.S2TempEntities.CMsgTEBeamPoints parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints 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.s2.proto.S2TempEntities.CMsgTEBeamPoints 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 CMsgTEBeamPoints}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEBeamPoints)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPointsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamPoints_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamPoints_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (baseBuilder_ == null) {
          base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
        } else {
          baseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (startBuilder_ == null) {
          start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          startBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (endBuilder_ == null) {
          end_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          endBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamPoints_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (baseBuilder_ == null) {
          result.base_ = base_;
        } else {
          result.base_ = baseBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (startBuilder_ == null) {
          result.start_ = start_;
        } else {
          result.start_ = startBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (endBuilder_ == null) {
          result.end_ = end_;
        } else {
          result.end_ = endBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints.getDefaultInstance()) return this;
        if (other.hasBase()) {
          mergeBase(other.getBase());
        }
        if (other.hasStart()) {
          mergeStart(other.getStart());
        }
        if (other.hasEnd()) {
          mergeEnd(other.getEnd());
        }
        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.s2.proto.S2TempEntities.CMsgTEBeamPoints parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamPoints) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder> baseBuilder_;
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public boolean hasBase() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase() {
        if (baseBuilder_ == null) {
          return base_;
        } else {
          return baseBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder setBase(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam value) {
        if (baseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          base_ = value;
          onChanged();
        } else {
          baseBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder setBase(
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder builderForValue) {
        if (baseBuilder_ == null) {
          base_ = builderForValue.build();
          onChanged();
        } else {
          baseBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder mergeBase(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam value) {
        if (baseBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              base_ != skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance()) {
            base_ =
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.newBuilder(base_).mergeFrom(value).buildPartial();
          } else {
            base_ = value;
          }
          onChanged();
        } else {
          baseBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder clearBase() {
        if (baseBuilder_ == null) {
          base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
          onChanged();
        } else {
          baseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder getBaseBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getBaseFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder() {
        if (baseBuilder_ != null) {
          return baseBuilder_.getMessageOrBuilder();
        } else {
          return base_;
        }
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder> 
          getBaseFieldBuilder() {
        if (baseBuilder_ == null) {
          baseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder>(
                  getBase(),
                  getParentForChildren(),
                  isClean());
          base_ = null;
        }
        return baseBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> startBuilder_;
      /**
       * optional .CMsgVector start = 2;
       */
      public boolean hasStart() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart() {
        if (startBuilder_ == null) {
          return start_;
        } else {
          return startBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder setStart(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (startBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          start_ = value;
          onChanged();
        } else {
          startBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder setStart(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (startBuilder_ == null) {
          start_ = builderForValue.build();
          onChanged();
        } else {
          startBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder mergeStart(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (startBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              start_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            start_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(start_).mergeFrom(value).buildPartial();
          } else {
            start_ = value;
          }
          onChanged();
        } else {
          startBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder clearStart() {
        if (startBuilder_ == null) {
          start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          startBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getStartBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getStartFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder() {
        if (startBuilder_ != null) {
          return startBuilder_.getMessageOrBuilder();
        } else {
          return start_;
        }
      }
      /**
       * optional .CMsgVector start = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getStartFieldBuilder() {
        if (startBuilder_ == null) {
          startBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getStart(),
                  getParentForChildren(),
                  isClean());
          start_ = null;
        }
        return startBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector end_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> endBuilder_;
      /**
       * optional .CMsgVector end = 3;
       */
      public boolean hasEnd() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CMsgVector end = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getEnd() {
        if (endBuilder_ == null) {
          return end_;
        } else {
          return endBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector end = 3;
       */
      public Builder setEnd(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (endBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          end_ = value;
          onChanged();
        } else {
          endBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector end = 3;
       */
      public Builder setEnd(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (endBuilder_ == null) {
          end_ = builderForValue.build();
          onChanged();
        } else {
          endBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector end = 3;
       */
      public Builder mergeEnd(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (endBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              end_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            end_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(end_).mergeFrom(value).buildPartial();
          } else {
            end_ = value;
          }
          onChanged();
        } else {
          endBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector end = 3;
       */
      public Builder clearEnd() {
        if (endBuilder_ == null) {
          end_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          endBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CMsgVector end = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getEndBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getEndFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector end = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getEndOrBuilder() {
        if (endBuilder_ != null) {
          return endBuilder_.getMessageOrBuilder();
        } else {
          return end_;
        }
      }
      /**
       * optional .CMsgVector end = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getEndFieldBuilder() {
        if (endBuilder_ == null) {
          endBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getEnd(),
                  getParentForChildren(),
                  isClean());
          end_ = null;
        }
        return endBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEBeamPoints)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEBeamPoints)
  }

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

    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    boolean hasBase();
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase();
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder();

    /**
     * optional uint32 startentity = 2;
     */
    boolean hasStartentity();
    /**
     * optional uint32 startentity = 2;
     */
    int getStartentity();

    /**
     * optional uint32 endentity = 3;
     */
    boolean hasEndentity();
    /**
     * optional uint32 endentity = 3;
     */
    int getEndentity();
  }
  /**
   * Protobuf type {@code CMsgTEBeamRing}
   */
  public static final class CMsgTEBeamRing extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEBeamRing)
      CMsgTEBeamRingOrBuilder {
    // Use CMsgTEBeamRing.newBuilder() to construct.
    private CMsgTEBeamRing(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEBeamRing(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEBeamRing getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEBeamRing(
        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.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = base_.toBuilder();
              }
              base_ = input.readMessage(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(base_);
                base_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              startentity_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              endentity_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEBeamRing_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamRing_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int BASE_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam base_;
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public boolean hasBase() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase() {
      return base_;
    }
    /**
     * optional .CMsgTEBaseBeam base = 1;
     */
    public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder() {
      return base_;
    }

    public static final int STARTENTITY_FIELD_NUMBER = 2;
    private int startentity_;
    /**
     * optional uint32 startentity = 2;
     */
    public boolean hasStartentity() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 startentity = 2;
     */
    public int getStartentity() {
      return startentity_;
    }

    public static final int ENDENTITY_FIELD_NUMBER = 3;
    private int endentity_;
    /**
     * optional uint32 endentity = 3;
     */
    public boolean hasEndentity() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 endentity = 3;
     */
    public int getEndentity() {
      return endentity_;
    }

    private void initFields() {
      base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
      startentity_ = 0;
      endentity_ = 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.writeMessage(1, base_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, startentity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, endentity_);
      }
      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, base_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, startentity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, endentity_);
      }
      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.s2.proto.S2TempEntities.CMsgTEBeamRing parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing 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.s2.proto.S2TempEntities.CMsgTEBeamRing parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing 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.s2.proto.S2TempEntities.CMsgTEBeamRing 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 CMsgTEBeamRing}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEBeamRing)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRingOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamRing_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamRing_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (baseBuilder_ == null) {
          base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
        } else {
          baseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        startentity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        endentity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBeamRing_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (baseBuilder_ == null) {
          result.base_ = base_;
        } else {
          result.base_ = baseBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.startentity_ = startentity_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.endentity_ = endentity_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing.getDefaultInstance()) return this;
        if (other.hasBase()) {
          mergeBase(other.getBase());
        }
        if (other.hasStartentity()) {
          setStartentity(other.getStartentity());
        }
        if (other.hasEndentity()) {
          setEndentity(other.getEndentity());
        }
        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.s2.proto.S2TempEntities.CMsgTEBeamRing parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBeamRing) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder> baseBuilder_;
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public boolean hasBase() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam getBase() {
        if (baseBuilder_ == null) {
          return base_;
        } else {
          return baseBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder setBase(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam value) {
        if (baseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          base_ = value;
          onChanged();
        } else {
          baseBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder setBase(
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder builderForValue) {
        if (baseBuilder_ == null) {
          base_ = builderForValue.build();
          onChanged();
        } else {
          baseBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder mergeBase(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam value) {
        if (baseBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              base_ != skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance()) {
            base_ =
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.newBuilder(base_).mergeFrom(value).buildPartial();
          } else {
            base_ = value;
          }
          onChanged();
        } else {
          baseBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public Builder clearBase() {
        if (baseBuilder_ == null) {
          base_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.getDefaultInstance();
          onChanged();
        } else {
          baseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder getBaseBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getBaseFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder getBaseOrBuilder() {
        if (baseBuilder_ != null) {
          return baseBuilder_.getMessageOrBuilder();
        } else {
          return base_;
        }
      }
      /**
       * optional .CMsgTEBaseBeam base = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder> 
          getBaseFieldBuilder() {
        if (baseBuilder_ == null) {
          baseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeam.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBaseBeamOrBuilder>(
                  getBase(),
                  getParentForChildren(),
                  isClean());
          base_ = null;
        }
        return baseBuilder_;
      }

      private int startentity_ ;
      /**
       * optional uint32 startentity = 2;
       */
      public boolean hasStartentity() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 startentity = 2;
       */
      public int getStartentity() {
        return startentity_;
      }
      /**
       * optional uint32 startentity = 2;
       */
      public Builder setStartentity(int value) {
        bitField0_ |= 0x00000002;
        startentity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 startentity = 2;
       */
      public Builder clearStartentity() {
        bitField0_ = (bitField0_ & ~0x00000002);
        startentity_ = 0;
        onChanged();
        return this;
      }

      private int endentity_ ;
      /**
       * optional uint32 endentity = 3;
       */
      public boolean hasEndentity() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 endentity = 3;
       */
      public int getEndentity() {
        return endentity_;
      }
      /**
       * optional uint32 endentity = 3;
       */
      public Builder setEndentity(int value) {
        bitField0_ |= 0x00000004;
        endentity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 endentity = 3;
       */
      public Builder clearEndentity() {
        bitField0_ = (bitField0_ & ~0x00000004);
        endentity_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEBeamRing)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEBeamRing)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgQAngle angles = 2;
     */
    boolean hasAngles();
    /**
     * optional .CMsgQAngle angles = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles();
    /**
     * optional .CMsgQAngle angles = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder();

    /**
     * optional .CMsgVector size = 3;
     */
    boolean hasSize();
    /**
     * optional .CMsgVector size = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getSize();
    /**
     * optional .CMsgVector size = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getSizeOrBuilder();

    /**
     * optional .CMsgVector velocity = 4;
     */
    boolean hasVelocity();
    /**
     * optional .CMsgVector velocity = 4;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getVelocity();
    /**
     * optional .CMsgVector velocity = 4;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getVelocityOrBuilder();

    /**
     * optional uint32 randomization = 5;
     */
    boolean hasRandomization();
    /**
     * optional uint32 randomization = 5;
     */
    int getRandomization();

    /**
     * optional fixed64 modelindex = 6;
     */
    boolean hasModelindex();
    /**
     * optional fixed64 modelindex = 6;
     */
    long getModelindex();

    /**
     * optional uint32 count = 7;
     */
    boolean hasCount();
    /**
     * optional uint32 count = 7;
     */
    int getCount();

    /**
     * optional float time = 8;
     */
    boolean hasTime();
    /**
     * optional float time = 8;
     */
    float getTime();

    /**
     * optional uint32 flags = 9;
     */
    boolean hasFlags();
    /**
     * optional uint32 flags = 9;
     */
    int getFlags();
  }
  /**
   * Protobuf type {@code CMsgTEBreakModel}
   */
  public static final class CMsgTEBreakModel extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEBreakModel)
      CMsgTEBreakModelOrBuilder {
    // Use CMsgTEBreakModel.newBuilder() to construct.
    private CMsgTEBreakModel(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEBreakModel(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEBreakModel getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEBreakModel(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = angles_.toBuilder();
              }
              angles_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angles_);
                angles_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = size_.toBuilder();
              }
              size_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(size_);
                size_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = velocity_.toBuilder();
              }
              velocity_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(velocity_);
                velocity_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              randomization_ = input.readUInt32();
              break;
            }
            case 49: {
              bitField0_ |= 0x00000020;
              modelindex_ = input.readFixed64();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              count_ = input.readUInt32();
              break;
            }
            case 69: {
              bitField0_ |= 0x00000080;
              time_ = input.readFloat();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              flags_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEBreakModel_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBreakModel_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEBreakModel parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEBreakModel(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int ANGLES_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_;
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public boolean hasAngles() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
      return angles_;
    }
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
      return angles_;
    }

    public static final int SIZE_FIELD_NUMBER = 3;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector size_;
    /**
     * optional .CMsgVector size = 3;
     */
    public boolean hasSize() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CMsgVector size = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getSize() {
      return size_;
    }
    /**
     * optional .CMsgVector size = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getSizeOrBuilder() {
      return size_;
    }

    public static final int VELOCITY_FIELD_NUMBER = 4;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector velocity_;
    /**
     * optional .CMsgVector velocity = 4;
     */
    public boolean hasVelocity() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional .CMsgVector velocity = 4;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getVelocity() {
      return velocity_;
    }
    /**
     * optional .CMsgVector velocity = 4;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getVelocityOrBuilder() {
      return velocity_;
    }

    public static final int RANDOMIZATION_FIELD_NUMBER = 5;
    private int randomization_;
    /**
     * optional uint32 randomization = 5;
     */
    public boolean hasRandomization() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint32 randomization = 5;
     */
    public int getRandomization() {
      return randomization_;
    }

    public static final int MODELINDEX_FIELD_NUMBER = 6;
    private long modelindex_;
    /**
     * optional fixed64 modelindex = 6;
     */
    public boolean hasModelindex() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional fixed64 modelindex = 6;
     */
    public long getModelindex() {
      return modelindex_;
    }

    public static final int COUNT_FIELD_NUMBER = 7;
    private int count_;
    /**
     * optional uint32 count = 7;
     */
    public boolean hasCount() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional uint32 count = 7;
     */
    public int getCount() {
      return count_;
    }

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

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

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      size_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      velocity_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      randomization_ = 0;
      modelindex_ = 0L;
      count_ = 0;
      time_ = 0F;
      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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, angles_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, size_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, velocity_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, randomization_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeFixed64(6, modelindex_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeUInt32(7, count_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeFloat(8, time_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeUInt32(9, 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
          .computeMessageSize(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, angles_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, size_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, velocity_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, randomization_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(6, modelindex_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, count_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(8, time_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(9, 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.s2.proto.S2TempEntities.CMsgTEBreakModel parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel 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.s2.proto.S2TempEntities.CMsgTEBreakModel parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel 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.s2.proto.S2TempEntities.CMsgTEBreakModel 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 CMsgTEBreakModel}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEBreakModel)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModelOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBreakModel_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBreakModel_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel.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();
          getAnglesFieldBuilder();
          getSizeFieldBuilder();
          getVelocityFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (sizeBuilder_ == null) {
          size_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          sizeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (velocityBuilder_ == null) {
          velocity_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          velocityBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        randomization_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        modelindex_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000020);
        count_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        time_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000080);
        flags_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBreakModel_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel(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;
        }
        if (anglesBuilder_ == null) {
          result.angles_ = angles_;
        } else {
          result.angles_ = anglesBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (sizeBuilder_ == null) {
          result.size_ = size_;
        } else {
          result.size_ = sizeBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (velocityBuilder_ == null) {
          result.velocity_ = velocity_;
        } else {
          result.velocity_ = velocityBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.randomization_ = randomization_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.modelindex_ = modelindex_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.count_ = count_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.time_ = time_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.flags_ = flags_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasAngles()) {
          mergeAngles(other.getAngles());
        }
        if (other.hasSize()) {
          mergeSize(other.getSize());
        }
        if (other.hasVelocity()) {
          mergeVelocity(other.getVelocity());
        }
        if (other.hasRandomization()) {
          setRandomization(other.getRandomization());
        }
        if (other.hasModelindex()) {
          setModelindex(other.getModelindex());
        }
        if (other.hasCount()) {
          setCount(other.getCount());
        }
        if (other.hasTime()) {
          setTime(other.getTime());
        }
        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.s2.proto.S2TempEntities.CMsgTEBreakModel parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBreakModel) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> anglesBuilder_;
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public boolean hasAngles() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
        if (anglesBuilder_ == null) {
          return angles_;
        } else {
          return anglesBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder setAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angles_ = value;
          onChanged();
        } else {
          anglesBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder setAngles(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder builderForValue) {
        if (anglesBuilder_ == null) {
          angles_ = builderForValue.build();
          onChanged();
        } else {
          anglesBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder mergeAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              angles_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance()) {
            angles_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.newBuilder(angles_).mergeFrom(value).buildPartial();
          } else {
            angles_ = value;
          }
          onChanged();
        } else {
          anglesBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder clearAngles() {
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
          onChanged();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder getAnglesBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getAnglesFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
        if (anglesBuilder_ != null) {
          return anglesBuilder_.getMessageOrBuilder();
        } else {
          return angles_;
        }
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> 
          getAnglesFieldBuilder() {
        if (anglesBuilder_ == null) {
          anglesBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder>(
                  getAngles(),
                  getParentForChildren(),
                  isClean());
          angles_ = null;
        }
        return anglesBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector size_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> sizeBuilder_;
      /**
       * optional .CMsgVector size = 3;
       */
      public boolean hasSize() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CMsgVector size = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getSize() {
        if (sizeBuilder_ == null) {
          return size_;
        } else {
          return sizeBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector size = 3;
       */
      public Builder setSize(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (sizeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          size_ = value;
          onChanged();
        } else {
          sizeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector size = 3;
       */
      public Builder setSize(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (sizeBuilder_ == null) {
          size_ = builderForValue.build();
          onChanged();
        } else {
          sizeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector size = 3;
       */
      public Builder mergeSize(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (sizeBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              size_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            size_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(size_).mergeFrom(value).buildPartial();
          } else {
            size_ = value;
          }
          onChanged();
        } else {
          sizeBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector size = 3;
       */
      public Builder clearSize() {
        if (sizeBuilder_ == null) {
          size_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          sizeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CMsgVector size = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getSizeBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getSizeFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector size = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getSizeOrBuilder() {
        if (sizeBuilder_ != null) {
          return sizeBuilder_.getMessageOrBuilder();
        } else {
          return size_;
        }
      }
      /**
       * optional .CMsgVector size = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getSizeFieldBuilder() {
        if (sizeBuilder_ == null) {
          sizeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getSize(),
                  getParentForChildren(),
                  isClean());
          size_ = null;
        }
        return sizeBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector velocity_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> velocityBuilder_;
      /**
       * optional .CMsgVector velocity = 4;
       */
      public boolean hasVelocity() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional .CMsgVector velocity = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getVelocity() {
        if (velocityBuilder_ == null) {
          return velocity_;
        } else {
          return velocityBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector velocity = 4;
       */
      public Builder setVelocity(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (velocityBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          velocity_ = value;
          onChanged();
        } else {
          velocityBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector velocity = 4;
       */
      public Builder setVelocity(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (velocityBuilder_ == null) {
          velocity_ = builderForValue.build();
          onChanged();
        } else {
          velocityBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector velocity = 4;
       */
      public Builder mergeVelocity(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (velocityBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              velocity_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            velocity_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(velocity_).mergeFrom(value).buildPartial();
          } else {
            velocity_ = value;
          }
          onChanged();
        } else {
          velocityBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector velocity = 4;
       */
      public Builder clearVelocity() {
        if (velocityBuilder_ == null) {
          velocity_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          velocityBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * optional .CMsgVector velocity = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getVelocityBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getVelocityFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector velocity = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getVelocityOrBuilder() {
        if (velocityBuilder_ != null) {
          return velocityBuilder_.getMessageOrBuilder();
        } else {
          return velocity_;
        }
      }
      /**
       * optional .CMsgVector velocity = 4;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getVelocityFieldBuilder() {
        if (velocityBuilder_ == null) {
          velocityBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getVelocity(),
                  getParentForChildren(),
                  isClean());
          velocity_ = null;
        }
        return velocityBuilder_;
      }

      private int randomization_ ;
      /**
       * optional uint32 randomization = 5;
       */
      public boolean hasRandomization() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint32 randomization = 5;
       */
      public int getRandomization() {
        return randomization_;
      }
      /**
       * optional uint32 randomization = 5;
       */
      public Builder setRandomization(int value) {
        bitField0_ |= 0x00000010;
        randomization_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 randomization = 5;
       */
      public Builder clearRandomization() {
        bitField0_ = (bitField0_ & ~0x00000010);
        randomization_ = 0;
        onChanged();
        return this;
      }

      private long modelindex_ ;
      /**
       * optional fixed64 modelindex = 6;
       */
      public boolean hasModelindex() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional fixed64 modelindex = 6;
       */
      public long getModelindex() {
        return modelindex_;
      }
      /**
       * optional fixed64 modelindex = 6;
       */
      public Builder setModelindex(long value) {
        bitField0_ |= 0x00000020;
        modelindex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 modelindex = 6;
       */
      public Builder clearModelindex() {
        bitField0_ = (bitField0_ & ~0x00000020);
        modelindex_ = 0L;
        onChanged();
        return this;
      }

      private int count_ ;
      /**
       * optional uint32 count = 7;
       */
      public boolean hasCount() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional uint32 count = 7;
       */
      public int getCount() {
        return count_;
      }
      /**
       * optional uint32 count = 7;
       */
      public Builder setCount(int value) {
        bitField0_ |= 0x00000040;
        count_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 count = 7;
       */
      public Builder clearCount() {
        bitField0_ = (bitField0_ & ~0x00000040);
        count_ = 0;
        onChanged();
        return this;
      }

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

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

      // @@protoc_insertion_point(builder_scope:CMsgTEBreakModel)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEBreakModel)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgVector normal = 2;
     */
    boolean hasNormal();
    /**
     * optional .CMsgVector normal = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal();
    /**
     * optional .CMsgVector normal = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder();

    /**
     * optional .CMsgVector saxis = 3;
     */
    boolean hasSaxis();
    /**
     * optional .CMsgVector saxis = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getSaxis();
    /**
     * optional .CMsgVector saxis = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getSaxisOrBuilder();

    /**
     * optional uint32 entity = 4;
     */
    boolean hasEntity();
    /**
     * optional uint32 entity = 4;
     */
    int getEntity();

    /**
     * optional uint32 index = 5;
     */
    boolean hasIndex();
    /**
     * optional uint32 index = 5;
     */
    int getIndex();
  }
  /**
   * Protobuf type {@code CMsgTEBSPDecal}
   */
  public static final class CMsgTEBSPDecal extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEBSPDecal)
      CMsgTEBSPDecalOrBuilder {
    // Use CMsgTEBSPDecal.newBuilder() to construct.
    private CMsgTEBSPDecal(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEBSPDecal(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEBSPDecal getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEBSPDecal(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = normal_.toBuilder();
              }
              normal_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(normal_);
                normal_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = saxis_.toBuilder();
              }
              saxis_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(saxis_);
                saxis_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              entity_ = input.readUInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              index_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEBSPDecal_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBSPDecal_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEBSPDecal parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEBSPDecal(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int NORMAL_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector normal_;
    /**
     * optional .CMsgVector normal = 2;
     */
    public boolean hasNormal() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector normal = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal() {
      return normal_;
    }
    /**
     * optional .CMsgVector normal = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder() {
      return normal_;
    }

    public static final int SAXIS_FIELD_NUMBER = 3;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector saxis_;
    /**
     * optional .CMsgVector saxis = 3;
     */
    public boolean hasSaxis() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CMsgVector saxis = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getSaxis() {
      return saxis_;
    }
    /**
     * optional .CMsgVector saxis = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getSaxisOrBuilder() {
      return saxis_;
    }

    public static final int ENTITY_FIELD_NUMBER = 4;
    private int entity_;
    /**
     * optional uint32 entity = 4;
     */
    public boolean hasEntity() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 entity = 4;
     */
    public int getEntity() {
      return entity_;
    }

    public static final int INDEX_FIELD_NUMBER = 5;
    private int index_;
    /**
     * optional uint32 index = 5;
     */
    public boolean hasIndex() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint32 index = 5;
     */
    public int getIndex() {
      return index_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      saxis_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      entity_ = 0;
      index_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, normal_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, saxis_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, entity_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, index_);
      }
      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
          .computeMessageSize(2, normal_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, saxis_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, entity_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, index_);
      }
      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.s2.proto.S2TempEntities.CMsgTEBSPDecal parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal 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.s2.proto.S2TempEntities.CMsgTEBSPDecal parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal 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.s2.proto.S2TempEntities.CMsgTEBSPDecal 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 CMsgTEBSPDecal}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEBSPDecal)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBSPDecal_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBSPDecal_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal.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();
          getNormalFieldBuilder();
          getSaxisFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (normalBuilder_ == null) {
          normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          normalBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (saxisBuilder_ == null) {
          saxis_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          saxisBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        entity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        index_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBSPDecal_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal(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;
        }
        if (normalBuilder_ == null) {
          result.normal_ = normal_;
        } else {
          result.normal_ = normalBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (saxisBuilder_ == null) {
          result.saxis_ = saxis_;
        } else {
          result.saxis_ = saxisBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.entity_ = entity_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.index_ = index_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasNormal()) {
          mergeNormal(other.getNormal());
        }
        if (other.hasSaxis()) {
          mergeSaxis(other.getSaxis());
        }
        if (other.hasEntity()) {
          setEntity(other.getEntity());
        }
        if (other.hasIndex()) {
          setIndex(other.getIndex());
        }
        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.s2.proto.S2TempEntities.CMsgTEBSPDecal parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBSPDecal) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> normalBuilder_;
      /**
       * optional .CMsgVector normal = 2;
       */
      public boolean hasNormal() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal() {
        if (normalBuilder_ == null) {
          return normal_;
        } else {
          return normalBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder setNormal(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (normalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          normal_ = value;
          onChanged();
        } else {
          normalBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder setNormal(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (normalBuilder_ == null) {
          normal_ = builderForValue.build();
          onChanged();
        } else {
          normalBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder mergeNormal(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (normalBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              normal_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            normal_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(normal_).mergeFrom(value).buildPartial();
          } else {
            normal_ = value;
          }
          onChanged();
        } else {
          normalBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder clearNormal() {
        if (normalBuilder_ == null) {
          normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          normalBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getNormalBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getNormalFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder() {
        if (normalBuilder_ != null) {
          return normalBuilder_.getMessageOrBuilder();
        } else {
          return normal_;
        }
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getNormalFieldBuilder() {
        if (normalBuilder_ == null) {
          normalBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getNormal(),
                  getParentForChildren(),
                  isClean());
          normal_ = null;
        }
        return normalBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector saxis_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> saxisBuilder_;
      /**
       * optional .CMsgVector saxis = 3;
       */
      public boolean hasSaxis() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CMsgVector saxis = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getSaxis() {
        if (saxisBuilder_ == null) {
          return saxis_;
        } else {
          return saxisBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector saxis = 3;
       */
      public Builder setSaxis(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (saxisBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          saxis_ = value;
          onChanged();
        } else {
          saxisBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector saxis = 3;
       */
      public Builder setSaxis(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (saxisBuilder_ == null) {
          saxis_ = builderForValue.build();
          onChanged();
        } else {
          saxisBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector saxis = 3;
       */
      public Builder mergeSaxis(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (saxisBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              saxis_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            saxis_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(saxis_).mergeFrom(value).buildPartial();
          } else {
            saxis_ = value;
          }
          onChanged();
        } else {
          saxisBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector saxis = 3;
       */
      public Builder clearSaxis() {
        if (saxisBuilder_ == null) {
          saxis_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          saxisBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CMsgVector saxis = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getSaxisBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getSaxisFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector saxis = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getSaxisOrBuilder() {
        if (saxisBuilder_ != null) {
          return saxisBuilder_.getMessageOrBuilder();
        } else {
          return saxis_;
        }
      }
      /**
       * optional .CMsgVector saxis = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getSaxisFieldBuilder() {
        if (saxisBuilder_ == null) {
          saxisBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getSaxis(),
                  getParentForChildren(),
                  isClean());
          saxis_ = null;
        }
        return saxisBuilder_;
      }

      private int entity_ ;
      /**
       * optional uint32 entity = 4;
       */
      public boolean hasEntity() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 entity = 4;
       */
      public int getEntity() {
        return entity_;
      }
      /**
       * optional uint32 entity = 4;
       */
      public Builder setEntity(int value) {
        bitField0_ |= 0x00000008;
        entity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 entity = 4;
       */
      public Builder clearEntity() {
        bitField0_ = (bitField0_ & ~0x00000008);
        entity_ = 0;
        onChanged();
        return this;
      }

      private int index_ ;
      /**
       * optional uint32 index = 5;
       */
      public boolean hasIndex() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint32 index = 5;
       */
      public int getIndex() {
        return index_;
      }
      /**
       * optional uint32 index = 5;
       */
      public Builder setIndex(int value) {
        bitField0_ |= 0x00000010;
        index_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 index = 5;
       */
      public Builder clearIndex() {
        bitField0_ = (bitField0_ & ~0x00000010);
        index_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEBSPDecal)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEBSPDecal)
  }

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

    /**
     * optional .CMsgVector mins = 1;
     */
    boolean hasMins();
    /**
     * optional .CMsgVector mins = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMins();
    /**
     * optional .CMsgVector mins = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMinsOrBuilder();

    /**
     * optional .CMsgVector maxs = 2;
     */
    boolean hasMaxs();
    /**
     * optional .CMsgVector maxs = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMaxs();
    /**
     * optional .CMsgVector maxs = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMaxsOrBuilder();

    /**
     * optional float height = 3;
     */
    boolean hasHeight();
    /**
     * optional float height = 3;
     */
    float getHeight();

    /**
     * optional uint32 count = 4;
     */
    boolean hasCount();
    /**
     * optional uint32 count = 4;
     */
    int getCount();

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

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

    public CMsgTEBubbles getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEBubbles(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = mins_.toBuilder();
              }
              mins_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(mins_);
                mins_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = maxs_.toBuilder();
              }
              maxs_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(maxs_);
                maxs_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              height_ = input.readFloat();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              count_ = input.readUInt32();
              break;
            }
            case 45: {
              bitField0_ |= 0x00000010;
              speed_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEBubbles_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBubbles_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int MINS_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector mins_;
    /**
     * optional .CMsgVector mins = 1;
     */
    public boolean hasMins() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector mins = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMins() {
      return mins_;
    }
    /**
     * optional .CMsgVector mins = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMinsOrBuilder() {
      return mins_;
    }

    public static final int MAXS_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector maxs_;
    /**
     * optional .CMsgVector maxs = 2;
     */
    public boolean hasMaxs() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector maxs = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMaxs() {
      return maxs_;
    }
    /**
     * optional .CMsgVector maxs = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMaxsOrBuilder() {
      return maxs_;
    }

    public static final int HEIGHT_FIELD_NUMBER = 3;
    private float height_;
    /**
     * optional float height = 3;
     */
    public boolean hasHeight() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float height = 3;
     */
    public float getHeight() {
      return height_;
    }

    public static final int COUNT_FIELD_NUMBER = 4;
    private int count_;
    /**
     * optional uint32 count = 4;
     */
    public boolean hasCount() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 count = 4;
     */
    public int getCount() {
      return count_;
    }

    public static final int SPEED_FIELD_NUMBER = 5;
    private float speed_;
    /**
     * optional float speed = 5;
     */
    public boolean hasSpeed() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional float speed = 5;
     */
    public float getSpeed() {
      return speed_;
    }

    private void initFields() {
      mins_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      maxs_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      height_ = 0F;
      count_ = 0;
      speed_ = 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.writeMessage(1, mins_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, maxs_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, height_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, count_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFloat(5, speed_);
      }
      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, mins_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, maxs_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, height_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, count_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, speed_);
      }
      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.s2.proto.S2TempEntities.CMsgTEBubbles parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles 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.s2.proto.S2TempEntities.CMsgTEBubbles parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles 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.s2.proto.S2TempEntities.CMsgTEBubbles 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 CMsgTEBubbles}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEBubbles)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubblesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBubbles_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBubbles_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (minsBuilder_ == null) {
          mins_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          minsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (maxsBuilder_ == null) {
          maxs_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          maxsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        height_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        count_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        speed_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBubbles_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (minsBuilder_ == null) {
          result.mins_ = mins_;
        } else {
          result.mins_ = minsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (maxsBuilder_ == null) {
          result.maxs_ = maxs_;
        } else {
          result.maxs_ = maxsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.height_ = height_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.count_ = count_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.speed_ = speed_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles.getDefaultInstance()) return this;
        if (other.hasMins()) {
          mergeMins(other.getMins());
        }
        if (other.hasMaxs()) {
          mergeMaxs(other.getMaxs());
        }
        if (other.hasHeight()) {
          setHeight(other.getHeight());
        }
        if (other.hasCount()) {
          setCount(other.getCount());
        }
        if (other.hasSpeed()) {
          setSpeed(other.getSpeed());
        }
        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.s2.proto.S2TempEntities.CMsgTEBubbles parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbles) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector mins_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> minsBuilder_;
      /**
       * optional .CMsgVector mins = 1;
       */
      public boolean hasMins() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMins() {
        if (minsBuilder_ == null) {
          return mins_;
        } else {
          return minsBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public Builder setMins(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (minsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          mins_ = value;
          onChanged();
        } else {
          minsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public Builder setMins(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (minsBuilder_ == null) {
          mins_ = builderForValue.build();
          onChanged();
        } else {
          minsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public Builder mergeMins(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (minsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              mins_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            mins_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(mins_).mergeFrom(value).buildPartial();
          } else {
            mins_ = value;
          }
          onChanged();
        } else {
          minsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public Builder clearMins() {
        if (minsBuilder_ == null) {
          mins_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          minsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getMinsBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getMinsFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMinsOrBuilder() {
        if (minsBuilder_ != null) {
          return minsBuilder_.getMessageOrBuilder();
        } else {
          return mins_;
        }
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getMinsFieldBuilder() {
        if (minsBuilder_ == null) {
          minsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getMins(),
                  getParentForChildren(),
                  isClean());
          mins_ = null;
        }
        return minsBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector maxs_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> maxsBuilder_;
      /**
       * optional .CMsgVector maxs = 2;
       */
      public boolean hasMaxs() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMaxs() {
        if (maxsBuilder_ == null) {
          return maxs_;
        } else {
          return maxsBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public Builder setMaxs(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (maxsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          maxs_ = value;
          onChanged();
        } else {
          maxsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public Builder setMaxs(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (maxsBuilder_ == null) {
          maxs_ = builderForValue.build();
          onChanged();
        } else {
          maxsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public Builder mergeMaxs(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (maxsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              maxs_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            maxs_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(maxs_).mergeFrom(value).buildPartial();
          } else {
            maxs_ = value;
          }
          onChanged();
        } else {
          maxsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public Builder clearMaxs() {
        if (maxsBuilder_ == null) {
          maxs_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          maxsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getMaxsBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getMaxsFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMaxsOrBuilder() {
        if (maxsBuilder_ != null) {
          return maxsBuilder_.getMessageOrBuilder();
        } else {
          return maxs_;
        }
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getMaxsFieldBuilder() {
        if (maxsBuilder_ == null) {
          maxsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getMaxs(),
                  getParentForChildren(),
                  isClean());
          maxs_ = null;
        }
        return maxsBuilder_;
      }

      private float height_ ;
      /**
       * optional float height = 3;
       */
      public boolean hasHeight() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float height = 3;
       */
      public float getHeight() {
        return height_;
      }
      /**
       * optional float height = 3;
       */
      public Builder setHeight(float value) {
        bitField0_ |= 0x00000004;
        height_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float height = 3;
       */
      public Builder clearHeight() {
        bitField0_ = (bitField0_ & ~0x00000004);
        height_ = 0F;
        onChanged();
        return this;
      }

      private int count_ ;
      /**
       * optional uint32 count = 4;
       */
      public boolean hasCount() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 count = 4;
       */
      public int getCount() {
        return count_;
      }
      /**
       * optional uint32 count = 4;
       */
      public Builder setCount(int value) {
        bitField0_ |= 0x00000008;
        count_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 count = 4;
       */
      public Builder clearCount() {
        bitField0_ = (bitField0_ & ~0x00000008);
        count_ = 0;
        onChanged();
        return this;
      }

      private float speed_ ;
      /**
       * optional float speed = 5;
       */
      public boolean hasSpeed() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional float speed = 5;
       */
      public float getSpeed() {
        return speed_;
      }
      /**
       * optional float speed = 5;
       */
      public Builder setSpeed(float value) {
        bitField0_ |= 0x00000010;
        speed_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float speed = 5;
       */
      public Builder clearSpeed() {
        bitField0_ = (bitField0_ & ~0x00000010);
        speed_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEBubbles)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEBubbles)
  }

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

    /**
     * optional .CMsgVector mins = 1;
     */
    boolean hasMins();
    /**
     * optional .CMsgVector mins = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMins();
    /**
     * optional .CMsgVector mins = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMinsOrBuilder();

    /**
     * optional .CMsgVector maxs = 2;
     */
    boolean hasMaxs();
    /**
     * optional .CMsgVector maxs = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMaxs();
    /**
     * optional .CMsgVector maxs = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMaxsOrBuilder();

    /**
     * optional float waterz = 3;
     */
    boolean hasWaterz();
    /**
     * optional float waterz = 3;
     */
    float getWaterz();

    /**
     * optional uint32 count = 4;
     */
    boolean hasCount();
    /**
     * optional uint32 count = 4;
     */
    int getCount();

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

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

    public CMsgTEBubbleTrail getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEBubbleTrail(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = mins_.toBuilder();
              }
              mins_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(mins_);
                mins_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = maxs_.toBuilder();
              }
              maxs_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(maxs_);
                maxs_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              waterz_ = input.readFloat();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              count_ = input.readUInt32();
              break;
            }
            case 45: {
              bitField0_ |= 0x00000010;
              speed_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEBubbleTrail_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBubbleTrail_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int MINS_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector mins_;
    /**
     * optional .CMsgVector mins = 1;
     */
    public boolean hasMins() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector mins = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMins() {
      return mins_;
    }
    /**
     * optional .CMsgVector mins = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMinsOrBuilder() {
      return mins_;
    }

    public static final int MAXS_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector maxs_;
    /**
     * optional .CMsgVector maxs = 2;
     */
    public boolean hasMaxs() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector maxs = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMaxs() {
      return maxs_;
    }
    /**
     * optional .CMsgVector maxs = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMaxsOrBuilder() {
      return maxs_;
    }

    public static final int WATERZ_FIELD_NUMBER = 3;
    private float waterz_;
    /**
     * optional float waterz = 3;
     */
    public boolean hasWaterz() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float waterz = 3;
     */
    public float getWaterz() {
      return waterz_;
    }

    public static final int COUNT_FIELD_NUMBER = 4;
    private int count_;
    /**
     * optional uint32 count = 4;
     */
    public boolean hasCount() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 count = 4;
     */
    public int getCount() {
      return count_;
    }

    public static final int SPEED_FIELD_NUMBER = 5;
    private float speed_;
    /**
     * optional float speed = 5;
     */
    public boolean hasSpeed() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional float speed = 5;
     */
    public float getSpeed() {
      return speed_;
    }

    private void initFields() {
      mins_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      maxs_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      waterz_ = 0F;
      count_ = 0;
      speed_ = 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.writeMessage(1, mins_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, maxs_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, waterz_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, count_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFloat(5, speed_);
      }
      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, mins_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, maxs_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, waterz_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, count_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, speed_);
      }
      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.s2.proto.S2TempEntities.CMsgTEBubbleTrail parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail 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.s2.proto.S2TempEntities.CMsgTEBubbleTrail parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail 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.s2.proto.S2TempEntities.CMsgTEBubbleTrail 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 CMsgTEBubbleTrail}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEBubbleTrail)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrailOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBubbleTrail_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBubbleTrail_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (minsBuilder_ == null) {
          mins_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          minsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (maxsBuilder_ == null) {
          maxs_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          maxsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        waterz_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        count_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        speed_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBubbleTrail_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (minsBuilder_ == null) {
          result.mins_ = mins_;
        } else {
          result.mins_ = minsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (maxsBuilder_ == null) {
          result.maxs_ = maxs_;
        } else {
          result.maxs_ = maxsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.waterz_ = waterz_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.count_ = count_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.speed_ = speed_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail.getDefaultInstance()) return this;
        if (other.hasMins()) {
          mergeMins(other.getMins());
        }
        if (other.hasMaxs()) {
          mergeMaxs(other.getMaxs());
        }
        if (other.hasWaterz()) {
          setWaterz(other.getWaterz());
        }
        if (other.hasCount()) {
          setCount(other.getCount());
        }
        if (other.hasSpeed()) {
          setSpeed(other.getSpeed());
        }
        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.s2.proto.S2TempEntities.CMsgTEBubbleTrail parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBubbleTrail) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector mins_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> minsBuilder_;
      /**
       * optional .CMsgVector mins = 1;
       */
      public boolean hasMins() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMins() {
        if (minsBuilder_ == null) {
          return mins_;
        } else {
          return minsBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public Builder setMins(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (minsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          mins_ = value;
          onChanged();
        } else {
          minsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public Builder setMins(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (minsBuilder_ == null) {
          mins_ = builderForValue.build();
          onChanged();
        } else {
          minsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public Builder mergeMins(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (minsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              mins_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            mins_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(mins_).mergeFrom(value).buildPartial();
          } else {
            mins_ = value;
          }
          onChanged();
        } else {
          minsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public Builder clearMins() {
        if (minsBuilder_ == null) {
          mins_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          minsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getMinsBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getMinsFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMinsOrBuilder() {
        if (minsBuilder_ != null) {
          return minsBuilder_.getMessageOrBuilder();
        } else {
          return mins_;
        }
      }
      /**
       * optional .CMsgVector mins = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getMinsFieldBuilder() {
        if (minsBuilder_ == null) {
          minsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getMins(),
                  getParentForChildren(),
                  isClean());
          mins_ = null;
        }
        return minsBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector maxs_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> maxsBuilder_;
      /**
       * optional .CMsgVector maxs = 2;
       */
      public boolean hasMaxs() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getMaxs() {
        if (maxsBuilder_ == null) {
          return maxs_;
        } else {
          return maxsBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public Builder setMaxs(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (maxsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          maxs_ = value;
          onChanged();
        } else {
          maxsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public Builder setMaxs(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (maxsBuilder_ == null) {
          maxs_ = builderForValue.build();
          onChanged();
        } else {
          maxsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public Builder mergeMaxs(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (maxsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              maxs_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            maxs_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(maxs_).mergeFrom(value).buildPartial();
          } else {
            maxs_ = value;
          }
          onChanged();
        } else {
          maxsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public Builder clearMaxs() {
        if (maxsBuilder_ == null) {
          maxs_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          maxsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getMaxsBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getMaxsFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getMaxsOrBuilder() {
        if (maxsBuilder_ != null) {
          return maxsBuilder_.getMessageOrBuilder();
        } else {
          return maxs_;
        }
      }
      /**
       * optional .CMsgVector maxs = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getMaxsFieldBuilder() {
        if (maxsBuilder_ == null) {
          maxsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getMaxs(),
                  getParentForChildren(),
                  isClean());
          maxs_ = null;
        }
        return maxsBuilder_;
      }

      private float waterz_ ;
      /**
       * optional float waterz = 3;
       */
      public boolean hasWaterz() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float waterz = 3;
       */
      public float getWaterz() {
        return waterz_;
      }
      /**
       * optional float waterz = 3;
       */
      public Builder setWaterz(float value) {
        bitField0_ |= 0x00000004;
        waterz_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float waterz = 3;
       */
      public Builder clearWaterz() {
        bitField0_ = (bitField0_ & ~0x00000004);
        waterz_ = 0F;
        onChanged();
        return this;
      }

      private int count_ ;
      /**
       * optional uint32 count = 4;
       */
      public boolean hasCount() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 count = 4;
       */
      public int getCount() {
        return count_;
      }
      /**
       * optional uint32 count = 4;
       */
      public Builder setCount(int value) {
        bitField0_ |= 0x00000008;
        count_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 count = 4;
       */
      public Builder clearCount() {
        bitField0_ = (bitField0_ & ~0x00000008);
        count_ = 0;
        onChanged();
        return this;
      }

      private float speed_ ;
      /**
       * optional float speed = 5;
       */
      public boolean hasSpeed() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional float speed = 5;
       */
      public float getSpeed() {
        return speed_;
      }
      /**
       * optional float speed = 5;
       */
      public Builder setSpeed(float value) {
        bitField0_ |= 0x00000010;
        speed_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float speed = 5;
       */
      public Builder clearSpeed() {
        bitField0_ = (bitField0_ & ~0x00000010);
        speed_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEBubbleTrail)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEBubbleTrail)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgVector start = 2;
     */
    boolean hasStart();
    /**
     * optional .CMsgVector start = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart();
    /**
     * optional .CMsgVector start = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder();

    /**
     * optional uint32 entity = 3;
     */
    boolean hasEntity();
    /**
     * optional uint32 entity = 3;
     */
    int getEntity();

    /**
     * optional uint32 hitbox = 4;
     */
    boolean hasHitbox();
    /**
     * optional uint32 hitbox = 4;
     */
    int getHitbox();

    /**
     * optional uint32 index = 5;
     */
    boolean hasIndex();
    /**
     * optional uint32 index = 5;
     */
    int getIndex();
  }
  /**
   * Protobuf type {@code CMsgTEDecal}
   */
  public static final class CMsgTEDecal extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEDecal)
      CMsgTEDecalOrBuilder {
    // Use CMsgTEDecal.newBuilder() to construct.
    private CMsgTEDecal(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEDecal(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEDecal getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEDecal(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = start_.toBuilder();
              }
              start_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(start_);
                start_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              entity_ = input.readUInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              hitbox_ = input.readUInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              index_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEDecal_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEDecal_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEDecal parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEDecal(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int START_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector start_;
    /**
     * optional .CMsgVector start = 2;
     */
    public boolean hasStart() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector start = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart() {
      return start_;
    }
    /**
     * optional .CMsgVector start = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder() {
      return start_;
    }

    public static final int ENTITY_FIELD_NUMBER = 3;
    private int entity_;
    /**
     * optional uint32 entity = 3;
     */
    public boolean hasEntity() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 entity = 3;
     */
    public int getEntity() {
      return entity_;
    }

    public static final int HITBOX_FIELD_NUMBER = 4;
    private int hitbox_;
    /**
     * optional uint32 hitbox = 4;
     */
    public boolean hasHitbox() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 hitbox = 4;
     */
    public int getHitbox() {
      return hitbox_;
    }

    public static final int INDEX_FIELD_NUMBER = 5;
    private int index_;
    /**
     * optional uint32 index = 5;
     */
    public boolean hasIndex() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint32 index = 5;
     */
    public int getIndex() {
      return index_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      entity_ = 0;
      hitbox_ = 0;
      index_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, start_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, entity_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, hitbox_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, index_);
      }
      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
          .computeMessageSize(2, start_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, entity_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, hitbox_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, index_);
      }
      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.s2.proto.S2TempEntities.CMsgTEDecal parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal 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.s2.proto.S2TempEntities.CMsgTEDecal parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal 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.s2.proto.S2TempEntities.CMsgTEDecal 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 CMsgTEDecal}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEDecal)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEDecal_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEDecal_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal.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();
          getStartFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (startBuilder_ == null) {
          start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          startBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        entity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        hitbox_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        index_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEDecal_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal(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;
        }
        if (startBuilder_ == null) {
          result.start_ = start_;
        } else {
          result.start_ = startBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.entity_ = entity_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.hitbox_ = hitbox_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.index_ = index_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasStart()) {
          mergeStart(other.getStart());
        }
        if (other.hasEntity()) {
          setEntity(other.getEntity());
        }
        if (other.hasHitbox()) {
          setHitbox(other.getHitbox());
        }
        if (other.hasIndex()) {
          setIndex(other.getIndex());
        }
        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.s2.proto.S2TempEntities.CMsgTEDecal parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDecal) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> startBuilder_;
      /**
       * optional .CMsgVector start = 2;
       */
      public boolean hasStart() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart() {
        if (startBuilder_ == null) {
          return start_;
        } else {
          return startBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder setStart(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (startBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          start_ = value;
          onChanged();
        } else {
          startBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder setStart(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (startBuilder_ == null) {
          start_ = builderForValue.build();
          onChanged();
        } else {
          startBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder mergeStart(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (startBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              start_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            start_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(start_).mergeFrom(value).buildPartial();
          } else {
            start_ = value;
          }
          onChanged();
        } else {
          startBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder clearStart() {
        if (startBuilder_ == null) {
          start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          startBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getStartBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getStartFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder() {
        if (startBuilder_ != null) {
          return startBuilder_.getMessageOrBuilder();
        } else {
          return start_;
        }
      }
      /**
       * optional .CMsgVector start = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getStartFieldBuilder() {
        if (startBuilder_ == null) {
          startBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getStart(),
                  getParentForChildren(),
                  isClean());
          start_ = null;
        }
        return startBuilder_;
      }

      private int entity_ ;
      /**
       * optional uint32 entity = 3;
       */
      public boolean hasEntity() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 entity = 3;
       */
      public int getEntity() {
        return entity_;
      }
      /**
       * optional uint32 entity = 3;
       */
      public Builder setEntity(int value) {
        bitField0_ |= 0x00000004;
        entity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 entity = 3;
       */
      public Builder clearEntity() {
        bitField0_ = (bitField0_ & ~0x00000004);
        entity_ = 0;
        onChanged();
        return this;
      }

      private int hitbox_ ;
      /**
       * optional uint32 hitbox = 4;
       */
      public boolean hasHitbox() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 hitbox = 4;
       */
      public int getHitbox() {
        return hitbox_;
      }
      /**
       * optional uint32 hitbox = 4;
       */
      public Builder setHitbox(int value) {
        bitField0_ |= 0x00000008;
        hitbox_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 hitbox = 4;
       */
      public Builder clearHitbox() {
        bitField0_ = (bitField0_ & ~0x00000008);
        hitbox_ = 0;
        onChanged();
        return this;
      }

      private int index_ ;
      /**
       * optional uint32 index = 5;
       */
      public boolean hasIndex() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint32 index = 5;
       */
      public int getIndex() {
        return index_;
      }
      /**
       * optional uint32 index = 5;
       */
      public Builder setIndex(int value) {
        bitField0_ |= 0x00000010;
        index_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 index = 5;
       */
      public Builder clearIndex() {
        bitField0_ = (bitField0_ & ~0x00000010);
        index_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEDecal)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEDecal)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgVector start = 2;
     */
    boolean hasStart();
    /**
     * optional .CMsgVector start = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart();
    /**
     * optional .CMsgVector start = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder();

    /**
     * optional .CMsgVector normal = 3;
     */
    boolean hasNormal();
    /**
     * optional .CMsgVector normal = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal();
    /**
     * optional .CMsgVector normal = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder();

    /**
     * optional .CMsgQAngle angles = 4;
     */
    boolean hasAngles();
    /**
     * optional .CMsgQAngle angles = 4;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles();
    /**
     * optional .CMsgQAngle angles = 4;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder();

    /**
     * optional fixed32 entity = 5;
     */
    boolean hasEntity();
    /**
     * optional fixed32 entity = 5;
     */
    int getEntity();

    /**
     * optional fixed32 otherentity = 6;
     */
    boolean hasOtherentity();
    /**
     * optional fixed32 otherentity = 6;
     */
    int getOtherentity();

    /**
     * optional float scale = 7;
     */
    boolean hasScale();
    /**
     * optional float scale = 7;
     */
    float getScale();

    /**
     * optional float magnitude = 8;
     */
    boolean hasMagnitude();
    /**
     * optional float magnitude = 8;
     */
    float getMagnitude();

    /**
     * optional float radius = 9;
     */
    boolean hasRadius();
    /**
     * optional float radius = 9;
     */
    float getRadius();

    /**
     * optional fixed32 surfaceprop = 10;
     */
    boolean hasSurfaceprop();
    /**
     * optional fixed32 surfaceprop = 10;
     */
    int getSurfaceprop();

    /**
     * optional fixed64 effectindex = 11;
     */
    boolean hasEffectindex();
    /**
     * optional fixed64 effectindex = 11;
     */
    long getEffectindex();

    /**
     * optional uint32 damagetype = 12;
     */
    boolean hasDamagetype();
    /**
     * optional uint32 damagetype = 12;
     */
    int getDamagetype();

    /**
     * optional uint32 material = 13;
     */
    boolean hasMaterial();
    /**
     * optional uint32 material = 13;
     */
    int getMaterial();

    /**
     * optional uint32 hitbox = 14;
     */
    boolean hasHitbox();
    /**
     * optional uint32 hitbox = 14;
     */
    int getHitbox();

    /**
     * optional uint32 color = 15;
     */
    boolean hasColor();
    /**
     * optional uint32 color = 15;
     */
    int getColor();

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

    /**
     * optional int32 attachmentindex = 17;
     */
    boolean hasAttachmentindex();
    /**
     * optional int32 attachmentindex = 17;
     */
    int getAttachmentindex();

    /**
     * optional uint32 effectname = 18;
     */
    boolean hasEffectname();
    /**
     * optional uint32 effectname = 18;
     */
    int getEffectname();

    /**
     * optional uint32 attachmentname = 19;
     */
    boolean hasAttachmentname();
    /**
     * optional uint32 attachmentname = 19;
     */
    int getAttachmentname();
  }
  /**
   * Protobuf type {@code CMsgEffectData}
   */
  public static final class CMsgEffectData extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgEffectData)
      CMsgEffectDataOrBuilder {
    // Use CMsgEffectData.newBuilder() to construct.
    private CMsgEffectData(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgEffectData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgEffectData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgEffectData(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = start_.toBuilder();
              }
              start_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(start_);
                start_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = normal_.toBuilder();
              }
              normal_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(normal_);
                normal_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = angles_.toBuilder();
              }
              angles_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angles_);
                angles_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 45: {
              bitField0_ |= 0x00000010;
              entity_ = input.readFixed32();
              break;
            }
            case 53: {
              bitField0_ |= 0x00000020;
              otherentity_ = input.readFixed32();
              break;
            }
            case 61: {
              bitField0_ |= 0x00000040;
              scale_ = input.readFloat();
              break;
            }
            case 69: {
              bitField0_ |= 0x00000080;
              magnitude_ = input.readFloat();
              break;
            }
            case 77: {
              bitField0_ |= 0x00000100;
              radius_ = input.readFloat();
              break;
            }
            case 85: {
              bitField0_ |= 0x00000200;
              surfaceprop_ = input.readFixed32();
              break;
            }
            case 89: {
              bitField0_ |= 0x00000400;
              effectindex_ = input.readFixed64();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000800;
              damagetype_ = input.readUInt32();
              break;
            }
            case 104: {
              bitField0_ |= 0x00001000;
              material_ = input.readUInt32();
              break;
            }
            case 112: {
              bitField0_ |= 0x00002000;
              hitbox_ = input.readUInt32();
              break;
            }
            case 120: {
              bitField0_ |= 0x00004000;
              color_ = input.readUInt32();
              break;
            }
            case 128: {
              bitField0_ |= 0x00008000;
              flags_ = input.readUInt32();
              break;
            }
            case 136: {
              bitField0_ |= 0x00010000;
              attachmentindex_ = input.readInt32();
              break;
            }
            case 144: {
              bitField0_ |= 0x00020000;
              effectname_ = input.readUInt32();
              break;
            }
            case 152: {
              bitField0_ |= 0x00040000;
              attachmentname_ = 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.s2.proto.S2TempEntities.internal_static_CMsgEffectData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgEffectData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgEffectData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgEffectData(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int START_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector start_;
    /**
     * optional .CMsgVector start = 2;
     */
    public boolean hasStart() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector start = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart() {
      return start_;
    }
    /**
     * optional .CMsgVector start = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder() {
      return start_;
    }

    public static final int NORMAL_FIELD_NUMBER = 3;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector normal_;
    /**
     * optional .CMsgVector normal = 3;
     */
    public boolean hasNormal() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CMsgVector normal = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal() {
      return normal_;
    }
    /**
     * optional .CMsgVector normal = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder() {
      return normal_;
    }

    public static final int ANGLES_FIELD_NUMBER = 4;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_;
    /**
     * optional .CMsgQAngle angles = 4;
     */
    public boolean hasAngles() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional .CMsgQAngle angles = 4;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
      return angles_;
    }
    /**
     * optional .CMsgQAngle angles = 4;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
      return angles_;
    }

    public static final int ENTITY_FIELD_NUMBER = 5;
    private int entity_;
    /**
     * optional fixed32 entity = 5;
     */
    public boolean hasEntity() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional fixed32 entity = 5;
     */
    public int getEntity() {
      return entity_;
    }

    public static final int OTHERENTITY_FIELD_NUMBER = 6;
    private int otherentity_;
    /**
     * optional fixed32 otherentity = 6;
     */
    public boolean hasOtherentity() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional fixed32 otherentity = 6;
     */
    public int getOtherentity() {
      return otherentity_;
    }

    public static final int SCALE_FIELD_NUMBER = 7;
    private float scale_;
    /**
     * optional float scale = 7;
     */
    public boolean hasScale() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional float scale = 7;
     */
    public float getScale() {
      return scale_;
    }

    public static final int MAGNITUDE_FIELD_NUMBER = 8;
    private float magnitude_;
    /**
     * optional float magnitude = 8;
     */
    public boolean hasMagnitude() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional float magnitude = 8;
     */
    public float getMagnitude() {
      return magnitude_;
    }

    public static final int RADIUS_FIELD_NUMBER = 9;
    private float radius_;
    /**
     * optional float radius = 9;
     */
    public boolean hasRadius() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional float radius = 9;
     */
    public float getRadius() {
      return radius_;
    }

    public static final int SURFACEPROP_FIELD_NUMBER = 10;
    private int surfaceprop_;
    /**
     * optional fixed32 surfaceprop = 10;
     */
    public boolean hasSurfaceprop() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional fixed32 surfaceprop = 10;
     */
    public int getSurfaceprop() {
      return surfaceprop_;
    }

    public static final int EFFECTINDEX_FIELD_NUMBER = 11;
    private long effectindex_;
    /**
     * optional fixed64 effectindex = 11;
     */
    public boolean hasEffectindex() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * optional fixed64 effectindex = 11;
     */
    public long getEffectindex() {
      return effectindex_;
    }

    public static final int DAMAGETYPE_FIELD_NUMBER = 12;
    private int damagetype_;
    /**
     * optional uint32 damagetype = 12;
     */
    public boolean hasDamagetype() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * optional uint32 damagetype = 12;
     */
    public int getDamagetype() {
      return damagetype_;
    }

    public static final int MATERIAL_FIELD_NUMBER = 13;
    private int material_;
    /**
     * optional uint32 material = 13;
     */
    public boolean hasMaterial() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * optional uint32 material = 13;
     */
    public int getMaterial() {
      return material_;
    }

    public static final int HITBOX_FIELD_NUMBER = 14;
    private int hitbox_;
    /**
     * optional uint32 hitbox = 14;
     */
    public boolean hasHitbox() {
      return ((bitField0_ & 0x00002000) == 0x00002000);
    }
    /**
     * optional uint32 hitbox = 14;
     */
    public int getHitbox() {
      return hitbox_;
    }

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

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

    public static final int ATTACHMENTINDEX_FIELD_NUMBER = 17;
    private int attachmentindex_;
    /**
     * optional int32 attachmentindex = 17;
     */
    public boolean hasAttachmentindex() {
      return ((bitField0_ & 0x00010000) == 0x00010000);
    }
    /**
     * optional int32 attachmentindex = 17;
     */
    public int getAttachmentindex() {
      return attachmentindex_;
    }

    public static final int EFFECTNAME_FIELD_NUMBER = 18;
    private int effectname_;
    /**
     * optional uint32 effectname = 18;
     */
    public boolean hasEffectname() {
      return ((bitField0_ & 0x00020000) == 0x00020000);
    }
    /**
     * optional uint32 effectname = 18;
     */
    public int getEffectname() {
      return effectname_;
    }

    public static final int ATTACHMENTNAME_FIELD_NUMBER = 19;
    private int attachmentname_;
    /**
     * optional uint32 attachmentname = 19;
     */
    public boolean hasAttachmentname() {
      return ((bitField0_ & 0x00040000) == 0x00040000);
    }
    /**
     * optional uint32 attachmentname = 19;
     */
    public int getAttachmentname() {
      return attachmentname_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      entity_ = 0;
      otherentity_ = 0;
      scale_ = 0F;
      magnitude_ = 0F;
      radius_ = 0F;
      surfaceprop_ = 0;
      effectindex_ = 0L;
      damagetype_ = 0;
      material_ = 0;
      hitbox_ = 0;
      color_ = 0;
      flags_ = 0;
      attachmentindex_ = 0;
      effectname_ = 0;
      attachmentname_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, start_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, normal_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, angles_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFixed32(5, entity_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeFixed32(6, otherentity_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeFloat(7, scale_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeFloat(8, magnitude_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeFloat(9, radius_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeFixed32(10, surfaceprop_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeFixed64(11, effectindex_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeUInt32(12, damagetype_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeUInt32(13, material_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        output.writeUInt32(14, hitbox_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        output.writeUInt32(15, color_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        output.writeUInt32(16, flags_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        output.writeInt32(17, attachmentindex_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        output.writeUInt32(18, effectname_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        output.writeUInt32(19, attachmentname_);
      }
      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
          .computeMessageSize(2, start_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, normal_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, angles_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(5, entity_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(6, otherentity_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(7, scale_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(8, magnitude_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(9, radius_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(10, surfaceprop_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(11, effectindex_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(12, damagetype_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(13, material_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(14, hitbox_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(15, color_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(16, flags_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(17, attachmentindex_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(18, effectname_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(19, attachmentname_);
      }
      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.s2.proto.S2TempEntities.CMsgEffectData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData 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.s2.proto.S2TempEntities.CMsgEffectData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData 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.s2.proto.S2TempEntities.CMsgEffectData 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 CMsgEffectData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgEffectData)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgEffectData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgEffectData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.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();
          getStartFieldBuilder();
          getNormalFieldBuilder();
          getAnglesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (startBuilder_ == null) {
          start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          startBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (normalBuilder_ == null) {
          normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          normalBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        entity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        otherentity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        scale_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000040);
        magnitude_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000080);
        radius_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000100);
        surfaceprop_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        effectindex_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000400);
        damagetype_ = 0;
        bitField0_ = (bitField0_ & ~0x00000800);
        material_ = 0;
        bitField0_ = (bitField0_ & ~0x00001000);
        hitbox_ = 0;
        bitField0_ = (bitField0_ & ~0x00002000);
        color_ = 0;
        bitField0_ = (bitField0_ & ~0x00004000);
        flags_ = 0;
        bitField0_ = (bitField0_ & ~0x00008000);
        attachmentindex_ = 0;
        bitField0_ = (bitField0_ & ~0x00010000);
        effectname_ = 0;
        bitField0_ = (bitField0_ & ~0x00020000);
        attachmentname_ = 0;
        bitField0_ = (bitField0_ & ~0x00040000);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgEffectData_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData(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;
        }
        if (startBuilder_ == null) {
          result.start_ = start_;
        } else {
          result.start_ = startBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (normalBuilder_ == null) {
          result.normal_ = normal_;
        } else {
          result.normal_ = normalBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (anglesBuilder_ == null) {
          result.angles_ = angles_;
        } else {
          result.angles_ = anglesBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.entity_ = entity_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.otherentity_ = otherentity_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.scale_ = scale_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.magnitude_ = magnitude_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.radius_ = radius_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.surfaceprop_ = surfaceprop_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.effectindex_ = effectindex_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.damagetype_ = damagetype_;
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.material_ = material_;
        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
          to_bitField0_ |= 0x00002000;
        }
        result.hitbox_ = hitbox_;
        if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
          to_bitField0_ |= 0x00004000;
        }
        result.color_ = color_;
        if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
          to_bitField0_ |= 0x00008000;
        }
        result.flags_ = flags_;
        if (((from_bitField0_ & 0x00010000) == 0x00010000)) {
          to_bitField0_ |= 0x00010000;
        }
        result.attachmentindex_ = attachmentindex_;
        if (((from_bitField0_ & 0x00020000) == 0x00020000)) {
          to_bitField0_ |= 0x00020000;
        }
        result.effectname_ = effectname_;
        if (((from_bitField0_ & 0x00040000) == 0x00040000)) {
          to_bitField0_ |= 0x00040000;
        }
        result.attachmentname_ = attachmentname_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasStart()) {
          mergeStart(other.getStart());
        }
        if (other.hasNormal()) {
          mergeNormal(other.getNormal());
        }
        if (other.hasAngles()) {
          mergeAngles(other.getAngles());
        }
        if (other.hasEntity()) {
          setEntity(other.getEntity());
        }
        if (other.hasOtherentity()) {
          setOtherentity(other.getOtherentity());
        }
        if (other.hasScale()) {
          setScale(other.getScale());
        }
        if (other.hasMagnitude()) {
          setMagnitude(other.getMagnitude());
        }
        if (other.hasRadius()) {
          setRadius(other.getRadius());
        }
        if (other.hasSurfaceprop()) {
          setSurfaceprop(other.getSurfaceprop());
        }
        if (other.hasEffectindex()) {
          setEffectindex(other.getEffectindex());
        }
        if (other.hasDamagetype()) {
          setDamagetype(other.getDamagetype());
        }
        if (other.hasMaterial()) {
          setMaterial(other.getMaterial());
        }
        if (other.hasHitbox()) {
          setHitbox(other.getHitbox());
        }
        if (other.hasColor()) {
          setColor(other.getColor());
        }
        if (other.hasFlags()) {
          setFlags(other.getFlags());
        }
        if (other.hasAttachmentindex()) {
          setAttachmentindex(other.getAttachmentindex());
        }
        if (other.hasEffectname()) {
          setEffectname(other.getEffectname());
        }
        if (other.hasAttachmentname()) {
          setAttachmentname(other.getAttachmentname());
        }
        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.s2.proto.S2TempEntities.CMsgEffectData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> startBuilder_;
      /**
       * optional .CMsgVector start = 2;
       */
      public boolean hasStart() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getStart() {
        if (startBuilder_ == null) {
          return start_;
        } else {
          return startBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder setStart(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (startBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          start_ = value;
          onChanged();
        } else {
          startBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder setStart(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (startBuilder_ == null) {
          start_ = builderForValue.build();
          onChanged();
        } else {
          startBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder mergeStart(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (startBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              start_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            start_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(start_).mergeFrom(value).buildPartial();
          } else {
            start_ = value;
          }
          onChanged();
        } else {
          startBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public Builder clearStart() {
        if (startBuilder_ == null) {
          start_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          startBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getStartBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getStartFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector start = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getStartOrBuilder() {
        if (startBuilder_ != null) {
          return startBuilder_.getMessageOrBuilder();
        } else {
          return start_;
        }
      }
      /**
       * optional .CMsgVector start = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getStartFieldBuilder() {
        if (startBuilder_ == null) {
          startBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getStart(),
                  getParentForChildren(),
                  isClean());
          start_ = null;
        }
        return startBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> normalBuilder_;
      /**
       * optional .CMsgVector normal = 3;
       */
      public boolean hasNormal() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CMsgVector normal = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal() {
        if (normalBuilder_ == null) {
          return normal_;
        } else {
          return normalBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector normal = 3;
       */
      public Builder setNormal(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (normalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          normal_ = value;
          onChanged();
        } else {
          normalBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector normal = 3;
       */
      public Builder setNormal(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (normalBuilder_ == null) {
          normal_ = builderForValue.build();
          onChanged();
        } else {
          normalBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector normal = 3;
       */
      public Builder mergeNormal(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (normalBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              normal_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            normal_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(normal_).mergeFrom(value).buildPartial();
          } else {
            normal_ = value;
          }
          onChanged();
        } else {
          normalBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector normal = 3;
       */
      public Builder clearNormal() {
        if (normalBuilder_ == null) {
          normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          normalBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CMsgVector normal = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getNormalBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getNormalFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector normal = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder() {
        if (normalBuilder_ != null) {
          return normalBuilder_.getMessageOrBuilder();
        } else {
          return normal_;
        }
      }
      /**
       * optional .CMsgVector normal = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getNormalFieldBuilder() {
        if (normalBuilder_ == null) {
          normalBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getNormal(),
                  getParentForChildren(),
                  isClean());
          normal_ = null;
        }
        return normalBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> anglesBuilder_;
      /**
       * optional .CMsgQAngle angles = 4;
       */
      public boolean hasAngles() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional .CMsgQAngle angles = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
        if (anglesBuilder_ == null) {
          return angles_;
        } else {
          return anglesBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQAngle angles = 4;
       */
      public Builder setAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angles_ = value;
          onChanged();
        } else {
          anglesBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 4;
       */
      public Builder setAngles(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder builderForValue) {
        if (anglesBuilder_ == null) {
          angles_ = builderForValue.build();
          onChanged();
        } else {
          anglesBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 4;
       */
      public Builder mergeAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              angles_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance()) {
            angles_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.newBuilder(angles_).mergeFrom(value).buildPartial();
          } else {
            angles_ = value;
          }
          onChanged();
        } else {
          anglesBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 4;
       */
      public Builder clearAngles() {
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
          onChanged();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder getAnglesBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getAnglesFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQAngle angles = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
        if (anglesBuilder_ != null) {
          return anglesBuilder_.getMessageOrBuilder();
        } else {
          return angles_;
        }
      }
      /**
       * optional .CMsgQAngle angles = 4;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> 
          getAnglesFieldBuilder() {
        if (anglesBuilder_ == null) {
          anglesBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder>(
                  getAngles(),
                  getParentForChildren(),
                  isClean());
          angles_ = null;
        }
        return anglesBuilder_;
      }

      private int entity_ ;
      /**
       * optional fixed32 entity = 5;
       */
      public boolean hasEntity() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional fixed32 entity = 5;
       */
      public int getEntity() {
        return entity_;
      }
      /**
       * optional fixed32 entity = 5;
       */
      public Builder setEntity(int value) {
        bitField0_ |= 0x00000010;
        entity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 entity = 5;
       */
      public Builder clearEntity() {
        bitField0_ = (bitField0_ & ~0x00000010);
        entity_ = 0;
        onChanged();
        return this;
      }

      private int otherentity_ ;
      /**
       * optional fixed32 otherentity = 6;
       */
      public boolean hasOtherentity() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional fixed32 otherentity = 6;
       */
      public int getOtherentity() {
        return otherentity_;
      }
      /**
       * optional fixed32 otherentity = 6;
       */
      public Builder setOtherentity(int value) {
        bitField0_ |= 0x00000020;
        otherentity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 otherentity = 6;
       */
      public Builder clearOtherentity() {
        bitField0_ = (bitField0_ & ~0x00000020);
        otherentity_ = 0;
        onChanged();
        return this;
      }

      private float scale_ ;
      /**
       * optional float scale = 7;
       */
      public boolean hasScale() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional float scale = 7;
       */
      public float getScale() {
        return scale_;
      }
      /**
       * optional float scale = 7;
       */
      public Builder setScale(float value) {
        bitField0_ |= 0x00000040;
        scale_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float scale = 7;
       */
      public Builder clearScale() {
        bitField0_ = (bitField0_ & ~0x00000040);
        scale_ = 0F;
        onChanged();
        return this;
      }

      private float magnitude_ ;
      /**
       * optional float magnitude = 8;
       */
      public boolean hasMagnitude() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional float magnitude = 8;
       */
      public float getMagnitude() {
        return magnitude_;
      }
      /**
       * optional float magnitude = 8;
       */
      public Builder setMagnitude(float value) {
        bitField0_ |= 0x00000080;
        magnitude_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float magnitude = 8;
       */
      public Builder clearMagnitude() {
        bitField0_ = (bitField0_ & ~0x00000080);
        magnitude_ = 0F;
        onChanged();
        return this;
      }

      private float radius_ ;
      /**
       * optional float radius = 9;
       */
      public boolean hasRadius() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional float radius = 9;
       */
      public float getRadius() {
        return radius_;
      }
      /**
       * optional float radius = 9;
       */
      public Builder setRadius(float value) {
        bitField0_ |= 0x00000100;
        radius_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float radius = 9;
       */
      public Builder clearRadius() {
        bitField0_ = (bitField0_ & ~0x00000100);
        radius_ = 0F;
        onChanged();
        return this;
      }

      private int surfaceprop_ ;
      /**
       * optional fixed32 surfaceprop = 10;
       */
      public boolean hasSurfaceprop() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional fixed32 surfaceprop = 10;
       */
      public int getSurfaceprop() {
        return surfaceprop_;
      }
      /**
       * optional fixed32 surfaceprop = 10;
       */
      public Builder setSurfaceprop(int value) {
        bitField0_ |= 0x00000200;
        surfaceprop_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 surfaceprop = 10;
       */
      public Builder clearSurfaceprop() {
        bitField0_ = (bitField0_ & ~0x00000200);
        surfaceprop_ = 0;
        onChanged();
        return this;
      }

      private long effectindex_ ;
      /**
       * optional fixed64 effectindex = 11;
       */
      public boolean hasEffectindex() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * optional fixed64 effectindex = 11;
       */
      public long getEffectindex() {
        return effectindex_;
      }
      /**
       * optional fixed64 effectindex = 11;
       */
      public Builder setEffectindex(long value) {
        bitField0_ |= 0x00000400;
        effectindex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 effectindex = 11;
       */
      public Builder clearEffectindex() {
        bitField0_ = (bitField0_ & ~0x00000400);
        effectindex_ = 0L;
        onChanged();
        return this;
      }

      private int damagetype_ ;
      /**
       * optional uint32 damagetype = 12;
       */
      public boolean hasDamagetype() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * optional uint32 damagetype = 12;
       */
      public int getDamagetype() {
        return damagetype_;
      }
      /**
       * optional uint32 damagetype = 12;
       */
      public Builder setDamagetype(int value) {
        bitField0_ |= 0x00000800;
        damagetype_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 damagetype = 12;
       */
      public Builder clearDamagetype() {
        bitField0_ = (bitField0_ & ~0x00000800);
        damagetype_ = 0;
        onChanged();
        return this;
      }

      private int material_ ;
      /**
       * optional uint32 material = 13;
       */
      public boolean hasMaterial() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * optional uint32 material = 13;
       */
      public int getMaterial() {
        return material_;
      }
      /**
       * optional uint32 material = 13;
       */
      public Builder setMaterial(int value) {
        bitField0_ |= 0x00001000;
        material_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 material = 13;
       */
      public Builder clearMaterial() {
        bitField0_ = (bitField0_ & ~0x00001000);
        material_ = 0;
        onChanged();
        return this;
      }

      private int hitbox_ ;
      /**
       * optional uint32 hitbox = 14;
       */
      public boolean hasHitbox() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * optional uint32 hitbox = 14;
       */
      public int getHitbox() {
        return hitbox_;
      }
      /**
       * optional uint32 hitbox = 14;
       */
      public Builder setHitbox(int value) {
        bitField0_ |= 0x00002000;
        hitbox_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 hitbox = 14;
       */
      public Builder clearHitbox() {
        bitField0_ = (bitField0_ & ~0x00002000);
        hitbox_ = 0;
        onChanged();
        return this;
      }

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

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

      private int attachmentindex_ ;
      /**
       * optional int32 attachmentindex = 17;
       */
      public boolean hasAttachmentindex() {
        return ((bitField0_ & 0x00010000) == 0x00010000);
      }
      /**
       * optional int32 attachmentindex = 17;
       */
      public int getAttachmentindex() {
        return attachmentindex_;
      }
      /**
       * optional int32 attachmentindex = 17;
       */
      public Builder setAttachmentindex(int value) {
        bitField0_ |= 0x00010000;
        attachmentindex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 attachmentindex = 17;
       */
      public Builder clearAttachmentindex() {
        bitField0_ = (bitField0_ & ~0x00010000);
        attachmentindex_ = 0;
        onChanged();
        return this;
      }

      private int effectname_ ;
      /**
       * optional uint32 effectname = 18;
       */
      public boolean hasEffectname() {
        return ((bitField0_ & 0x00020000) == 0x00020000);
      }
      /**
       * optional uint32 effectname = 18;
       */
      public int getEffectname() {
        return effectname_;
      }
      /**
       * optional uint32 effectname = 18;
       */
      public Builder setEffectname(int value) {
        bitField0_ |= 0x00020000;
        effectname_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 effectname = 18;
       */
      public Builder clearEffectname() {
        bitField0_ = (bitField0_ & ~0x00020000);
        effectname_ = 0;
        onChanged();
        return this;
      }

      private int attachmentname_ ;
      /**
       * optional uint32 attachmentname = 19;
       */
      public boolean hasAttachmentname() {
        return ((bitField0_ & 0x00040000) == 0x00040000);
      }
      /**
       * optional uint32 attachmentname = 19;
       */
      public int getAttachmentname() {
        return attachmentname_;
      }
      /**
       * optional uint32 attachmentname = 19;
       */
      public Builder setAttachmentname(int value) {
        bitField0_ |= 0x00040000;
        attachmentname_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 attachmentname = 19;
       */
      public Builder clearAttachmentname() {
        bitField0_ = (bitField0_ & ~0x00040000);
        attachmentname_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgEffectData)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgEffectData)
  }

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

    /**
     * optional .CMsgEffectData effectdata = 1;
     */
    boolean hasEffectdata();
    /**
     * optional .CMsgEffectData effectdata = 1;
     */
    skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData getEffectdata();
    /**
     * optional .CMsgEffectData effectdata = 1;
     */
    skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectDataOrBuilder getEffectdataOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgTEEffectDispatch}
   */
  public static final class CMsgTEEffectDispatch extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEEffectDispatch)
      CMsgTEEffectDispatchOrBuilder {
    // Use CMsgTEEffectDispatch.newBuilder() to construct.
    private CMsgTEEffectDispatch(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEEffectDispatch(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEEffectDispatch getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEEffectDispatch(
        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.s2.proto.S2TempEntities.CMsgEffectData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = effectdata_.toBuilder();
              }
              effectdata_ = input.readMessage(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(effectdata_);
                effectdata_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEEffectDispatch_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEEffectDispatch_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int EFFECTDATA_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData effectdata_;
    /**
     * optional .CMsgEffectData effectdata = 1;
     */
    public boolean hasEffectdata() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgEffectData effectdata = 1;
     */
    public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData getEffectdata() {
      return effectdata_;
    }
    /**
     * optional .CMsgEffectData effectdata = 1;
     */
    public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectDataOrBuilder getEffectdataOrBuilder() {
      return effectdata_;
    }

    private void initFields() {
      effectdata_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.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, effectdata_);
      }
      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, effectdata_);
      }
      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.s2.proto.S2TempEntities.CMsgTEEffectDispatch parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch 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.s2.proto.S2TempEntities.CMsgTEEffectDispatch parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch 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.s2.proto.S2TempEntities.CMsgTEEffectDispatch 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 CMsgTEEffectDispatch}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEEffectDispatch)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatchOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEEffectDispatch_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEEffectDispatch_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (effectdataBuilder_ == null) {
          effectdata_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.getDefaultInstance();
        } else {
          effectdataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEEffectDispatch_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (effectdataBuilder_ == null) {
          result.effectdata_ = effectdata_;
        } else {
          result.effectdata_ = effectdataBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch.getDefaultInstance()) return this;
        if (other.hasEffectdata()) {
          mergeEffectdata(other.getEffectdata());
        }
        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.s2.proto.S2TempEntities.CMsgTEEffectDispatch parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEffectDispatch) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData effectdata_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectDataOrBuilder> effectdataBuilder_;
      /**
       * optional .CMsgEffectData effectdata = 1;
       */
      public boolean hasEffectdata() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgEffectData effectdata = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData getEffectdata() {
        if (effectdataBuilder_ == null) {
          return effectdata_;
        } else {
          return effectdataBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgEffectData effectdata = 1;
       */
      public Builder setEffectdata(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData value) {
        if (effectdataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          effectdata_ = value;
          onChanged();
        } else {
          effectdataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgEffectData effectdata = 1;
       */
      public Builder setEffectdata(
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.Builder builderForValue) {
        if (effectdataBuilder_ == null) {
          effectdata_ = builderForValue.build();
          onChanged();
        } else {
          effectdataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgEffectData effectdata = 1;
       */
      public Builder mergeEffectdata(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData value) {
        if (effectdataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              effectdata_ != skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.getDefaultInstance()) {
            effectdata_ =
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.newBuilder(effectdata_).mergeFrom(value).buildPartial();
          } else {
            effectdata_ = value;
          }
          onChanged();
        } else {
          effectdataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgEffectData effectdata = 1;
       */
      public Builder clearEffectdata() {
        if (effectdataBuilder_ == null) {
          effectdata_ = skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.getDefaultInstance();
          onChanged();
        } else {
          effectdataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgEffectData effectdata = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.Builder getEffectdataBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getEffectdataFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgEffectData effectdata = 1;
       */
      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectDataOrBuilder getEffectdataOrBuilder() {
        if (effectdataBuilder_ != null) {
          return effectdataBuilder_.getMessageOrBuilder();
        } else {
          return effectdata_;
        }
      }
      /**
       * optional .CMsgEffectData effectdata = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectDataOrBuilder> 
          getEffectdataFieldBuilder() {
        if (effectdataBuilder_ == null) {
          effectdataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectData.Builder, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgEffectDataOrBuilder>(
                  getEffectdata(),
                  getParentForChildren(),
                  isClean());
          effectdata_ = null;
        }
        return effectdataBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEEffectDispatch)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEEffectDispatch)
  }

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

    /**
     * optional .CMsgVector pos = 1;
     */
    boolean hasPos();
    /**
     * optional .CMsgVector pos = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getPos();
    /**
     * optional .CMsgVector pos = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getPosOrBuilder();

    /**
     * optional .CMsgVector dir = 2;
     */
    boolean hasDir();
    /**
     * optional .CMsgVector dir = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getDir();
    /**
     * optional .CMsgVector dir = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getDirOrBuilder();

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

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

    public CMsgTEEnergySplash getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEEnergySplash(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = pos_.toBuilder();
              }
              pos_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(pos_);
                pos_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = dir_.toBuilder();
              }
              dir_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(dir_);
                dir_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              explosive_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEEnergySplash_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEEnergySplash_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int POS_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector pos_;
    /**
     * optional .CMsgVector pos = 1;
     */
    public boolean hasPos() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector pos = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getPos() {
      return pos_;
    }
    /**
     * optional .CMsgVector pos = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getPosOrBuilder() {
      return pos_;
    }

    public static final int DIR_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector dir_;
    /**
     * optional .CMsgVector dir = 2;
     */
    public boolean hasDir() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector dir = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getDir() {
      return dir_;
    }
    /**
     * optional .CMsgVector dir = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getDirOrBuilder() {
      return dir_;
    }

    public static final int EXPLOSIVE_FIELD_NUMBER = 3;
    private boolean explosive_;
    /**
     * optional bool explosive = 3;
     */
    public boolean hasExplosive() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool explosive = 3;
     */
    public boolean getExplosive() {
      return explosive_;
    }

    private void initFields() {
      pos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      dir_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      explosive_ = 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.writeMessage(1, pos_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, dir_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, explosive_);
      }
      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, pos_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, dir_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, explosive_);
      }
      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.s2.proto.S2TempEntities.CMsgTEEnergySplash parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash 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.s2.proto.S2TempEntities.CMsgTEEnergySplash parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash 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.s2.proto.S2TempEntities.CMsgTEEnergySplash 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 CMsgTEEnergySplash}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEEnergySplash)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplashOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEEnergySplash_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEEnergySplash_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (posBuilder_ == null) {
          pos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          posBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (dirBuilder_ == null) {
          dir_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          dirBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        explosive_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEEnergySplash_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (posBuilder_ == null) {
          result.pos_ = pos_;
        } else {
          result.pos_ = posBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (dirBuilder_ == null) {
          result.dir_ = dir_;
        } else {
          result.dir_ = dirBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.explosive_ = explosive_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash.getDefaultInstance()) return this;
        if (other.hasPos()) {
          mergePos(other.getPos());
        }
        if (other.hasDir()) {
          mergeDir(other.getDir());
        }
        if (other.hasExplosive()) {
          setExplosive(other.getExplosive());
        }
        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.s2.proto.S2TempEntities.CMsgTEEnergySplash parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEEnergySplash) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector pos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> posBuilder_;
      /**
       * optional .CMsgVector pos = 1;
       */
      public boolean hasPos() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getPos() {
        if (posBuilder_ == null) {
          return pos_;
        } else {
          return posBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder setPos(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (posBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          pos_ = value;
          onChanged();
        } else {
          posBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder setPos(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (posBuilder_ == null) {
          pos_ = builderForValue.build();
          onChanged();
        } else {
          posBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder mergePos(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (posBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              pos_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            pos_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(pos_).mergeFrom(value).buildPartial();
          } else {
            pos_ = value;
          }
          onChanged();
        } else {
          posBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder clearPos() {
        if (posBuilder_ == null) {
          pos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          posBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getPosBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getPosFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getPosOrBuilder() {
        if (posBuilder_ != null) {
          return posBuilder_.getMessageOrBuilder();
        } else {
          return pos_;
        }
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getPosFieldBuilder() {
        if (posBuilder_ == null) {
          posBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getPos(),
                  getParentForChildren(),
                  isClean());
          pos_ = null;
        }
        return posBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector dir_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> dirBuilder_;
      /**
       * optional .CMsgVector dir = 2;
       */
      public boolean hasDir() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getDir() {
        if (dirBuilder_ == null) {
          return dir_;
        } else {
          return dirBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public Builder setDir(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (dirBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          dir_ = value;
          onChanged();
        } else {
          dirBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public Builder setDir(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (dirBuilder_ == null) {
          dir_ = builderForValue.build();
          onChanged();
        } else {
          dirBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public Builder mergeDir(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (dirBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              dir_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            dir_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(dir_).mergeFrom(value).buildPartial();
          } else {
            dir_ = value;
          }
          onChanged();
        } else {
          dirBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public Builder clearDir() {
        if (dirBuilder_ == null) {
          dir_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          dirBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getDirBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getDirFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getDirOrBuilder() {
        if (dirBuilder_ != null) {
          return dirBuilder_.getMessageOrBuilder();
        } else {
          return dir_;
        }
      }
      /**
       * optional .CMsgVector dir = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getDirFieldBuilder() {
        if (dirBuilder_ == null) {
          dirBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getDir(),
                  getParentForChildren(),
                  isClean());
          dir_ = null;
        }
        return dirBuilder_;
      }

      private boolean explosive_ ;
      /**
       * optional bool explosive = 3;
       */
      public boolean hasExplosive() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool explosive = 3;
       */
      public boolean getExplosive() {
        return explosive_;
      }
      /**
       * optional bool explosive = 3;
       */
      public Builder setExplosive(boolean value) {
        bitField0_ |= 0x00000004;
        explosive_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool explosive = 3;
       */
      public Builder clearExplosive() {
        bitField0_ = (bitField0_ & ~0x00000004);
        explosive_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEEnergySplash)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEEnergySplash)
  }

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

    /**
     * optional uint32 entity = 1;
     */
    boolean hasEntity();
    /**
     * optional uint32 entity = 1;
     */
    int getEntity();

    /**
     * optional uint32 density = 2;
     */
    boolean hasDensity();
    /**
     * optional uint32 density = 2;
     */
    int getDensity();

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

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

    public CMsgTEFizz getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEFizz(
        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;
              entity_ = input.readUInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              density_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              current_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEFizz_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEFizz_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz.Builder.class);
    }

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

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

    private int bitField0_;
    public static final int ENTITY_FIELD_NUMBER = 1;
    private int entity_;
    /**
     * optional uint32 entity = 1;
     */
    public boolean hasEntity() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 entity = 1;
     */
    public int getEntity() {
      return entity_;
    }

    public static final int DENSITY_FIELD_NUMBER = 2;
    private int density_;
    /**
     * optional uint32 density = 2;
     */
    public boolean hasDensity() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 density = 2;
     */
    public int getDensity() {
      return density_;
    }

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

    private void initFields() {
      entity_ = 0;
      density_ = 0;
      current_ = 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, entity_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, density_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, 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
          .computeUInt32Size(1, entity_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, density_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, 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.s2.proto.S2TempEntities.CMsgTEFizz parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz 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.s2.proto.S2TempEntities.CMsgTEFizz parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz 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.s2.proto.S2TempEntities.CMsgTEFizz 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 CMsgTEFizz}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEFizz)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizzOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEFizz_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEFizz_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz.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();
        entity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        density_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        current_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEFizz_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.entity_ = entity_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.density_ = density_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.current_ = current_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz.getDefaultInstance()) return this;
        if (other.hasEntity()) {
          setEntity(other.getEntity());
        }
        if (other.hasDensity()) {
          setDensity(other.getDensity());
        }
        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.s2.proto.S2TempEntities.CMsgTEFizz parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEFizz) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int entity_ ;
      /**
       * optional uint32 entity = 1;
       */
      public boolean hasEntity() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 entity = 1;
       */
      public int getEntity() {
        return entity_;
      }
      /**
       * optional uint32 entity = 1;
       */
      public Builder setEntity(int value) {
        bitField0_ |= 0x00000001;
        entity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 entity = 1;
       */
      public Builder clearEntity() {
        bitField0_ = (bitField0_ & ~0x00000001);
        entity_ = 0;
        onChanged();
        return this;
      }

      private int density_ ;
      /**
       * optional uint32 density = 2;
       */
      public boolean hasDensity() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 density = 2;
       */
      public int getDensity() {
        return density_;
      }
      /**
       * optional uint32 density = 2;
       */
      public Builder setDensity(int value) {
        bitField0_ |= 0x00000002;
        density_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 density = 2;
       */
      public Builder clearDensity() {
        bitField0_ = (bitField0_ & ~0x00000002);
        density_ = 0;
        onChanged();
        return this;
      }

      private int current_ ;
      /**
       * optional int32 current = 3;
       */
      public boolean hasCurrent() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 current = 3;
       */
      public int getCurrent() {
        return current_;
      }
      /**
       * optional int32 current = 3;
       */
      public Builder setCurrent(int value) {
        bitField0_ |= 0x00000004;
        current_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 current = 3;
       */
      public Builder clearCurrent() {
        bitField0_ = (bitField0_ & ~0x00000004);
        current_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEFizz)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEFizz)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgQAngle angles = 2;
     */
    boolean hasAngles();
    /**
     * optional .CMsgQAngle angles = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles();
    /**
     * optional .CMsgQAngle angles = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder();

    /**
     * optional .CMsgVector force = 3;
     */
    boolean hasForce();
    /**
     * optional .CMsgVector force = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getForce();
    /**
     * optional .CMsgVector force = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getForceOrBuilder();

    /**
     * optional .CMsgVector forcepos = 4;
     */
    boolean hasForcepos();
    /**
     * optional .CMsgVector forcepos = 4;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getForcepos();
    /**
     * optional .CMsgVector forcepos = 4;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getForceposOrBuilder();

    /**
     * optional float width = 5;
     */
    boolean hasWidth();
    /**
     * optional float width = 5;
     */
    float getWidth();

    /**
     * optional float height = 6;
     */
    boolean hasHeight();
    /**
     * optional float height = 6;
     */
    float getHeight();

    /**
     * optional float shardsize = 7;
     */
    boolean hasShardsize();
    /**
     * optional float shardsize = 7;
     */
    float getShardsize();

    /**
     * optional uint32 surfacetype = 8;
     */
    boolean hasSurfacetype();
    /**
     * optional uint32 surfacetype = 8;
     */
    int getSurfacetype();

    /**
     * optional fixed32 frontcolor = 9;
     */
    boolean hasFrontcolor();
    /**
     * optional fixed32 frontcolor = 9;
     */
    int getFrontcolor();

    /**
     * optional fixed32 backcolor = 10;
     */
    boolean hasBackcolor();
    /**
     * optional fixed32 backcolor = 10;
     */
    int getBackcolor();
  }
  /**
   * Protobuf type {@code CMsgTEShatterSurface}
   */
  public static final class CMsgTEShatterSurface extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEShatterSurface)
      CMsgTEShatterSurfaceOrBuilder {
    // Use CMsgTEShatterSurface.newBuilder() to construct.
    private CMsgTEShatterSurface(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEShatterSurface(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEShatterSurface getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEShatterSurface(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = angles_.toBuilder();
              }
              angles_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angles_);
                angles_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = force_.toBuilder();
              }
              force_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(force_);
                force_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = forcepos_.toBuilder();
              }
              forcepos_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(forcepos_);
                forcepos_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 45: {
              bitField0_ |= 0x00000010;
              width_ = input.readFloat();
              break;
            }
            case 53: {
              bitField0_ |= 0x00000020;
              height_ = input.readFloat();
              break;
            }
            case 61: {
              bitField0_ |= 0x00000040;
              shardsize_ = input.readFloat();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              surfacetype_ = input.readUInt32();
              break;
            }
            case 77: {
              bitField0_ |= 0x00000100;
              frontcolor_ = input.readFixed32();
              break;
            }
            case 85: {
              bitField0_ |= 0x00000200;
              backcolor_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEShatterSurface_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEShatterSurface_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEShatterSurface parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEShatterSurface(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int ANGLES_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_;
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public boolean hasAngles() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
      return angles_;
    }
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
      return angles_;
    }

    public static final int FORCE_FIELD_NUMBER = 3;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector force_;
    /**
     * optional .CMsgVector force = 3;
     */
    public boolean hasForce() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CMsgVector force = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getForce() {
      return force_;
    }
    /**
     * optional .CMsgVector force = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getForceOrBuilder() {
      return force_;
    }

    public static final int FORCEPOS_FIELD_NUMBER = 4;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector forcepos_;
    /**
     * optional .CMsgVector forcepos = 4;
     */
    public boolean hasForcepos() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional .CMsgVector forcepos = 4;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getForcepos() {
      return forcepos_;
    }
    /**
     * optional .CMsgVector forcepos = 4;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getForceposOrBuilder() {
      return forcepos_;
    }

    public static final int WIDTH_FIELD_NUMBER = 5;
    private float width_;
    /**
     * optional float width = 5;
     */
    public boolean hasWidth() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional float width = 5;
     */
    public float getWidth() {
      return width_;
    }

    public static final int HEIGHT_FIELD_NUMBER = 6;
    private float height_;
    /**
     * optional float height = 6;
     */
    public boolean hasHeight() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional float height = 6;
     */
    public float getHeight() {
      return height_;
    }

    public static final int SHARDSIZE_FIELD_NUMBER = 7;
    private float shardsize_;
    /**
     * optional float shardsize = 7;
     */
    public boolean hasShardsize() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional float shardsize = 7;
     */
    public float getShardsize() {
      return shardsize_;
    }

    public static final int SURFACETYPE_FIELD_NUMBER = 8;
    private int surfacetype_;
    /**
     * optional uint32 surfacetype = 8;
     */
    public boolean hasSurfacetype() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional uint32 surfacetype = 8;
     */
    public int getSurfacetype() {
      return surfacetype_;
    }

    public static final int FRONTCOLOR_FIELD_NUMBER = 9;
    private int frontcolor_;
    /**
     * optional fixed32 frontcolor = 9;
     */
    public boolean hasFrontcolor() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional fixed32 frontcolor = 9;
     */
    public int getFrontcolor() {
      return frontcolor_;
    }

    public static final int BACKCOLOR_FIELD_NUMBER = 10;
    private int backcolor_;
    /**
     * optional fixed32 backcolor = 10;
     */
    public boolean hasBackcolor() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional fixed32 backcolor = 10;
     */
    public int getBackcolor() {
      return backcolor_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      force_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      forcepos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      width_ = 0F;
      height_ = 0F;
      shardsize_ = 0F;
      surfacetype_ = 0;
      frontcolor_ = 0;
      backcolor_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, angles_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, force_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, forcepos_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFloat(5, width_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeFloat(6, height_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeFloat(7, shardsize_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeUInt32(8, surfacetype_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeFixed32(9, frontcolor_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeFixed32(10, backcolor_);
      }
      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
          .computeMessageSize(2, angles_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, force_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, forcepos_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, width_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(6, height_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(7, shardsize_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(8, surfacetype_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(9, frontcolor_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(10, backcolor_);
      }
      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.s2.proto.S2TempEntities.CMsgTEShatterSurface parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface 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.s2.proto.S2TempEntities.CMsgTEShatterSurface parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface 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.s2.proto.S2TempEntities.CMsgTEShatterSurface 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 CMsgTEShatterSurface}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEShatterSurface)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurfaceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEShatterSurface_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEShatterSurface_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface.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();
          getAnglesFieldBuilder();
          getForceFieldBuilder();
          getForceposFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (forceBuilder_ == null) {
          force_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          forceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (forceposBuilder_ == null) {
          forcepos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          forceposBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        width_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000010);
        height_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000020);
        shardsize_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000040);
        surfacetype_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        frontcolor_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        backcolor_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEShatterSurface_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface(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;
        }
        if (anglesBuilder_ == null) {
          result.angles_ = angles_;
        } else {
          result.angles_ = anglesBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (forceBuilder_ == null) {
          result.force_ = force_;
        } else {
          result.force_ = forceBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (forceposBuilder_ == null) {
          result.forcepos_ = forcepos_;
        } else {
          result.forcepos_ = forceposBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.width_ = width_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.height_ = height_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.shardsize_ = shardsize_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.surfacetype_ = surfacetype_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.frontcolor_ = frontcolor_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.backcolor_ = backcolor_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasAngles()) {
          mergeAngles(other.getAngles());
        }
        if (other.hasForce()) {
          mergeForce(other.getForce());
        }
        if (other.hasForcepos()) {
          mergeForcepos(other.getForcepos());
        }
        if (other.hasWidth()) {
          setWidth(other.getWidth());
        }
        if (other.hasHeight()) {
          setHeight(other.getHeight());
        }
        if (other.hasShardsize()) {
          setShardsize(other.getShardsize());
        }
        if (other.hasSurfacetype()) {
          setSurfacetype(other.getSurfacetype());
        }
        if (other.hasFrontcolor()) {
          setFrontcolor(other.getFrontcolor());
        }
        if (other.hasBackcolor()) {
          setBackcolor(other.getBackcolor());
        }
        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.s2.proto.S2TempEntities.CMsgTEShatterSurface parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEShatterSurface) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> anglesBuilder_;
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public boolean hasAngles() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
        if (anglesBuilder_ == null) {
          return angles_;
        } else {
          return anglesBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder setAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angles_ = value;
          onChanged();
        } else {
          anglesBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder setAngles(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder builderForValue) {
        if (anglesBuilder_ == null) {
          angles_ = builderForValue.build();
          onChanged();
        } else {
          anglesBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder mergeAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              angles_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance()) {
            angles_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.newBuilder(angles_).mergeFrom(value).buildPartial();
          } else {
            angles_ = value;
          }
          onChanged();
        } else {
          anglesBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder clearAngles() {
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
          onChanged();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder getAnglesBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getAnglesFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
        if (anglesBuilder_ != null) {
          return anglesBuilder_.getMessageOrBuilder();
        } else {
          return angles_;
        }
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> 
          getAnglesFieldBuilder() {
        if (anglesBuilder_ == null) {
          anglesBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder>(
                  getAngles(),
                  getParentForChildren(),
                  isClean());
          angles_ = null;
        }
        return anglesBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector force_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> forceBuilder_;
      /**
       * optional .CMsgVector force = 3;
       */
      public boolean hasForce() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CMsgVector force = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getForce() {
        if (forceBuilder_ == null) {
          return force_;
        } else {
          return forceBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector force = 3;
       */
      public Builder setForce(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (forceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          force_ = value;
          onChanged();
        } else {
          forceBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector force = 3;
       */
      public Builder setForce(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (forceBuilder_ == null) {
          force_ = builderForValue.build();
          onChanged();
        } else {
          forceBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector force = 3;
       */
      public Builder mergeForce(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (forceBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              force_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            force_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(force_).mergeFrom(value).buildPartial();
          } else {
            force_ = value;
          }
          onChanged();
        } else {
          forceBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector force = 3;
       */
      public Builder clearForce() {
        if (forceBuilder_ == null) {
          force_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          forceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CMsgVector force = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getForceBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getForceFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector force = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getForceOrBuilder() {
        if (forceBuilder_ != null) {
          return forceBuilder_.getMessageOrBuilder();
        } else {
          return force_;
        }
      }
      /**
       * optional .CMsgVector force = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getForceFieldBuilder() {
        if (forceBuilder_ == null) {
          forceBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getForce(),
                  getParentForChildren(),
                  isClean());
          force_ = null;
        }
        return forceBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector forcepos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> forceposBuilder_;
      /**
       * optional .CMsgVector forcepos = 4;
       */
      public boolean hasForcepos() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional .CMsgVector forcepos = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getForcepos() {
        if (forceposBuilder_ == null) {
          return forcepos_;
        } else {
          return forceposBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector forcepos = 4;
       */
      public Builder setForcepos(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (forceposBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          forcepos_ = value;
          onChanged();
        } else {
          forceposBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector forcepos = 4;
       */
      public Builder setForcepos(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (forceposBuilder_ == null) {
          forcepos_ = builderForValue.build();
          onChanged();
        } else {
          forceposBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector forcepos = 4;
       */
      public Builder mergeForcepos(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (forceposBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              forcepos_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            forcepos_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(forcepos_).mergeFrom(value).buildPartial();
          } else {
            forcepos_ = value;
          }
          onChanged();
        } else {
          forceposBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector forcepos = 4;
       */
      public Builder clearForcepos() {
        if (forceposBuilder_ == null) {
          forcepos_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          forceposBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * optional .CMsgVector forcepos = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getForceposBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getForceposFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector forcepos = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getForceposOrBuilder() {
        if (forceposBuilder_ != null) {
          return forceposBuilder_.getMessageOrBuilder();
        } else {
          return forcepos_;
        }
      }
      /**
       * optional .CMsgVector forcepos = 4;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getForceposFieldBuilder() {
        if (forceposBuilder_ == null) {
          forceposBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getForcepos(),
                  getParentForChildren(),
                  isClean());
          forcepos_ = null;
        }
        return forceposBuilder_;
      }

      private float width_ ;
      /**
       * optional float width = 5;
       */
      public boolean hasWidth() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional float width = 5;
       */
      public float getWidth() {
        return width_;
      }
      /**
       * optional float width = 5;
       */
      public Builder setWidth(float value) {
        bitField0_ |= 0x00000010;
        width_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float width = 5;
       */
      public Builder clearWidth() {
        bitField0_ = (bitField0_ & ~0x00000010);
        width_ = 0F;
        onChanged();
        return this;
      }

      private float height_ ;
      /**
       * optional float height = 6;
       */
      public boolean hasHeight() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional float height = 6;
       */
      public float getHeight() {
        return height_;
      }
      /**
       * optional float height = 6;
       */
      public Builder setHeight(float value) {
        bitField0_ |= 0x00000020;
        height_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float height = 6;
       */
      public Builder clearHeight() {
        bitField0_ = (bitField0_ & ~0x00000020);
        height_ = 0F;
        onChanged();
        return this;
      }

      private float shardsize_ ;
      /**
       * optional float shardsize = 7;
       */
      public boolean hasShardsize() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional float shardsize = 7;
       */
      public float getShardsize() {
        return shardsize_;
      }
      /**
       * optional float shardsize = 7;
       */
      public Builder setShardsize(float value) {
        bitField0_ |= 0x00000040;
        shardsize_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float shardsize = 7;
       */
      public Builder clearShardsize() {
        bitField0_ = (bitField0_ & ~0x00000040);
        shardsize_ = 0F;
        onChanged();
        return this;
      }

      private int surfacetype_ ;
      /**
       * optional uint32 surfacetype = 8;
       */
      public boolean hasSurfacetype() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional uint32 surfacetype = 8;
       */
      public int getSurfacetype() {
        return surfacetype_;
      }
      /**
       * optional uint32 surfacetype = 8;
       */
      public Builder setSurfacetype(int value) {
        bitField0_ |= 0x00000080;
        surfacetype_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 surfacetype = 8;
       */
      public Builder clearSurfacetype() {
        bitField0_ = (bitField0_ & ~0x00000080);
        surfacetype_ = 0;
        onChanged();
        return this;
      }

      private int frontcolor_ ;
      /**
       * optional fixed32 frontcolor = 9;
       */
      public boolean hasFrontcolor() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional fixed32 frontcolor = 9;
       */
      public int getFrontcolor() {
        return frontcolor_;
      }
      /**
       * optional fixed32 frontcolor = 9;
       */
      public Builder setFrontcolor(int value) {
        bitField0_ |= 0x00000100;
        frontcolor_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 frontcolor = 9;
       */
      public Builder clearFrontcolor() {
        bitField0_ = (bitField0_ & ~0x00000100);
        frontcolor_ = 0;
        onChanged();
        return this;
      }

      private int backcolor_ ;
      /**
       * optional fixed32 backcolor = 10;
       */
      public boolean hasBackcolor() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional fixed32 backcolor = 10;
       */
      public int getBackcolor() {
        return backcolor_;
      }
      /**
       * optional fixed32 backcolor = 10;
       */
      public Builder setBackcolor(int value) {
        bitField0_ |= 0x00000200;
        backcolor_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 backcolor = 10;
       */
      public Builder clearBackcolor() {
        bitField0_ = (bitField0_ & ~0x00000200);
        backcolor_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEShatterSurface)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEShatterSurface)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional float scale = 2;
     */
    boolean hasScale();
    /**
     * optional float scale = 2;
     */
    float getScale();

    /**
     * optional float life = 3;
     */
    boolean hasLife();
    /**
     * optional float life = 3;
     */
    float getLife();

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

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

    public CMsgTEGlowSprite getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEGlowSprite(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              scale_ = input.readFloat();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              life_ = input.readFloat();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              brightness_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEGlowSprite_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEGlowSprite_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEGlowSprite parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEGlowSprite(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int SCALE_FIELD_NUMBER = 2;
    private float scale_;
    /**
     * optional float scale = 2;
     */
    public boolean hasScale() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float scale = 2;
     */
    public float getScale() {
      return scale_;
    }

    public static final int LIFE_FIELD_NUMBER = 3;
    private float life_;
    /**
     * optional float life = 3;
     */
    public boolean hasLife() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float life = 3;
     */
    public float getLife() {
      return life_;
    }

    public static final int BRIGHTNESS_FIELD_NUMBER = 4;
    private int brightness_;
    /**
     * optional uint32 brightness = 4;
     */
    public boolean hasBrightness() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 brightness = 4;
     */
    public int getBrightness() {
      return brightness_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      scale_ = 0F;
      life_ = 0F;
      brightness_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, scale_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, life_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, brightness_);
      }
      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
          .computeFloatSize(2, scale_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, life_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, brightness_);
      }
      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.s2.proto.S2TempEntities.CMsgTEGlowSprite parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite 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.s2.proto.S2TempEntities.CMsgTEGlowSprite parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite 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.s2.proto.S2TempEntities.CMsgTEGlowSprite 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 CMsgTEGlowSprite}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEGlowSprite)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSpriteOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEGlowSprite_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEGlowSprite_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite.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();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        scale_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        life_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        brightness_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEGlowSprite_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite(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.scale_ = scale_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.life_ = life_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.brightness_ = brightness_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasScale()) {
          setScale(other.getScale());
        }
        if (other.hasLife()) {
          setLife(other.getLife());
        }
        if (other.hasBrightness()) {
          setBrightness(other.getBrightness());
        }
        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.s2.proto.S2TempEntities.CMsgTEGlowSprite parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEGlowSprite) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private float scale_ ;
      /**
       * optional float scale = 2;
       */
      public boolean hasScale() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float scale = 2;
       */
      public float getScale() {
        return scale_;
      }
      /**
       * optional float scale = 2;
       */
      public Builder setScale(float value) {
        bitField0_ |= 0x00000002;
        scale_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float scale = 2;
       */
      public Builder clearScale() {
        bitField0_ = (bitField0_ & ~0x00000002);
        scale_ = 0F;
        onChanged();
        return this;
      }

      private float life_ ;
      /**
       * optional float life = 3;
       */
      public boolean hasLife() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float life = 3;
       */
      public float getLife() {
        return life_;
      }
      /**
       * optional float life = 3;
       */
      public Builder setLife(float value) {
        bitField0_ |= 0x00000004;
        life_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float life = 3;
       */
      public Builder clearLife() {
        bitField0_ = (bitField0_ & ~0x00000004);
        life_ = 0F;
        onChanged();
        return this;
      }

      private int brightness_ ;
      /**
       * optional uint32 brightness = 4;
       */
      public boolean hasBrightness() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 brightness = 4;
       */
      public int getBrightness() {
        return brightness_;
      }
      /**
       * optional uint32 brightness = 4;
       */
      public Builder setBrightness(int value) {
        bitField0_ |= 0x00000008;
        brightness_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 brightness = 4;
       */
      public Builder clearBrightness() {
        bitField0_ = (bitField0_ & ~0x00000008);
        brightness_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEGlowSprite)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEGlowSprite)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgVector normal = 2;
     */
    boolean hasNormal();
    /**
     * optional .CMsgVector normal = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal();
    /**
     * optional .CMsgVector normal = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder();

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

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

    public CMsgTEImpact getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEImpact(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = normal_.toBuilder();
              }
              normal_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(normal_);
                normal_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              type_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEImpact_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEImpact_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEImpact parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEImpact(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int NORMAL_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector normal_;
    /**
     * optional .CMsgVector normal = 2;
     */
    public boolean hasNormal() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector normal = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal() {
      return normal_;
    }
    /**
     * optional .CMsgVector normal = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder() {
      return normal_;
    }

    public static final int TYPE_FIELD_NUMBER = 3;
    private int type_;
    /**
     * optional uint32 type = 3;
     */
    public boolean hasType() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 type = 3;
     */
    public int getType() {
      return type_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      type_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, normal_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, type_);
      }
      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
          .computeMessageSize(2, normal_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, type_);
      }
      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.s2.proto.S2TempEntities.CMsgTEImpact parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact 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.s2.proto.S2TempEntities.CMsgTEImpact parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact 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.s2.proto.S2TempEntities.CMsgTEImpact 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 CMsgTEImpact}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEImpact)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpactOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEImpact_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEImpact_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact.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();
          getNormalFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (normalBuilder_ == null) {
          normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          normalBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        type_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEImpact_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact(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;
        }
        if (normalBuilder_ == null) {
          result.normal_ = normal_;
        } else {
          result.normal_ = normalBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.type_ = type_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasNormal()) {
          mergeNormal(other.getNormal());
        }
        if (other.hasType()) {
          setType(other.getType());
        }
        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.s2.proto.S2TempEntities.CMsgTEImpact parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEImpact) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> normalBuilder_;
      /**
       * optional .CMsgVector normal = 2;
       */
      public boolean hasNormal() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal() {
        if (normalBuilder_ == null) {
          return normal_;
        } else {
          return normalBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder setNormal(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (normalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          normal_ = value;
          onChanged();
        } else {
          normalBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder setNormal(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (normalBuilder_ == null) {
          normal_ = builderForValue.build();
          onChanged();
        } else {
          normalBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder mergeNormal(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (normalBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              normal_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            normal_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(normal_).mergeFrom(value).buildPartial();
          } else {
            normal_ = value;
          }
          onChanged();
        } else {
          normalBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder clearNormal() {
        if (normalBuilder_ == null) {
          normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          normalBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getNormalBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getNormalFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder() {
        if (normalBuilder_ != null) {
          return normalBuilder_.getMessageOrBuilder();
        } else {
          return normal_;
        }
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getNormalFieldBuilder() {
        if (normalBuilder_ == null) {
          normalBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getNormal(),
                  getParentForChildren(),
                  isClean());
          normal_ = null;
        }
        return normalBuilder_;
      }

      private int type_ ;
      /**
       * optional uint32 type = 3;
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 type = 3;
       */
      public int getType() {
        return type_;
      }
      /**
       * optional uint32 type = 3;
       */
      public Builder setType(int value) {
        bitField0_ |= 0x00000004;
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 type = 3;
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000004);
        type_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEImpact)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEImpact)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgQAngle angles = 2;
     */
    boolean hasAngles();
    /**
     * optional .CMsgQAngle angles = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles();
    /**
     * optional .CMsgQAngle angles = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder();

    /**
     * optional float scale = 3;
     */
    boolean hasScale();
    /**
     * optional float scale = 3;
     */
    float getScale();

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

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

    public CMsgTEMuzzleFlash getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEMuzzleFlash(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = angles_.toBuilder();
              }
              angles_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angles_);
                angles_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              scale_ = input.readFloat();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              type_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEMuzzleFlash_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEMuzzleFlash_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEMuzzleFlash parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEMuzzleFlash(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int ANGLES_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_;
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public boolean hasAngles() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
      return angles_;
    }
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
      return angles_;
    }

    public static final int SCALE_FIELD_NUMBER = 3;
    private float scale_;
    /**
     * optional float scale = 3;
     */
    public boolean hasScale() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float scale = 3;
     */
    public float getScale() {
      return scale_;
    }

    public static final int TYPE_FIELD_NUMBER = 4;
    private int type_;
    /**
     * optional uint32 type = 4;
     */
    public boolean hasType() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 type = 4;
     */
    public int getType() {
      return type_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      scale_ = 0F;
      type_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, angles_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, scale_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, type_);
      }
      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
          .computeMessageSize(2, angles_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, scale_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, type_);
      }
      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.s2.proto.S2TempEntities.CMsgTEMuzzleFlash parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash 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.s2.proto.S2TempEntities.CMsgTEMuzzleFlash parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash 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.s2.proto.S2TempEntities.CMsgTEMuzzleFlash 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 CMsgTEMuzzleFlash}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEMuzzleFlash)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlashOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEMuzzleFlash_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEMuzzleFlash_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash.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();
          getAnglesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        scale_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        type_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEMuzzleFlash_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash(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;
        }
        if (anglesBuilder_ == null) {
          result.angles_ = angles_;
        } else {
          result.angles_ = anglesBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.scale_ = scale_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.type_ = type_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasAngles()) {
          mergeAngles(other.getAngles());
        }
        if (other.hasScale()) {
          setScale(other.getScale());
        }
        if (other.hasType()) {
          setType(other.getType());
        }
        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.s2.proto.S2TempEntities.CMsgTEMuzzleFlash parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEMuzzleFlash) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> anglesBuilder_;
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public boolean hasAngles() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
        if (anglesBuilder_ == null) {
          return angles_;
        } else {
          return anglesBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder setAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angles_ = value;
          onChanged();
        } else {
          anglesBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder setAngles(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder builderForValue) {
        if (anglesBuilder_ == null) {
          angles_ = builderForValue.build();
          onChanged();
        } else {
          anglesBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder mergeAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              angles_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance()) {
            angles_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.newBuilder(angles_).mergeFrom(value).buildPartial();
          } else {
            angles_ = value;
          }
          onChanged();
        } else {
          anglesBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder clearAngles() {
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
          onChanged();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder getAnglesBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getAnglesFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
        if (anglesBuilder_ != null) {
          return anglesBuilder_.getMessageOrBuilder();
        } else {
          return angles_;
        }
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> 
          getAnglesFieldBuilder() {
        if (anglesBuilder_ == null) {
          anglesBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder>(
                  getAngles(),
                  getParentForChildren(),
                  isClean());
          angles_ = null;
        }
        return anglesBuilder_;
      }

      private float scale_ ;
      /**
       * optional float scale = 3;
       */
      public boolean hasScale() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float scale = 3;
       */
      public float getScale() {
        return scale_;
      }
      /**
       * optional float scale = 3;
       */
      public Builder setScale(float value) {
        bitField0_ |= 0x00000004;
        scale_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float scale = 3;
       */
      public Builder clearScale() {
        bitField0_ = (bitField0_ & ~0x00000004);
        scale_ = 0F;
        onChanged();
        return this;
      }

      private int type_ ;
      /**
       * optional uint32 type = 4;
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 type = 4;
       */
      public int getType() {
        return type_;
      }
      /**
       * optional uint32 type = 4;
       */
      public Builder setType(int value) {
        bitField0_ |= 0x00000008;
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 type = 4;
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000008);
        type_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEMuzzleFlash)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEMuzzleFlash)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgVector direction = 2;
     */
    boolean hasDirection();
    /**
     * optional .CMsgVector direction = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getDirection();
    /**
     * optional .CMsgVector direction = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getDirectionOrBuilder();

    /**
     * optional fixed32 color = 3;
     */
    boolean hasColor();
    /**
     * optional fixed32 color = 3;
     */
    int getColor();

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

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

    public CMsgTEBloodStream getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEBloodStream(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = direction_.toBuilder();
              }
              direction_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(direction_);
                direction_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              color_ = input.readFixed32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              amount_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEBloodStream_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBloodStream_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEBloodStream parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEBloodStream(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

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

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

    public static final int AMOUNT_FIELD_NUMBER = 4;
    private int amount_;
    /**
     * optional uint32 amount = 4;
     */
    public boolean hasAmount() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 amount = 4;
     */
    public int getAmount() {
      return amount_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      direction_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      color_ = 0;
      amount_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, direction_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFixed32(3, color_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, amount_);
      }
      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
          .computeMessageSize(2, direction_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(3, color_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, amount_);
      }
      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.s2.proto.S2TempEntities.CMsgTEBloodStream parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream 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.s2.proto.S2TempEntities.CMsgTEBloodStream parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream 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.s2.proto.S2TempEntities.CMsgTEBloodStream 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 CMsgTEBloodStream}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEBloodStream)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStreamOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBloodStream_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBloodStream_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream.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();
          getDirectionFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (directionBuilder_ == null) {
          direction_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          directionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        color_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        amount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEBloodStream_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream(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;
        }
        if (directionBuilder_ == null) {
          result.direction_ = direction_;
        } else {
          result.direction_ = directionBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.color_ = color_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.amount_ = amount_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasDirection()) {
          mergeDirection(other.getDirection());
        }
        if (other.hasColor()) {
          setColor(other.getColor());
        }
        if (other.hasAmount()) {
          setAmount(other.getAmount());
        }
        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.s2.proto.S2TempEntities.CMsgTEBloodStream parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEBloodStream) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector direction_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> directionBuilder_;
      /**
       * optional .CMsgVector direction = 2;
       */
      public boolean hasDirection() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getDirection() {
        if (directionBuilder_ == null) {
          return direction_;
        } else {
          return directionBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public Builder setDirection(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (directionBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              direction_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            direction_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          directionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getDirectionBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getDirectionFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getDirectionOrBuilder() {
        if (directionBuilder_ != null) {
          return directionBuilder_.getMessageOrBuilder();
        } else {
          return direction_;
        }
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getDirectionFieldBuilder() {
        if (directionBuilder_ == null) {
          directionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getDirection(),
                  getParentForChildren(),
                  isClean());
          direction_ = null;
        }
        return directionBuilder_;
      }

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

      private int amount_ ;
      /**
       * optional uint32 amount = 4;
       */
      public boolean hasAmount() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 amount = 4;
       */
      public int getAmount() {
        return amount_;
      }
      /**
       * optional uint32 amount = 4;
       */
      public Builder setAmount(int value) {
        bitField0_ |= 0x00000008;
        amount_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 amount = 4;
       */
      public Builder clearAmount() {
        bitField0_ = (bitField0_ & ~0x00000008);
        amount_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEBloodStream)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEBloodStream)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional uint32 framerate = 2;
     */
    boolean hasFramerate();
    /**
     * optional uint32 framerate = 2;
     */
    int getFramerate();

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

    /**
     * optional .CMsgVector normal = 4;
     */
    boolean hasNormal();
    /**
     * optional .CMsgVector normal = 4;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal();
    /**
     * optional .CMsgVector normal = 4;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder();

    /**
     * optional uint32 materialtype = 5;
     */
    boolean hasMaterialtype();
    /**
     * optional uint32 materialtype = 5;
     */
    int getMaterialtype();

    /**
     * optional uint32 radius = 6;
     */
    boolean hasRadius();
    /**
     * optional uint32 radius = 6;
     */
    int getRadius();

    /**
     * optional uint32 magnitude = 7;
     */
    boolean hasMagnitude();
    /**
     * optional uint32 magnitude = 7;
     */
    int getMagnitude();

    /**
     * optional float scale = 8;
     */
    boolean hasScale();
    /**
     * optional float scale = 8;
     */
    float getScale();

    /**
     * optional bool affect_ragdolls = 9;
     */
    boolean hasAffectRagdolls();
    /**
     * optional bool affect_ragdolls = 9;
     */
    boolean getAffectRagdolls();
  }
  /**
   * Protobuf type {@code CMsgTEExplosion}
   */
  public static final class CMsgTEExplosion extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEExplosion)
      CMsgTEExplosionOrBuilder {
    // Use CMsgTEExplosion.newBuilder() to construct.
    private CMsgTEExplosion(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEExplosion(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEExplosion getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEExplosion(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              framerate_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              flags_ = input.readUInt32();
              break;
            }
            case 34: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = normal_.toBuilder();
              }
              normal_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(normal_);
                normal_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              materialtype_ = input.readUInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              radius_ = input.readUInt32();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              magnitude_ = input.readUInt32();
              break;
            }
            case 69: {
              bitField0_ |= 0x00000080;
              scale_ = input.readFloat();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              affectRagdolls_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEExplosion_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEExplosion_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEExplosion parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEExplosion(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int FRAMERATE_FIELD_NUMBER = 2;
    private int framerate_;
    /**
     * optional uint32 framerate = 2;
     */
    public boolean hasFramerate() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 framerate = 2;
     */
    public int getFramerate() {
      return framerate_;
    }

    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 NORMAL_FIELD_NUMBER = 4;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector normal_;
    /**
     * optional .CMsgVector normal = 4;
     */
    public boolean hasNormal() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional .CMsgVector normal = 4;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal() {
      return normal_;
    }
    /**
     * optional .CMsgVector normal = 4;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder() {
      return normal_;
    }

    public static final int MATERIALTYPE_FIELD_NUMBER = 5;
    private int materialtype_;
    /**
     * optional uint32 materialtype = 5;
     */
    public boolean hasMaterialtype() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint32 materialtype = 5;
     */
    public int getMaterialtype() {
      return materialtype_;
    }

    public static final int RADIUS_FIELD_NUMBER = 6;
    private int radius_;
    /**
     * optional uint32 radius = 6;
     */
    public boolean hasRadius() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional uint32 radius = 6;
     */
    public int getRadius() {
      return radius_;
    }

    public static final int MAGNITUDE_FIELD_NUMBER = 7;
    private int magnitude_;
    /**
     * optional uint32 magnitude = 7;
     */
    public boolean hasMagnitude() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional uint32 magnitude = 7;
     */
    public int getMagnitude() {
      return magnitude_;
    }

    public static final int SCALE_FIELD_NUMBER = 8;
    private float scale_;
    /**
     * optional float scale = 8;
     */
    public boolean hasScale() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional float scale = 8;
     */
    public float getScale() {
      return scale_;
    }

    public static final int AFFECT_RAGDOLLS_FIELD_NUMBER = 9;
    private boolean affectRagdolls_;
    /**
     * optional bool affect_ragdolls = 9;
     */
    public boolean hasAffectRagdolls() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional bool affect_ragdolls = 9;
     */
    public boolean getAffectRagdolls() {
      return affectRagdolls_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      framerate_ = 0;
      flags_ = 0;
      normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      materialtype_ = 0;
      radius_ = 0;
      magnitude_ = 0;
      scale_ = 0F;
      affectRagdolls_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, framerate_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, flags_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, normal_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, materialtype_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeUInt32(6, radius_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeUInt32(7, magnitude_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeFloat(8, scale_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeBool(9, affectRagdolls_);
      }
      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
          .computeUInt32Size(2, framerate_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, flags_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, normal_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, materialtype_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, radius_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, magnitude_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(8, scale_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(9, affectRagdolls_);
      }
      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.s2.proto.S2TempEntities.CMsgTEExplosion parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion 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.s2.proto.S2TempEntities.CMsgTEExplosion parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion 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.s2.proto.S2TempEntities.CMsgTEExplosion 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 CMsgTEExplosion}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEExplosion)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEExplosion_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEExplosion_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion.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();
          getNormalFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        framerate_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        flags_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (normalBuilder_ == null) {
          normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          normalBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        materialtype_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        radius_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        magnitude_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        scale_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000080);
        affectRagdolls_ = false;
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEExplosion_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion(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.framerate_ = framerate_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.flags_ = flags_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (normalBuilder_ == null) {
          result.normal_ = normal_;
        } else {
          result.normal_ = normalBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.materialtype_ = materialtype_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.radius_ = radius_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.magnitude_ = magnitude_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.scale_ = scale_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.affectRagdolls_ = affectRagdolls_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasFramerate()) {
          setFramerate(other.getFramerate());
        }
        if (other.hasFlags()) {
          setFlags(other.getFlags());
        }
        if (other.hasNormal()) {
          mergeNormal(other.getNormal());
        }
        if (other.hasMaterialtype()) {
          setMaterialtype(other.getMaterialtype());
        }
        if (other.hasRadius()) {
          setRadius(other.getRadius());
        }
        if (other.hasMagnitude()) {
          setMagnitude(other.getMagnitude());
        }
        if (other.hasScale()) {
          setScale(other.getScale());
        }
        if (other.hasAffectRagdolls()) {
          setAffectRagdolls(other.getAffectRagdolls());
        }
        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.s2.proto.S2TempEntities.CMsgTEExplosion parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEExplosion) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private int framerate_ ;
      /**
       * optional uint32 framerate = 2;
       */
      public boolean hasFramerate() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 framerate = 2;
       */
      public int getFramerate() {
        return framerate_;
      }
      /**
       * optional uint32 framerate = 2;
       */
      public Builder setFramerate(int value) {
        bitField0_ |= 0x00000002;
        framerate_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 framerate = 2;
       */
      public Builder clearFramerate() {
        bitField0_ = (bitField0_ & ~0x00000002);
        framerate_ = 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 skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> normalBuilder_;
      /**
       * optional .CMsgVector normal = 4;
       */
      public boolean hasNormal() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional .CMsgVector normal = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal() {
        if (normalBuilder_ == null) {
          return normal_;
        } else {
          return normalBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector normal = 4;
       */
      public Builder setNormal(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (normalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          normal_ = value;
          onChanged();
        } else {
          normalBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector normal = 4;
       */
      public Builder setNormal(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (normalBuilder_ == null) {
          normal_ = builderForValue.build();
          onChanged();
        } else {
          normalBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector normal = 4;
       */
      public Builder mergeNormal(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (normalBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              normal_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            normal_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(normal_).mergeFrom(value).buildPartial();
          } else {
            normal_ = value;
          }
          onChanged();
        } else {
          normalBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector normal = 4;
       */
      public Builder clearNormal() {
        if (normalBuilder_ == null) {
          normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          normalBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * optional .CMsgVector normal = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getNormalBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getNormalFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector normal = 4;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder() {
        if (normalBuilder_ != null) {
          return normalBuilder_.getMessageOrBuilder();
        } else {
          return normal_;
        }
      }
      /**
       * optional .CMsgVector normal = 4;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getNormalFieldBuilder() {
        if (normalBuilder_ == null) {
          normalBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getNormal(),
                  getParentForChildren(),
                  isClean());
          normal_ = null;
        }
        return normalBuilder_;
      }

      private int materialtype_ ;
      /**
       * optional uint32 materialtype = 5;
       */
      public boolean hasMaterialtype() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint32 materialtype = 5;
       */
      public int getMaterialtype() {
        return materialtype_;
      }
      /**
       * optional uint32 materialtype = 5;
       */
      public Builder setMaterialtype(int value) {
        bitField0_ |= 0x00000010;
        materialtype_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 materialtype = 5;
       */
      public Builder clearMaterialtype() {
        bitField0_ = (bitField0_ & ~0x00000010);
        materialtype_ = 0;
        onChanged();
        return this;
      }

      private int radius_ ;
      /**
       * optional uint32 radius = 6;
       */
      public boolean hasRadius() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional uint32 radius = 6;
       */
      public int getRadius() {
        return radius_;
      }
      /**
       * optional uint32 radius = 6;
       */
      public Builder setRadius(int value) {
        bitField0_ |= 0x00000020;
        radius_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 radius = 6;
       */
      public Builder clearRadius() {
        bitField0_ = (bitField0_ & ~0x00000020);
        radius_ = 0;
        onChanged();
        return this;
      }

      private int magnitude_ ;
      /**
       * optional uint32 magnitude = 7;
       */
      public boolean hasMagnitude() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional uint32 magnitude = 7;
       */
      public int getMagnitude() {
        return magnitude_;
      }
      /**
       * optional uint32 magnitude = 7;
       */
      public Builder setMagnitude(int value) {
        bitField0_ |= 0x00000040;
        magnitude_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 magnitude = 7;
       */
      public Builder clearMagnitude() {
        bitField0_ = (bitField0_ & ~0x00000040);
        magnitude_ = 0;
        onChanged();
        return this;
      }

      private float scale_ ;
      /**
       * optional float scale = 8;
       */
      public boolean hasScale() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional float scale = 8;
       */
      public float getScale() {
        return scale_;
      }
      /**
       * optional float scale = 8;
       */
      public Builder setScale(float value) {
        bitField0_ |= 0x00000080;
        scale_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float scale = 8;
       */
      public Builder clearScale() {
        bitField0_ = (bitField0_ & ~0x00000080);
        scale_ = 0F;
        onChanged();
        return this;
      }

      private boolean affectRagdolls_ ;
      /**
       * optional bool affect_ragdolls = 9;
       */
      public boolean hasAffectRagdolls() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional bool affect_ragdolls = 9;
       */
      public boolean getAffectRagdolls() {
        return affectRagdolls_;
      }
      /**
       * optional bool affect_ragdolls = 9;
       */
      public Builder setAffectRagdolls(boolean value) {
        bitField0_ |= 0x00000100;
        affectRagdolls_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool affect_ragdolls = 9;
       */
      public Builder clearAffectRagdolls() {
        bitField0_ = (bitField0_ & ~0x00000100);
        affectRagdolls_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEExplosion)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEExplosion)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional float size = 2;
     */
    boolean hasSize();
    /**
     * optional float size = 2;
     */
    float getSize();

    /**
     * optional float speed = 3;
     */
    boolean hasSpeed();
    /**
     * optional float speed = 3;
     */
    float getSpeed();

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

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

    public CMsgTEDust getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEDust(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              size_ = input.readFloat();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              speed_ = input.readFloat();
              break;
            }
            case 34: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = direction_.toBuilder();
              }
              direction_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(direction_);
                direction_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              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.s2.proto.S2TempEntities.internal_static_CMsgTEDust_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEDust_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEDust parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEDust(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int SIZE_FIELD_NUMBER = 2;
    private float size_;
    /**
     * optional float size = 2;
     */
    public boolean hasSize() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float size = 2;
     */
    public float getSize() {
      return size_;
    }

    public static final int SPEED_FIELD_NUMBER = 3;
    private float speed_;
    /**
     * optional float speed = 3;
     */
    public boolean hasSpeed() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float speed = 3;
     */
    public float getSpeed() {
      return speed_;
    }

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

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      size_ = 0F;
      speed_ = 0F;
      direction_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.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, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, size_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, speed_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, 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, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, size_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, speed_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, 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.s2.proto.S2TempEntities.CMsgTEDust parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust 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.s2.proto.S2TempEntities.CMsgTEDust parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust 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.s2.proto.S2TempEntities.CMsgTEDust 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 CMsgTEDust}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEDust)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDustOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEDust_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEDust_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust.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();
          getDirectionFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        size_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        speed_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (directionBuilder_ == null) {
          direction_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          directionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEDust_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust(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.size_ = size_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.speed_ = speed_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        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.s2.proto.S2TempEntities.CMsgTEDust) {
          return mergeFrom((skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasSize()) {
          setSize(other.getSize());
        }
        if (other.hasSpeed()) {
          setSpeed(other.getSpeed());
        }
        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.s2.proto.S2TempEntities.CMsgTEDust parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEDust) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private float size_ ;
      /**
       * optional float size = 2;
       */
      public boolean hasSize() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float size = 2;
       */
      public float getSize() {
        return size_;
      }
      /**
       * optional float size = 2;
       */
      public Builder setSize(float value) {
        bitField0_ |= 0x00000002;
        size_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float size = 2;
       */
      public Builder clearSize() {
        bitField0_ = (bitField0_ & ~0x00000002);
        size_ = 0F;
        onChanged();
        return this;
      }

      private float speed_ ;
      /**
       * optional float speed = 3;
       */
      public boolean hasSpeed() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float speed = 3;
       */
      public float getSpeed() {
        return speed_;
      }
      /**
       * optional float speed = 3;
       */
      public Builder setSpeed(float value) {
        bitField0_ |= 0x00000004;
        speed_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float speed = 3;
       */
      public Builder clearSpeed() {
        bitField0_ = (bitField0_ & ~0x00000004);
        speed_ = 0F;
        onChanged();
        return this;
      }

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

      // @@protoc_insertion_point(builder_scope:CMsgTEDust)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEDust)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional uint32 reversed = 2;
     */
    boolean hasReversed();
    /**
     * optional uint32 reversed = 2;
     */
    int getReversed();
  }
  /**
   * Protobuf type {@code CMsgTELargeFunnel}
   */
  public static final class CMsgTELargeFunnel extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTELargeFunnel)
      CMsgTELargeFunnelOrBuilder {
    // Use CMsgTELargeFunnel.newBuilder() to construct.
    private CMsgTELargeFunnel(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTELargeFunnel(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTELargeFunnel getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTELargeFunnel(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              reversed_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTELargeFunnel_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTELargeFunnel_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTELargeFunnel parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTELargeFunnel(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int REVERSED_FIELD_NUMBER = 2;
    private int reversed_;
    /**
     * optional uint32 reversed = 2;
     */
    public boolean hasReversed() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 reversed = 2;
     */
    public int getReversed() {
      return reversed_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      reversed_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, reversed_);
      }
      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
          .computeUInt32Size(2, reversed_);
      }
      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.s2.proto.S2TempEntities.CMsgTELargeFunnel parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel 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.s2.proto.S2TempEntities.CMsgTELargeFunnel parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel 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.s2.proto.S2TempEntities.CMsgTELargeFunnel 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 CMsgTELargeFunnel}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTELargeFunnel)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnelOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTELargeFunnel_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTELargeFunnel_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel.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();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        reversed_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTELargeFunnel_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel(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.reversed_ = reversed_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasReversed()) {
          setReversed(other.getReversed());
        }
        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.s2.proto.S2TempEntities.CMsgTELargeFunnel parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTELargeFunnel) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private int reversed_ ;
      /**
       * optional uint32 reversed = 2;
       */
      public boolean hasReversed() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 reversed = 2;
       */
      public int getReversed() {
        return reversed_;
      }
      /**
       * optional uint32 reversed = 2;
       */
      public Builder setReversed(int value) {
        bitField0_ |= 0x00000002;
        reversed_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 reversed = 2;
       */
      public Builder clearReversed() {
        bitField0_ = (bitField0_ & ~0x00000002);
        reversed_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTELargeFunnel)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTELargeFunnel)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional uint32 magnitude = 2;
     */
    boolean hasMagnitude();
    /**
     * optional uint32 magnitude = 2;
     */
    int getMagnitude();

    /**
     * optional uint32 length = 3;
     */
    boolean hasLength();
    /**
     * optional uint32 length = 3;
     */
    int getLength();

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

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

    public CMsgTESparks getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTESparks(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              magnitude_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              length_ = input.readUInt32();
              break;
            }
            case 34: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = direction_.toBuilder();
              }
              direction_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(direction_);
                direction_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              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.s2.proto.S2TempEntities.internal_static_CMsgTESparks_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTESparks_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTESparks parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTESparks(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int MAGNITUDE_FIELD_NUMBER = 2;
    private int magnitude_;
    /**
     * optional uint32 magnitude = 2;
     */
    public boolean hasMagnitude() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 magnitude = 2;
     */
    public int getMagnitude() {
      return magnitude_;
    }

    public static final int LENGTH_FIELD_NUMBER = 3;
    private int length_;
    /**
     * optional uint32 length = 3;
     */
    public boolean hasLength() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 length = 3;
     */
    public int getLength() {
      return length_;
    }

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

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      magnitude_ = 0;
      length_ = 0;
      direction_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.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, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, magnitude_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, length_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, 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, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, magnitude_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, length_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, 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.s2.proto.S2TempEntities.CMsgTESparks parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks 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.s2.proto.S2TempEntities.CMsgTESparks parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks 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.s2.proto.S2TempEntities.CMsgTESparks 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 CMsgTESparks}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTESparks)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparksOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTESparks_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTESparks_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks.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();
          getDirectionFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        magnitude_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        length_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (directionBuilder_ == null) {
          direction_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          directionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTESparks_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks(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.magnitude_ = magnitude_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.length_ = length_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        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.s2.proto.S2TempEntities.CMsgTESparks) {
          return mergeFrom((skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasMagnitude()) {
          setMagnitude(other.getMagnitude());
        }
        if (other.hasLength()) {
          setLength(other.getLength());
        }
        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.s2.proto.S2TempEntities.CMsgTESparks parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESparks) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private int magnitude_ ;
      /**
       * optional uint32 magnitude = 2;
       */
      public boolean hasMagnitude() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 magnitude = 2;
       */
      public int getMagnitude() {
        return magnitude_;
      }
      /**
       * optional uint32 magnitude = 2;
       */
      public Builder setMagnitude(int value) {
        bitField0_ |= 0x00000002;
        magnitude_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 magnitude = 2;
       */
      public Builder clearMagnitude() {
        bitField0_ = (bitField0_ & ~0x00000002);
        magnitude_ = 0;
        onChanged();
        return this;
      }

      private int length_ ;
      /**
       * optional uint32 length = 3;
       */
      public boolean hasLength() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 length = 3;
       */
      public int getLength() {
        return length_;
      }
      /**
       * optional uint32 length = 3;
       */
      public Builder setLength(int value) {
        bitField0_ |= 0x00000004;
        length_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 length = 3;
       */
      public Builder clearLength() {
        bitField0_ = (bitField0_ & ~0x00000004);
        length_ = 0;
        onChanged();
        return this;
      }

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

      // @@protoc_insertion_point(builder_scope:CMsgTESparks)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTESparks)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgVector velocity = 2;
     */
    boolean hasVelocity();
    /**
     * optional .CMsgVector velocity = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getVelocity();
    /**
     * optional .CMsgVector velocity = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getVelocityOrBuilder();

    /**
     * optional .CMsgQAngle angles = 3;
     */
    boolean hasAngles();
    /**
     * optional .CMsgQAngle angles = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles();
    /**
     * optional .CMsgQAngle angles = 3;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder();

    /**
     * optional fixed32 skin = 4;
     */
    boolean hasSkin();
    /**
     * optional fixed32 skin = 4;
     */
    int getSkin();

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

    /**
     * optional uint32 effects = 6;
     */
    boolean hasEffects();
    /**
     * optional uint32 effects = 6;
     */
    int getEffects();

    /**
     * optional fixed32 color = 7;
     */
    boolean hasColor();
    /**
     * optional fixed32 color = 7;
     */
    int getColor();

    /**
     * optional fixed64 modelindex = 8;
     */
    boolean hasModelindex();
    /**
     * optional fixed64 modelindex = 8;
     */
    long getModelindex();

    /**
     * optional uint32 breakmodelsnottomake = 9;
     */
    boolean hasBreakmodelsnottomake();
    /**
     * optional uint32 breakmodelsnottomake = 9;
     */
    int getBreakmodelsnottomake();

    /**
     * optional float scale = 10;
     */
    boolean hasScale();
    /**
     * optional float scale = 10;
     */
    float getScale();
  }
  /**
   * Protobuf type {@code CMsgTEPhysicsProp}
   */
  public static final class CMsgTEPhysicsProp extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEPhysicsProp)
      CMsgTEPhysicsPropOrBuilder {
    // Use CMsgTEPhysicsProp.newBuilder() to construct.
    private CMsgTEPhysicsProp(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEPhysicsProp(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEPhysicsProp getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEPhysicsProp(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = velocity_.toBuilder();
              }
              velocity_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(velocity_);
                velocity_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = angles_.toBuilder();
              }
              angles_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angles_);
                angles_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              skin_ = input.readFixed32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              flags_ = input.readUInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              effects_ = input.readUInt32();
              break;
            }
            case 61: {
              bitField0_ |= 0x00000040;
              color_ = input.readFixed32();
              break;
            }
            case 65: {
              bitField0_ |= 0x00000080;
              modelindex_ = input.readFixed64();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              breakmodelsnottomake_ = input.readUInt32();
              break;
            }
            case 85: {
              bitField0_ |= 0x00000200;
              scale_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEPhysicsProp_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEPhysicsProp_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEPhysicsProp parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEPhysicsProp(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int VELOCITY_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector velocity_;
    /**
     * optional .CMsgVector velocity = 2;
     */
    public boolean hasVelocity() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector velocity = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getVelocity() {
      return velocity_;
    }
    /**
     * optional .CMsgVector velocity = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getVelocityOrBuilder() {
      return velocity_;
    }

    public static final int ANGLES_FIELD_NUMBER = 3;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_;
    /**
     * optional .CMsgQAngle angles = 3;
     */
    public boolean hasAngles() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CMsgQAngle angles = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
      return angles_;
    }
    /**
     * optional .CMsgQAngle angles = 3;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
      return angles_;
    }

    public static final int SKIN_FIELD_NUMBER = 4;
    private int skin_;
    /**
     * optional fixed32 skin = 4;
     */
    public boolean hasSkin() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional fixed32 skin = 4;
     */
    public int getSkin() {
      return skin_;
    }

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

    public static final int EFFECTS_FIELD_NUMBER = 6;
    private int effects_;
    /**
     * optional uint32 effects = 6;
     */
    public boolean hasEffects() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional uint32 effects = 6;
     */
    public int getEffects() {
      return effects_;
    }

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

    public static final int MODELINDEX_FIELD_NUMBER = 8;
    private long modelindex_;
    /**
     * optional fixed64 modelindex = 8;
     */
    public boolean hasModelindex() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional fixed64 modelindex = 8;
     */
    public long getModelindex() {
      return modelindex_;
    }

    public static final int BREAKMODELSNOTTOMAKE_FIELD_NUMBER = 9;
    private int breakmodelsnottomake_;
    /**
     * optional uint32 breakmodelsnottomake = 9;
     */
    public boolean hasBreakmodelsnottomake() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional uint32 breakmodelsnottomake = 9;
     */
    public int getBreakmodelsnottomake() {
      return breakmodelsnottomake_;
    }

    public static final int SCALE_FIELD_NUMBER = 10;
    private float scale_;
    /**
     * optional float scale = 10;
     */
    public boolean hasScale() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional float scale = 10;
     */
    public float getScale() {
      return scale_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      velocity_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      skin_ = 0;
      flags_ = 0;
      effects_ = 0;
      color_ = 0;
      modelindex_ = 0L;
      breakmodelsnottomake_ = 0;
      scale_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, velocity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, angles_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFixed32(4, skin_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, flags_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeUInt32(6, effects_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeFixed32(7, color_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeFixed64(8, modelindex_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeUInt32(9, breakmodelsnottomake_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeFloat(10, scale_);
      }
      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
          .computeMessageSize(2, velocity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, angles_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(4, skin_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, flags_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, effects_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(7, color_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(8, modelindex_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(9, breakmodelsnottomake_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(10, scale_);
      }
      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.s2.proto.S2TempEntities.CMsgTEPhysicsProp parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp 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.s2.proto.S2TempEntities.CMsgTEPhysicsProp parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp 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.s2.proto.S2TempEntities.CMsgTEPhysicsProp 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 CMsgTEPhysicsProp}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEPhysicsProp)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsPropOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEPhysicsProp_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEPhysicsProp_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp.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();
          getVelocityFieldBuilder();
          getAnglesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (velocityBuilder_ == null) {
          velocity_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          velocityBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        skin_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        flags_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        effects_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        color_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        modelindex_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000080);
        breakmodelsnottomake_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        scale_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEPhysicsProp_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp(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;
        }
        if (velocityBuilder_ == null) {
          result.velocity_ = velocity_;
        } else {
          result.velocity_ = velocityBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (anglesBuilder_ == null) {
          result.angles_ = angles_;
        } else {
          result.angles_ = anglesBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.skin_ = skin_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.flags_ = flags_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.effects_ = effects_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.color_ = color_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.modelindex_ = modelindex_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.breakmodelsnottomake_ = breakmodelsnottomake_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.scale_ = scale_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasVelocity()) {
          mergeVelocity(other.getVelocity());
        }
        if (other.hasAngles()) {
          mergeAngles(other.getAngles());
        }
        if (other.hasSkin()) {
          setSkin(other.getSkin());
        }
        if (other.hasFlags()) {
          setFlags(other.getFlags());
        }
        if (other.hasEffects()) {
          setEffects(other.getEffects());
        }
        if (other.hasColor()) {
          setColor(other.getColor());
        }
        if (other.hasModelindex()) {
          setModelindex(other.getModelindex());
        }
        if (other.hasBreakmodelsnottomake()) {
          setBreakmodelsnottomake(other.getBreakmodelsnottomake());
        }
        if (other.hasScale()) {
          setScale(other.getScale());
        }
        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.s2.proto.S2TempEntities.CMsgTEPhysicsProp parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPhysicsProp) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector velocity_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> velocityBuilder_;
      /**
       * optional .CMsgVector velocity = 2;
       */
      public boolean hasVelocity() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector velocity = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getVelocity() {
        if (velocityBuilder_ == null) {
          return velocity_;
        } else {
          return velocityBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector velocity = 2;
       */
      public Builder setVelocity(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (velocityBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          velocity_ = value;
          onChanged();
        } else {
          velocityBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector velocity = 2;
       */
      public Builder setVelocity(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (velocityBuilder_ == null) {
          velocity_ = builderForValue.build();
          onChanged();
        } else {
          velocityBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector velocity = 2;
       */
      public Builder mergeVelocity(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (velocityBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              velocity_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            velocity_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(velocity_).mergeFrom(value).buildPartial();
          } else {
            velocity_ = value;
          }
          onChanged();
        } else {
          velocityBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector velocity = 2;
       */
      public Builder clearVelocity() {
        if (velocityBuilder_ == null) {
          velocity_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          velocityBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector velocity = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getVelocityBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getVelocityFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector velocity = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getVelocityOrBuilder() {
        if (velocityBuilder_ != null) {
          return velocityBuilder_.getMessageOrBuilder();
        } else {
          return velocity_;
        }
      }
      /**
       * optional .CMsgVector velocity = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getVelocityFieldBuilder() {
        if (velocityBuilder_ == null) {
          velocityBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getVelocity(),
                  getParentForChildren(),
                  isClean());
          velocity_ = null;
        }
        return velocityBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> anglesBuilder_;
      /**
       * optional .CMsgQAngle angles = 3;
       */
      public boolean hasAngles() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CMsgQAngle angles = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
        if (anglesBuilder_ == null) {
          return angles_;
        } else {
          return anglesBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQAngle angles = 3;
       */
      public Builder setAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angles_ = value;
          onChanged();
        } else {
          anglesBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 3;
       */
      public Builder setAngles(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder builderForValue) {
        if (anglesBuilder_ == null) {
          angles_ = builderForValue.build();
          onChanged();
        } else {
          anglesBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 3;
       */
      public Builder mergeAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              angles_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance()) {
            angles_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.newBuilder(angles_).mergeFrom(value).buildPartial();
          } else {
            angles_ = value;
          }
          onChanged();
        } else {
          anglesBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 3;
       */
      public Builder clearAngles() {
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
          onChanged();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder getAnglesBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getAnglesFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQAngle angles = 3;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
        if (anglesBuilder_ != null) {
          return anglesBuilder_.getMessageOrBuilder();
        } else {
          return angles_;
        }
      }
      /**
       * optional .CMsgQAngle angles = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> 
          getAnglesFieldBuilder() {
        if (anglesBuilder_ == null) {
          anglesBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder>(
                  getAngles(),
                  getParentForChildren(),
                  isClean());
          angles_ = null;
        }
        return anglesBuilder_;
      }

      private int skin_ ;
      /**
       * optional fixed32 skin = 4;
       */
      public boolean hasSkin() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional fixed32 skin = 4;
       */
      public int getSkin() {
        return skin_;
      }
      /**
       * optional fixed32 skin = 4;
       */
      public Builder setSkin(int value) {
        bitField0_ |= 0x00000008;
        skin_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 skin = 4;
       */
      public Builder clearSkin() {
        bitField0_ = (bitField0_ & ~0x00000008);
        skin_ = 0;
        onChanged();
        return this;
      }

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

      private int effects_ ;
      /**
       * optional uint32 effects = 6;
       */
      public boolean hasEffects() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional uint32 effects = 6;
       */
      public int getEffects() {
        return effects_;
      }
      /**
       * optional uint32 effects = 6;
       */
      public Builder setEffects(int value) {
        bitField0_ |= 0x00000020;
        effects_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 effects = 6;
       */
      public Builder clearEffects() {
        bitField0_ = (bitField0_ & ~0x00000020);
        effects_ = 0;
        onChanged();
        return this;
      }

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

      private long modelindex_ ;
      /**
       * optional fixed64 modelindex = 8;
       */
      public boolean hasModelindex() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional fixed64 modelindex = 8;
       */
      public long getModelindex() {
        return modelindex_;
      }
      /**
       * optional fixed64 modelindex = 8;
       */
      public Builder setModelindex(long value) {
        bitField0_ |= 0x00000080;
        modelindex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 modelindex = 8;
       */
      public Builder clearModelindex() {
        bitField0_ = (bitField0_ & ~0x00000080);
        modelindex_ = 0L;
        onChanged();
        return this;
      }

      private int breakmodelsnottomake_ ;
      /**
       * optional uint32 breakmodelsnottomake = 9;
       */
      public boolean hasBreakmodelsnottomake() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional uint32 breakmodelsnottomake = 9;
       */
      public int getBreakmodelsnottomake() {
        return breakmodelsnottomake_;
      }
      /**
       * optional uint32 breakmodelsnottomake = 9;
       */
      public Builder setBreakmodelsnottomake(int value) {
        bitField0_ |= 0x00000100;
        breakmodelsnottomake_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 breakmodelsnottomake = 9;
       */
      public Builder clearBreakmodelsnottomake() {
        bitField0_ = (bitField0_ & ~0x00000100);
        breakmodelsnottomake_ = 0;
        onChanged();
        return this;
      }

      private float scale_ ;
      /**
       * optional float scale = 10;
       */
      public boolean hasScale() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional float scale = 10;
       */
      public float getScale() {
        return scale_;
      }
      /**
       * optional float scale = 10;
       */
      public Builder setScale(float value) {
        bitField0_ |= 0x00000200;
        scale_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float scale = 10;
       */
      public Builder clearScale() {
        bitField0_ = (bitField0_ & ~0x00000200);
        scale_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEPhysicsProp)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEPhysicsProp)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional uint32 player = 2;
     */
    boolean hasPlayer();
    /**
     * optional uint32 player = 2;
     */
    int getPlayer();

    /**
     * optional uint32 entity = 3;
     */
    boolean hasEntity();
    /**
     * optional uint32 entity = 3;
     */
    int getEntity();
  }
  /**
   * Protobuf type {@code CMsgTEPlayerDecal}
   */
  public static final class CMsgTEPlayerDecal extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEPlayerDecal)
      CMsgTEPlayerDecalOrBuilder {
    // Use CMsgTEPlayerDecal.newBuilder() to construct.
    private CMsgTEPlayerDecal(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEPlayerDecal(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEPlayerDecal getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEPlayerDecal(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              player_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              entity_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEPlayerDecal_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEPlayerDecal_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEPlayerDecal parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEPlayerDecal(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int PLAYER_FIELD_NUMBER = 2;
    private int player_;
    /**
     * optional uint32 player = 2;
     */
    public boolean hasPlayer() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 player = 2;
     */
    public int getPlayer() {
      return player_;
    }

    public static final int ENTITY_FIELD_NUMBER = 3;
    private int entity_;
    /**
     * optional uint32 entity = 3;
     */
    public boolean hasEntity() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 entity = 3;
     */
    public int getEntity() {
      return entity_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      player_ = 0;
      entity_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, player_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, entity_);
      }
      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
          .computeUInt32Size(2, player_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, entity_);
      }
      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.s2.proto.S2TempEntities.CMsgTEPlayerDecal parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal 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.s2.proto.S2TempEntities.CMsgTEPlayerDecal parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal 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.s2.proto.S2TempEntities.CMsgTEPlayerDecal 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 CMsgTEPlayerDecal}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEPlayerDecal)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEPlayerDecal_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEPlayerDecal_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal.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();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        player_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        entity_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEPlayerDecal_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal(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.player_ = player_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.entity_ = entity_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasPlayer()) {
          setPlayer(other.getPlayer());
        }
        if (other.hasEntity()) {
          setEntity(other.getEntity());
        }
        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.s2.proto.S2TempEntities.CMsgTEPlayerDecal parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEPlayerDecal) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private int player_ ;
      /**
       * optional uint32 player = 2;
       */
      public boolean hasPlayer() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 player = 2;
       */
      public int getPlayer() {
        return player_;
      }
      /**
       * optional uint32 player = 2;
       */
      public Builder setPlayer(int value) {
        bitField0_ |= 0x00000002;
        player_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 player = 2;
       */
      public Builder clearPlayer() {
        bitField0_ = (bitField0_ & ~0x00000002);
        player_ = 0;
        onChanged();
        return this;
      }

      private int entity_ ;
      /**
       * optional uint32 entity = 3;
       */
      public boolean hasEntity() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 entity = 3;
       */
      public int getEntity() {
        return entity_;
      }
      /**
       * optional uint32 entity = 3;
       */
      public Builder setEntity(int value) {
        bitField0_ |= 0x00000004;
        entity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 entity = 3;
       */
      public Builder clearEntity() {
        bitField0_ = (bitField0_ & ~0x00000004);
        entity_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEPlayerDecal)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEPlayerDecal)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgQAngle angles = 2;
     */
    boolean hasAngles();
    /**
     * optional .CMsgQAngle angles = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles();
    /**
     * optional .CMsgQAngle angles = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder();

    /**
     * optional uint32 index = 3;
     */
    boolean hasIndex();
    /**
     * optional uint32 index = 3;
     */
    int getIndex();

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

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

    public CMsgTEProjectedDecal getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEProjectedDecal(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = angles_.toBuilder();
              }
              angles_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angles_);
                angles_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              index_ = input.readUInt32();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              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.s2.proto.S2TempEntities.internal_static_CMsgTEProjectedDecal_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEProjectedDecal_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEProjectedDecal parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEProjectedDecal(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int ANGLES_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_;
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public boolean hasAngles() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
      return angles_;
    }
    /**
     * optional .CMsgQAngle angles = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
      return angles_;
    }

    public static final int INDEX_FIELD_NUMBER = 3;
    private int index_;
    /**
     * optional uint32 index = 3;
     */
    public boolean hasIndex() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 index = 3;
     */
    public int getIndex() {
      return index_;
    }

    public static final int DISTANCE_FIELD_NUMBER = 4;
    private float distance_;
    /**
     * optional float distance = 4;
     */
    public boolean hasDistance() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float distance = 4;
     */
    public float getDistance() {
      return distance_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      index_ = 0;
      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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, angles_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, index_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, 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
          .computeMessageSize(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, angles_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, index_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, 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.s2.proto.S2TempEntities.CMsgTEProjectedDecal parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal 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.s2.proto.S2TempEntities.CMsgTEProjectedDecal parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal 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.s2.proto.S2TempEntities.CMsgTEProjectedDecal 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 CMsgTEProjectedDecal}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEProjectedDecal)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEProjectedDecal_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEProjectedDecal_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal.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();
          getAnglesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        index_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        distance_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEProjectedDecal_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal(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;
        }
        if (anglesBuilder_ == null) {
          result.angles_ = angles_;
        } else {
          result.angles_ = anglesBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.index_ = index_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.distance_ = distance_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasAngles()) {
          mergeAngles(other.getAngles());
        }
        if (other.hasIndex()) {
          setIndex(other.getIndex());
        }
        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.s2.proto.S2TempEntities.CMsgTEProjectedDecal parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEProjectedDecal) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> anglesBuilder_;
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public boolean hasAngles() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle getAngles() {
        if (anglesBuilder_ == null) {
          return angles_;
        } else {
          return anglesBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder setAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angles_ = value;
          onChanged();
        } else {
          anglesBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder setAngles(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder builderForValue) {
        if (anglesBuilder_ == null) {
          angles_ = builderForValue.build();
          onChanged();
        } else {
          anglesBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder mergeAngles(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle value) {
        if (anglesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              angles_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance()) {
            angles_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.newBuilder(angles_).mergeFrom(value).buildPartial();
          } else {
            angles_ = value;
          }
          onChanged();
        } else {
          anglesBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public Builder clearAngles() {
        if (anglesBuilder_ == null) {
          angles_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.getDefaultInstance();
          onChanged();
        } else {
          anglesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder getAnglesBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getAnglesFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder getAnglesOrBuilder() {
        if (anglesBuilder_ != null) {
          return anglesBuilder_.getMessageOrBuilder();
        } else {
          return angles_;
        }
      }
      /**
       * optional .CMsgQAngle angles = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder> 
          getAnglesFieldBuilder() {
        if (anglesBuilder_ == null) {
          anglesBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgQAngleOrBuilder>(
                  getAngles(),
                  getParentForChildren(),
                  isClean());
          angles_ = null;
        }
        return anglesBuilder_;
      }

      private int index_ ;
      /**
       * optional uint32 index = 3;
       */
      public boolean hasIndex() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 index = 3;
       */
      public int getIndex() {
        return index_;
      }
      /**
       * optional uint32 index = 3;
       */
      public Builder setIndex(int value) {
        bitField0_ |= 0x00000004;
        index_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 index = 3;
       */
      public Builder clearIndex() {
        bitField0_ = (bitField0_ & ~0x00000004);
        index_ = 0;
        onChanged();
        return this;
      }

      private float distance_ ;
      /**
       * optional float distance = 4;
       */
      public boolean hasDistance() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional float distance = 4;
       */
      public float getDistance() {
        return distance_;
      }
      /**
       * optional float distance = 4;
       */
      public Builder setDistance(float value) {
        bitField0_ |= 0x00000008;
        distance_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float distance = 4;
       */
      public Builder clearDistance() {
        bitField0_ = (bitField0_ & ~0x00000008);
        distance_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEProjectedDecal)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEProjectedDecal)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional float scale = 2;
     */
    boolean hasScale();
    /**
     * optional float scale = 2;
     */
    float getScale();
  }
  /**
   * Protobuf type {@code CMsgTESmoke}
   */
  public static final class CMsgTESmoke extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTESmoke)
      CMsgTESmokeOrBuilder {
    // Use CMsgTESmoke.newBuilder() to construct.
    private CMsgTESmoke(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTESmoke(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTESmoke getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTESmoke(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              scale_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTESmoke_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTESmoke_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTESmoke parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTESmoke(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int SCALE_FIELD_NUMBER = 2;
    private float scale_;
    /**
     * optional float scale = 2;
     */
    public boolean hasScale() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float scale = 2;
     */
    public float getScale() {
      return scale_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      scale_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, scale_);
      }
      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
          .computeFloatSize(2, scale_);
      }
      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.s2.proto.S2TempEntities.CMsgTESmoke parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke 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.s2.proto.S2TempEntities.CMsgTESmoke parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke 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.s2.proto.S2TempEntities.CMsgTESmoke 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 CMsgTESmoke}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTESmoke)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmokeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTESmoke_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTESmoke_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke.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();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        scale_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTESmoke_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke(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.scale_ = scale_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasScale()) {
          setScale(other.getScale());
        }
        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.s2.proto.S2TempEntities.CMsgTESmoke parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTESmoke) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private float scale_ ;
      /**
       * optional float scale = 2;
       */
      public boolean hasScale() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float scale = 2;
       */
      public float getScale() {
        return scale_;
      }
      /**
       * optional float scale = 2;
       */
      public Builder setScale(float value) {
        bitField0_ |= 0x00000002;
        scale_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float scale = 2;
       */
      public Builder clearScale() {
        bitField0_ = (bitField0_ & ~0x00000002);
        scale_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTESmoke)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTESmoke)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional .CMsgVector normal = 2;
     */
    boolean hasNormal();
    /**
     * optional .CMsgVector normal = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal();
    /**
     * optional .CMsgVector normal = 2;
     */
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder();

    /**
     * optional uint32 index = 3;
     */
    boolean hasIndex();
    /**
     * optional uint32 index = 3;
     */
    int getIndex();
  }
  /**
   * Protobuf type {@code CMsgTEWorldDecal}
   */
  public static final class CMsgTEWorldDecal extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTEWorldDecal)
      CMsgTEWorldDecalOrBuilder {
    // Use CMsgTEWorldDecal.newBuilder() to construct.
    private CMsgTEWorldDecal(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CMsgTEWorldDecal(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public CMsgTEWorldDecal getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CMsgTEWorldDecal(
        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.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = normal_.toBuilder();
              }
              normal_ = input.readMessage(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(normal_);
                normal_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              index_ = 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.s2.proto.S2TempEntities.internal_static_CMsgTEWorldDecal_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEWorldDecal_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CMsgTEWorldDecal parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CMsgTEWorldDecal(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.common.proto.NetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int NORMAL_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector normal_;
    /**
     * optional .CMsgVector normal = 2;
     */
    public boolean hasNormal() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector normal = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal() {
      return normal_;
    }
    /**
     * optional .CMsgVector normal = 2;
     */
    public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder() {
      return normal_;
    }

    public static final int INDEX_FIELD_NUMBER = 3;
    private int index_;
    /**
     * optional uint32 index = 3;
     */
    public boolean hasIndex() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 index = 3;
     */
    public int getIndex() {
      return index_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      index_ = 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.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, normal_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, index_);
      }
      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
          .computeMessageSize(2, normal_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, index_);
      }
      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.s2.proto.S2TempEntities.CMsgTEWorldDecal parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal 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.s2.proto.S2TempEntities.CMsgTEWorldDecal parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal 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.s2.proto.S2TempEntities.CMsgTEWorldDecal 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 CMsgTEWorldDecal}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTEWorldDecal)
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEWorldDecal_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEWorldDecal_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal.class, skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal.Builder.class);
      }

      // Construct using skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal.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();
          getNormalFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (normalBuilder_ == null) {
          normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          normalBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        index_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.internal_static_CMsgTEWorldDecal_descriptor;
      }

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal getDefaultInstanceForType() {
        return skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal.getDefaultInstance();
      }

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

      public skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal buildPartial() {
        skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal result = new skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal(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;
        }
        if (normalBuilder_ == null) {
          result.normal_ = normal_;
        } else {
          result.normal_ = normalBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.index_ = index_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal other) {
        if (other == skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasNormal()) {
          mergeNormal(other.getNormal());
        }
        if (other.hasIndex()) {
          setIndex(other.getIndex());
        }
        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.s2.proto.S2TempEntities.CMsgTEWorldDecal parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.s2.proto.S2TempEntities.CMsgTEWorldDecal) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.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.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> normalBuilder_;
      /**
       * optional .CMsgVector normal = 2;
       */
      public boolean hasNormal() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector getNormal() {
        if (normalBuilder_ == null) {
          return normal_;
        } else {
          return normalBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder setNormal(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (normalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          normal_ = value;
          onChanged();
        } else {
          normalBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder setNormal(
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (normalBuilder_ == null) {
          normal_ = builderForValue.build();
          onChanged();
        } else {
          normalBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder mergeNormal(skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector value) {
        if (normalBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              normal_ != skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            normal_ =
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.newBuilder(normal_).mergeFrom(value).buildPartial();
          } else {
            normal_ = value;
          }
          onChanged();
        } else {
          normalBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public Builder clearNormal() {
        if (normalBuilder_ == null) {
          normal_ = skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          normalBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder getNormalBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getNormalFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      public skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder getNormalOrBuilder() {
        if (normalBuilder_ != null) {
          return normalBuilder_.getMessageOrBuilder();
        } else {
          return normal_;
        }
      }
      /**
       * optional .CMsgVector normal = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder> 
          getNormalFieldBuilder() {
        if (normalBuilder_ == null) {
          normalBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.common.proto.NetworkBaseTypes.CMsgVectorOrBuilder>(
                  getNormal(),
                  getParentForChildren(),
                  isClean());
          normal_ = null;
        }
        return normalBuilder_;
      }

      private int index_ ;
      /**
       * optional uint32 index = 3;
       */
      public boolean hasIndex() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 index = 3;
       */
      public int getIndex() {
        return index_;
      }
      /**
       * optional uint32 index = 3;
       */
      public Builder setIndex(int value) {
        bitField0_ |= 0x00000004;
        index_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 index = 3;
       */
      public Builder clearIndex() {
        bitField0_ = (bitField0_ & ~0x00000004);
        index_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTEWorldDecal)
    }

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

    // @@protoc_insertion_point(class_scope:CMsgTEWorldDecal)
  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEArmorRicochet_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEArmorRicochet_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEBaseBeam_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEBaseBeam_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEBeamEntPoint_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEBeamEntPoint_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEBeamEnts_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEBeamEnts_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEBeamPoints_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEBeamPoints_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEBeamRing_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEBeamRing_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEBreakModel_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEBreakModel_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEBSPDecal_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEBSPDecal_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEBubbles_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEBubbles_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEBubbleTrail_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEBubbleTrail_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEDecal_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEDecal_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgEffectData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgEffectData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEEffectDispatch_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEEffectDispatch_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEEnergySplash_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEEnergySplash_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEFizz_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEFizz_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEShatterSurface_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEShatterSurface_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEGlowSprite_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEGlowSprite_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEImpact_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEImpact_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEMuzzleFlash_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEMuzzleFlash_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEBloodStream_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEBloodStream_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEExplosion_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEExplosion_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEDust_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEDust_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTELargeFunnel_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTELargeFunnel_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTESparks_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTESparks_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEPhysicsProp_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEPhysicsProp_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEPlayerDecal_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEPlayerDecal_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEProjectedDecal_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEProjectedDecal_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTESmoke_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTESmoke_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTEWorldDecal_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTEWorldDecal_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\013s2_te.proto\032\026networkbasetypes.proto\"I\n" +
      "\023CMsgTEArmorRicochet\022\030\n\003pos\030\001 \001(\0132\013.CMsg" +
      "Vector\022\030\n\003dir\030\002 \001(\0132\013.CMsgVector\"\341\001\n\016CMs" +
      "gTEBaseBeam\022\022\n\nmodelindex\030\001 \001(\006\022\021\n\thaloi" +
      "ndex\030\002 \001(\006\022\022\n\nstartframe\030\003 \001(\r\022\021\n\tframer" +
      "ate\030\004 \001(\r\022\014\n\004life\030\005 \001(\002\022\r\n\005width\030\006 \001(\002\022\020" +
      "\n\010endwidth\030\007 \001(\002\022\022\n\nfadelength\030\010 \001(\r\022\021\n\t" +
      "amplitude\030\t \001(\002\022\r\n\005color\030\n \001(\007\022\r\n\005speed\030" +
      "\013 \001(\r\022\r\n\005flags\030\014 \001(\r\"\221\001\n\022CMsgTEBeamEntPo" +
      "int\022\035\n\004base\030\001 \001(\0132\017.CMsgTEBaseBeam\022\023\n\013st",
      "artentity\030\002 \001(\r\022\021\n\tendentity\030\003 \001(\r\022\032\n\005st" +
      "art\030\004 \001(\0132\013.CMsgVector\022\030\n\003end\030\005 \001(\0132\013.CM" +
      "sgVector\"W\n\016CMsgTEBeamEnts\022\035\n\004base\030\001 \001(\013" +
      "2\017.CMsgTEBaseBeam\022\023\n\013startentity\030\002 \001(\r\022\021" +
      "\n\tendentity\030\003 \001(\r\"g\n\020CMsgTEBeamPoints\022\035\n" +
      "\004base\030\001 \001(\0132\017.CMsgTEBaseBeam\022\032\n\005start\030\002 " +
      "\001(\0132\013.CMsgVector\022\030\n\003end\030\003 \001(\0132\013.CMsgVect" +
      "or\"W\n\016CMsgTEBeamRing\022\035\n\004base\030\001 \001(\0132\017.CMs" +
      "gTEBaseBeam\022\023\n\013startentity\030\002 \001(\r\022\021\n\tende" +
      "ntity\030\003 \001(\r\"\335\001\n\020CMsgTEBreakModel\022\033\n\006orig",
      "in\030\001 \001(\0132\013.CMsgVector\022\033\n\006angles\030\002 \001(\0132\013." +
      "CMsgQAngle\022\031\n\004size\030\003 \001(\0132\013.CMsgVector\022\035\n" +
      "\010velocity\030\004 \001(\0132\013.CMsgVector\022\025\n\rrandomiz" +
      "ation\030\005 \001(\r\022\022\n\nmodelindex\030\006 \001(\006\022\r\n\005count" +
      "\030\007 \001(\r\022\014\n\004time\030\010 \001(\002\022\r\n\005flags\030\t \001(\r\"\205\001\n\016" +
      "CMsgTEBSPDecal\022\033\n\006origin\030\001 \001(\0132\013.CMsgVec" +
      "tor\022\033\n\006normal\030\002 \001(\0132\013.CMsgVector\022\032\n\005saxi" +
      "s\030\003 \001(\0132\013.CMsgVector\022\016\n\006entity\030\004 \001(\r\022\r\n\005" +
      "index\030\005 \001(\r\"s\n\rCMsgTEBubbles\022\031\n\004mins\030\001 \001" +
      "(\0132\013.CMsgVector\022\031\n\004maxs\030\002 \001(\0132\013.CMsgVect",
      "or\022\016\n\006height\030\003 \001(\002\022\r\n\005count\030\004 \001(\r\022\r\n\005spe" +
      "ed\030\005 \001(\002\"w\n\021CMsgTEBubbleTrail\022\031\n\004mins\030\001 " +
      "\001(\0132\013.CMsgVector\022\031\n\004maxs\030\002 \001(\0132\013.CMsgVec" +
      "tor\022\016\n\006waterz\030\003 \001(\002\022\r\n\005count\030\004 \001(\r\022\r\n\005sp" +
      "eed\030\005 \001(\002\"u\n\013CMsgTEDecal\022\033\n\006origin\030\001 \001(\013" +
      "2\013.CMsgVector\022\032\n\005start\030\002 \001(\0132\013.CMsgVecto" +
      "r\022\016\n\006entity\030\003 \001(\r\022\016\n\006hitbox\030\004 \001(\r\022\r\n\005ind" +
      "ex\030\005 \001(\r\"\235\003\n\016CMsgEffectData\022\033\n\006origin\030\001 " +
      "\001(\0132\013.CMsgVector\022\032\n\005start\030\002 \001(\0132\013.CMsgVe" +
      "ctor\022\033\n\006normal\030\003 \001(\0132\013.CMsgVector\022\033\n\006ang",
      "les\030\004 \001(\0132\013.CMsgQAngle\022\016\n\006entity\030\005 \001(\007\022\023" +
      "\n\013otherentity\030\006 \001(\007\022\r\n\005scale\030\007 \001(\002\022\021\n\tma" +
      "gnitude\030\010 \001(\002\022\016\n\006radius\030\t \001(\002\022\023\n\013surface" +
      "prop\030\n \001(\007\022\023\n\013effectindex\030\013 \001(\006\022\022\n\ndamag" +
      "etype\030\014 \001(\r\022\020\n\010material\030\r \001(\r\022\016\n\006hitbox\030" +
      "\016 \001(\r\022\r\n\005color\030\017 \001(\r\022\r\n\005flags\030\020 \001(\r\022\027\n\017a" +
      "ttachmentindex\030\021 \001(\005\022\022\n\neffectname\030\022 \001(\r" +
      "\022\026\n\016attachmentname\030\023 \001(\r\";\n\024CMsgTEEffect" +
      "Dispatch\022#\n\neffectdata\030\001 \001(\0132\017.CMsgEffec" +
      "tData\"[\n\022CMsgTEEnergySplash\022\030\n\003pos\030\001 \001(\013",
      "2\013.CMsgVector\022\030\n\003dir\030\002 \001(\0132\013.CMsgVector\022" +
      "\021\n\texplosive\030\003 \001(\010\">\n\nCMsgTEFizz\022\016\n\006enti" +
      "ty\030\001 \001(\r\022\017\n\007density\030\002 \001(\r\022\017\n\007current\030\003 \001" +
      "(\005\"\371\001\n\024CMsgTEShatterSurface\022\033\n\006origin\030\001 " +
      "\001(\0132\013.CMsgVector\022\033\n\006angles\030\002 \001(\0132\013.CMsgQ" +
      "Angle\022\032\n\005force\030\003 \001(\0132\013.CMsgVector\022\035\n\010for" +
      "cepos\030\004 \001(\0132\013.CMsgVector\022\r\n\005width\030\005 \001(\002\022" +
      "\016\n\006height\030\006 \001(\002\022\021\n\tshardsize\030\007 \001(\002\022\023\n\013su" +
      "rfacetype\030\010 \001(\r\022\022\n\nfrontcolor\030\t \001(\007\022\021\n\tb" +
      "ackcolor\030\n \001(\007\"`\n\020CMsgTEGlowSprite\022\033\n\006or",
      "igin\030\001 \001(\0132\013.CMsgVector\022\r\n\005scale\030\002 \001(\002\022\014" +
      "\n\004life\030\003 \001(\002\022\022\n\nbrightness\030\004 \001(\r\"V\n\014CMsg" +
      "TEImpact\022\033\n\006origin\030\001 \001(\0132\013.CMsgVector\022\033\n" +
      "\006normal\030\002 \001(\0132\013.CMsgVector\022\014\n\004type\030\003 \001(\r" +
      "\"j\n\021CMsgTEMuzzleFlash\022\033\n\006origin\030\001 \001(\0132\013." +
      "CMsgVector\022\033\n\006angles\030\002 \001(\0132\013.CMsgQAngle\022" +
      "\r\n\005scale\030\003 \001(\002\022\014\n\004type\030\004 \001(\r\"o\n\021CMsgTEBl" +
      "oodStream\022\033\n\006origin\030\001 \001(\0132\013.CMsgVector\022\036" +
      "\n\tdirection\030\002 \001(\0132\013.CMsgVector\022\r\n\005color\030" +
      "\003 \001(\007\022\016\n\006amount\030\004 \001(\r\"\316\001\n\017CMsgTEExplosio",
      "n\022\033\n\006origin\030\001 \001(\0132\013.CMsgVector\022\021\n\tframer" +
      "ate\030\002 \001(\r\022\r\n\005flags\030\003 \001(\r\022\033\n\006normal\030\004 \001(\013" +
      "2\013.CMsgVector\022\024\n\014materialtype\030\005 \001(\r\022\016\n\006r" +
      "adius\030\006 \001(\r\022\021\n\tmagnitude\030\007 \001(\r\022\r\n\005scale\030" +
      "\010 \001(\002\022\027\n\017affect_ragdolls\030\t \001(\010\"f\n\nCMsgTE" +
      "Dust\022\033\n\006origin\030\001 \001(\0132\013.CMsgVector\022\014\n\004siz" +
      "e\030\002 \001(\002\022\r\n\005speed\030\003 \001(\002\022\036\n\tdirection\030\004 \001(" +
      "\0132\013.CMsgVector\"B\n\021CMsgTELargeFunnel\022\033\n\006o" +
      "rigin\030\001 \001(\0132\013.CMsgVector\022\020\n\010reversed\030\002 \001" +
      "(\r\"n\n\014CMsgTESparks\022\033\n\006origin\030\001 \001(\0132\013.CMs",
      "gVector\022\021\n\tmagnitude\030\002 \001(\r\022\016\n\006length\030\003 \001" +
      "(\r\022\036\n\tdirection\030\004 \001(\0132\013.CMsgVector\"\352\001\n\021C" +
      "MsgTEPhysicsProp\022\033\n\006origin\030\001 \001(\0132\013.CMsgV" +
      "ector\022\035\n\010velocity\030\002 \001(\0132\013.CMsgVector\022\033\n\006" +
      "angles\030\003 \001(\0132\013.CMsgQAngle\022\014\n\004skin\030\004 \001(\007\022" +
      "\r\n\005flags\030\005 \001(\r\022\017\n\007effects\030\006 \001(\r\022\r\n\005color" +
      "\030\007 \001(\007\022\022\n\nmodelindex\030\010 \001(\006\022\034\n\024breakmodel" +
      "snottomake\030\t \001(\r\022\r\n\005scale\030\n \001(\002\"P\n\021CMsgT" +
      "EPlayerDecal\022\033\n\006origin\030\001 \001(\0132\013.CMsgVecto" +
      "r\022\016\n\006player\030\002 \001(\r\022\016\n\006entity\030\003 \001(\r\"q\n\024CMs",
      "gTEProjectedDecal\022\033\n\006origin\030\001 \001(\0132\013.CMsg" +
      "Vector\022\033\n\006angles\030\002 \001(\0132\013.CMsgQAngle\022\r\n\005i" +
      "ndex\030\003 \001(\r\022\020\n\010distance\030\004 \001(\002\"9\n\013CMsgTESm" +
      "oke\022\033\n\006origin\030\001 \001(\0132\013.CMsgVector\022\r\n\005scal" +
      "e\030\002 \001(\002\"[\n\020CMsgTEWorldDecal\022\033\n\006origin\030\001 " +
      "\001(\0132\013.CMsgVector\022\033\n\006normal\030\002 \001(\0132\013.CMsgV" +
      "ector\022\r\n\005index\030\003 \001(\r*\323\004\n\016ETEProtobufIds\022" +
      "\030\n\023TE_EffectDispatchId\020\220\003\022\027\n\022TE_ArmorRic" +
      "ochetId\020\221\003\022\026\n\021TE_BeamEntPointId\020\222\003\022\022\n\rTE" +
      "_BeamEntsId\020\223\003\022\024\n\017TE_BeamPointsId\020\224\003\022\022\n\r",
      "TE_BeamRingId\020\225\003\022\024\n\017TE_BreakModelId\020\226\003\022\022" +
      "\n\rTE_BSPDecalId\020\227\003\022\021\n\014TE_BubblesId\020\230\003\022\025\n" +
      "\020TE_BubbleTrailId\020\231\003\022\017\n\nTE_DecalId\020\232\003\022\024\n" +
      "\017TE_WorldDecalId\020\233\003\022\026\n\021TE_EnergySplashId" +
      "\020\234\003\022\016\n\tTE_FizzId\020\235\003\022\030\n\023TE_ShatterSurface" +
      "Id\020\236\003\022\024\n\017TE_GlowSpriteId\020\237\003\022\020\n\013TE_Impact" +
      "Id\020\240\003\022\025\n\020TE_MuzzleFlashId\020\241\003\022\025\n\020TE_Blood" +
      "StreamId\020\242\003\022\023\n\016TE_ExplosionId\020\243\003\022\016\n\tTE_D" +
      "ustId\020\244\003\022\025\n\020TE_LargeFunnelId\020\245\003\022\020\n\013TE_Sp" +
      "arksId\020\246\003\022\025\n\020TE_PhysicsPropId\020\247\003\022\025\n\020TE_P",
      "layerDecalId\020\250\003\022\030\n\023TE_ProjectedDecalId\020\251" +
      "\003\022\017\n\nTE_SmokeId\020\252\003B7\n skadistats.clarity" +
      ".wire.s2.protoB\016S2TempEntitiesH\001\200\001\000"
    };
    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.common.proto.NetworkBaseTypes.getDescriptor(),
        }, assigner);
    internal_static_CMsgTEArmorRicochet_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_CMsgTEArmorRicochet_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEArmorRicochet_descriptor,
        new java.lang.String[] { "Pos", "Dir", });
    internal_static_CMsgTEBaseBeam_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_CMsgTEBaseBeam_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEBaseBeam_descriptor,
        new java.lang.String[] { "Modelindex", "Haloindex", "Startframe", "Framerate", "Life", "Width", "Endwidth", "Fadelength", "Amplitude", "Color", "Speed", "Flags", });
    internal_static_CMsgTEBeamEntPoint_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_CMsgTEBeamEntPoint_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEBeamEntPoint_descriptor,
        new java.lang.String[] { "Base", "Startentity", "Endentity", "Start", "End", });
    internal_static_CMsgTEBeamEnts_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_CMsgTEBeamEnts_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEBeamEnts_descriptor,
        new java.lang.String[] { "Base", "Startentity", "Endentity", });
    internal_static_CMsgTEBeamPoints_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_CMsgTEBeamPoints_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEBeamPoints_descriptor,
        new java.lang.String[] { "Base", "Start", "End", });
    internal_static_CMsgTEBeamRing_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_CMsgTEBeamRing_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEBeamRing_descriptor,
        new java.lang.String[] { "Base", "Startentity", "Endentity", });
    internal_static_CMsgTEBreakModel_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_CMsgTEBreakModel_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEBreakModel_descriptor,
        new java.lang.String[] { "Origin", "Angles", "Size", "Velocity", "Randomization", "Modelindex", "Count", "Time", "Flags", });
    internal_static_CMsgTEBSPDecal_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_CMsgTEBSPDecal_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEBSPDecal_descriptor,
        new java.lang.String[] { "Origin", "Normal", "Saxis", "Entity", "Index", });
    internal_static_CMsgTEBubbles_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_CMsgTEBubbles_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEBubbles_descriptor,
        new java.lang.String[] { "Mins", "Maxs", "Height", "Count", "Speed", });
    internal_static_CMsgTEBubbleTrail_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_CMsgTEBubbleTrail_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEBubbleTrail_descriptor,
        new java.lang.String[] { "Mins", "Maxs", "Waterz", "Count", "Speed", });
    internal_static_CMsgTEDecal_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_CMsgTEDecal_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEDecal_descriptor,
        new java.lang.String[] { "Origin", "Start", "Entity", "Hitbox", "Index", });
    internal_static_CMsgEffectData_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_CMsgEffectData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgEffectData_descriptor,
        new java.lang.String[] { "Origin", "Start", "Normal", "Angles", "Entity", "Otherentity", "Scale", "Magnitude", "Radius", "Surfaceprop", "Effectindex", "Damagetype", "Material", "Hitbox", "Color", "Flags", "Attachmentindex", "Effectname", "Attachmentname", });
    internal_static_CMsgTEEffectDispatch_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_CMsgTEEffectDispatch_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEEffectDispatch_descriptor,
        new java.lang.String[] { "Effectdata", });
    internal_static_CMsgTEEnergySplash_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_CMsgTEEnergySplash_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEEnergySplash_descriptor,
        new java.lang.String[] { "Pos", "Dir", "Explosive", });
    internal_static_CMsgTEFizz_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_CMsgTEFizz_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEFizz_descriptor,
        new java.lang.String[] { "Entity", "Density", "Current", });
    internal_static_CMsgTEShatterSurface_descriptor =
      getDescriptor().getMessageTypes().get(15);
    internal_static_CMsgTEShatterSurface_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEShatterSurface_descriptor,
        new java.lang.String[] { "Origin", "Angles", "Force", "Forcepos", "Width", "Height", "Shardsize", "Surfacetype", "Frontcolor", "Backcolor", });
    internal_static_CMsgTEGlowSprite_descriptor =
      getDescriptor().getMessageTypes().get(16);
    internal_static_CMsgTEGlowSprite_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEGlowSprite_descriptor,
        new java.lang.String[] { "Origin", "Scale", "Life", "Brightness", });
    internal_static_CMsgTEImpact_descriptor =
      getDescriptor().getMessageTypes().get(17);
    internal_static_CMsgTEImpact_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEImpact_descriptor,
        new java.lang.String[] { "Origin", "Normal", "Type", });
    internal_static_CMsgTEMuzzleFlash_descriptor =
      getDescriptor().getMessageTypes().get(18);
    internal_static_CMsgTEMuzzleFlash_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEMuzzleFlash_descriptor,
        new java.lang.String[] { "Origin", "Angles", "Scale", "Type", });
    internal_static_CMsgTEBloodStream_descriptor =
      getDescriptor().getMessageTypes().get(19);
    internal_static_CMsgTEBloodStream_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEBloodStream_descriptor,
        new java.lang.String[] { "Origin", "Direction", "Color", "Amount", });
    internal_static_CMsgTEExplosion_descriptor =
      getDescriptor().getMessageTypes().get(20);
    internal_static_CMsgTEExplosion_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEExplosion_descriptor,
        new java.lang.String[] { "Origin", "Framerate", "Flags", "Normal", "Materialtype", "Radius", "Magnitude", "Scale", "AffectRagdolls", });
    internal_static_CMsgTEDust_descriptor =
      getDescriptor().getMessageTypes().get(21);
    internal_static_CMsgTEDust_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEDust_descriptor,
        new java.lang.String[] { "Origin", "Size", "Speed", "Direction", });
    internal_static_CMsgTELargeFunnel_descriptor =
      getDescriptor().getMessageTypes().get(22);
    internal_static_CMsgTELargeFunnel_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTELargeFunnel_descriptor,
        new java.lang.String[] { "Origin", "Reversed", });
    internal_static_CMsgTESparks_descriptor =
      getDescriptor().getMessageTypes().get(23);
    internal_static_CMsgTESparks_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTESparks_descriptor,
        new java.lang.String[] { "Origin", "Magnitude", "Length", "Direction", });
    internal_static_CMsgTEPhysicsProp_descriptor =
      getDescriptor().getMessageTypes().get(24);
    internal_static_CMsgTEPhysicsProp_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEPhysicsProp_descriptor,
        new java.lang.String[] { "Origin", "Velocity", "Angles", "Skin", "Flags", "Effects", "Color", "Modelindex", "Breakmodelsnottomake", "Scale", });
    internal_static_CMsgTEPlayerDecal_descriptor =
      getDescriptor().getMessageTypes().get(25);
    internal_static_CMsgTEPlayerDecal_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEPlayerDecal_descriptor,
        new java.lang.String[] { "Origin", "Player", "Entity", });
    internal_static_CMsgTEProjectedDecal_descriptor =
      getDescriptor().getMessageTypes().get(26);
    internal_static_CMsgTEProjectedDecal_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEProjectedDecal_descriptor,
        new java.lang.String[] { "Origin", "Angles", "Index", "Distance", });
    internal_static_CMsgTESmoke_descriptor =
      getDescriptor().getMessageTypes().get(27);
    internal_static_CMsgTESmoke_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTESmoke_descriptor,
        new java.lang.String[] { "Origin", "Scale", });
    internal_static_CMsgTEWorldDecal_descriptor =
      getDescriptor().getMessageTypes().get(28);
    internal_static_CMsgTEWorldDecal_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTEWorldDecal_descriptor,
        new java.lang.String[] { "Origin", "Normal", "Index", });
    skadistats.clarity.wire.common.proto.NetworkBaseTypes.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy