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

im.bci.jnuit.lwjgl.animation.NanimParser Maven / Gradle / Ivy

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

package im.bci.jnuit.lwjgl.animation;

public final class NanimParser {
  private NanimParser() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public enum PixelFormat
      implements com.google.protobuf.ProtocolMessageEnum {
    RGB_888(0, 1),
    RGBA_8888(1, 2),
    ;
    
    public static final int RGB_888_VALUE = 1;
    public static final int RGBA_8888_VALUE = 2;
    
    
    public final int getNumber() { return value; }
    
    public static PixelFormat valueOf(int value) {
      switch (value) {
        case 1: return RGB_888;
        case 2: return RGBA_8888;
        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 PixelFormat findValueByNumber(int number) {
              return PixelFormat.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 im.bci.jnuit.lwjgl.animation.NanimParser.getDescriptor().getEnumTypes().get(0);
    }
    
    private static final PixelFormat[] VALUES = {
      RGB_888, RGBA_8888, 
    };
    
    public static PixelFormat 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 PixelFormat(int index, int value) {
      this.index = index;
      this.value = value;
    }
    
    // @@protoc_insertion_point(enum_scope:im.bci.nanim.PixelFormat)
  }
  
  public interface FrameOrBuilder extends
      com.google.protobuf.GeneratedMessage.
          ExtendableMessageOrBuilder {
    
    // required string imageName = 1;
    boolean hasImageName();
    String getImageName();
    
    // required int32 duration = 2;
    boolean hasDuration();
    int getDuration();
    
    // required float u1 = 3;
    boolean hasU1();
    float getU1();
    
    // required float v1 = 4;
    boolean hasV1();
    float getV1();
    
    // required float u2 = 5;
    boolean hasU2();
    float getU2();
    
    // required float v2 = 6;
    boolean hasV2();
    float getV2();
  }
  public static final class Frame extends
      com.google.protobuf.GeneratedMessage.ExtendableMessage<
        Frame> implements FrameOrBuilder {
    // Use Frame.newBuilder() to construct.
    private Frame(Builder builder) {
      super(builder);
    }
    private Frame(boolean noInit) {}
    
    private static final Frame defaultInstance;
    public static Frame getDefaultInstance() {
      return defaultInstance;
    }
    
    public Frame getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Frame_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Frame_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string imageName = 1;
    public static final int IMAGENAME_FIELD_NUMBER = 1;
    private java.lang.Object imageName_;
    public boolean hasImageName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getImageName() {
      java.lang.Object ref = imageName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          imageName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getImageNameBytes() {
      java.lang.Object ref = imageName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        imageName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // required int32 duration = 2;
    public static final int DURATION_FIELD_NUMBER = 2;
    private int duration_;
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public int getDuration() {
      return duration_;
    }
    
    // required float u1 = 3;
    public static final int U1_FIELD_NUMBER = 3;
    private float u1_;
    public boolean hasU1() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    public float getU1() {
      return u1_;
    }
    
    // required float v1 = 4;
    public static final int V1_FIELD_NUMBER = 4;
    private float v1_;
    public boolean hasV1() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    public float getV1() {
      return v1_;
    }
    
    // required float u2 = 5;
    public static final int U2_FIELD_NUMBER = 5;
    private float u2_;
    public boolean hasU2() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    public float getU2() {
      return u2_;
    }
    
    // required float v2 = 6;
    public static final int V2_FIELD_NUMBER = 6;
    private float v2_;
    public boolean hasV2() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    public float getV2() {
      return v2_;
    }
    
    private void initFields() {
      imageName_ = "";
      duration_ = 0;
      u1_ = 0F;
      v1_ = 0F;
      u2_ = 0F;
      v2_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasImageName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDuration()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasU1()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasV1()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasU2()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasV2()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!extensionsAreInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      com.google.protobuf.GeneratedMessage
        .ExtendableMessage.ExtensionWriter extensionWriter =
          newExtensionWriter();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getImageNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, u1_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, v1_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFloat(5, u2_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeFloat(6, v2_);
      }
      extensionWriter.writeUntil(536870912, output);
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getImageNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, u1_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, v1_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, u2_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(6, v2_);
      }
      size += extensionsSerializedSize();
      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 im.bci.jnuit.lwjgl.animation.NanimParser.Frame parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Frame parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Frame parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Frame parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Frame parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Frame parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Frame parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Frame parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Frame parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Frame parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(im.bci.jnuit.lwjgl.animation.NanimParser.Frame 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;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.ExtendableBuilder<
          im.bci.jnuit.lwjgl.animation.NanimParser.Frame, Builder> implements im.bci.jnuit.lwjgl.animation.NanimParser.FrameOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Frame_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Frame_fieldAccessorTable;
      }
      
      // Construct using im.bci.nanim.NanimParser.Frame.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(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();
        imageName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        duration_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        u1_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        v1_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        u2_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000010);
        v2_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.Frame.getDescriptor();
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Frame getDefaultInstanceForType() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.Frame.getDefaultInstance();
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Frame build() {
                im.bci.jnuit.lwjgl.animation.NanimParser.Frame result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private im.bci.jnuit.lwjgl.animation.NanimParser.Frame buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
                im.bci.jnuit.lwjgl.animation.NanimParser.Frame result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Frame buildPartial() {
                im.bci.jnuit.lwjgl.animation.NanimParser.Frame result = new im.bci.jnuit.lwjgl.animation.NanimParser.Frame(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.imageName_ = imageName_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.u1_ = u1_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.v1_ = v1_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.u2_ = u2_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.v2_ = v2_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof im.bci.jnuit.lwjgl.animation.NanimParser.Frame) {
          return mergeFrom((im.bci.jnuit.lwjgl.animation.NanimParser.Frame)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(im.bci.jnuit.lwjgl.animation.NanimParser.Frame other) {
        if (other == im.bci.jnuit.lwjgl.animation.NanimParser.Frame.getDefaultInstance()) return this;
        if (other.hasImageName()) {
          setImageName(other.getImageName());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasU1()) {
          setU1(other.getU1());
        }
        if (other.hasV1()) {
          setV1(other.getV1());
        }
        if (other.hasU2()) {
          setU2(other.getU2());
        }
        if (other.hasV2()) {
          setV2(other.getV2());
        }
        this.mergeExtensionFields(other);
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasImageName()) {
          
          return false;
        }
        if (!hasDuration()) {
          
          return false;
        }
        if (!hasU1()) {
          
          return false;
        }
        if (!hasV1()) {
          
          return false;
        }
        if (!hasU2()) {
          
          return false;
        }
        if (!hasV2()) {
          
          return false;
        }
        if (!extensionsAreInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              imageName_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              duration_ = input.readInt32();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              u1_ = input.readFloat();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              v1_ = input.readFloat();
              break;
            }
            case 45: {
              bitField0_ |= 0x00000010;
              u2_ = input.readFloat();
              break;
            }
            case 53: {
              bitField0_ |= 0x00000020;
              v2_ = input.readFloat();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string imageName = 1;
      private java.lang.Object imageName_ = "";
      public boolean hasImageName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getImageName() {
        java.lang.Object ref = imageName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          imageName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setImageName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        imageName_ = value;
        onChanged();
        return this;
      }
      public Builder clearImageName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        imageName_ = getDefaultInstance().getImageName();
        onChanged();
        return this;
      }
      void setImageName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        imageName_ = value;
        onChanged();
      }
      
      // required int32 duration = 2;
      private int duration_ ;
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public int getDuration() {
        return duration_;
      }
      public Builder setDuration(int value) {
        bitField0_ |= 0x00000002;
        duration_ = value;
        onChanged();
        return this;
      }
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000002);
        duration_ = 0;
        onChanged();
        return this;
      }
      
      // required float u1 = 3;
      private float u1_ ;
      public boolean hasU1() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public float getU1() {
        return u1_;
      }
      public Builder setU1(float value) {
        bitField0_ |= 0x00000004;
        u1_ = value;
        onChanged();
        return this;
      }
      public Builder clearU1() {
        bitField0_ = (bitField0_ & ~0x00000004);
        u1_ = 0F;
        onChanged();
        return this;
      }
      
      // required float v1 = 4;
      private float v1_ ;
      public boolean hasV1() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public float getV1() {
        return v1_;
      }
      public Builder setV1(float value) {
        bitField0_ |= 0x00000008;
        v1_ = value;
        onChanged();
        return this;
      }
      public Builder clearV1() {
        bitField0_ = (bitField0_ & ~0x00000008);
        v1_ = 0F;
        onChanged();
        return this;
      }
      
      // required float u2 = 5;
      private float u2_ ;
      public boolean hasU2() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      public float getU2() {
        return u2_;
      }
      public Builder setU2(float value) {
        bitField0_ |= 0x00000010;
        u2_ = value;
        onChanged();
        return this;
      }
      public Builder clearU2() {
        bitField0_ = (bitField0_ & ~0x00000010);
        u2_ = 0F;
        onChanged();
        return this;
      }
      
      // required float v2 = 6;
      private float v2_ ;
      public boolean hasV2() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      public float getV2() {
        return v2_;
      }
      public Builder setV2(float value) {
        bitField0_ |= 0x00000020;
        v2_ = value;
        onChanged();
        return this;
      }
      public Builder clearV2() {
        bitField0_ = (bitField0_ & ~0x00000020);
        v2_ = 0F;
        onChanged();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:im.bci.nanim.Frame)
    }
    
    static {
      defaultInstance = new Frame(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:im.bci.nanim.Frame)
  }
  
  public interface AnimationOrBuilder extends
      com.google.protobuf.GeneratedMessage.
          ExtendableMessageOrBuilder {
    
    // required string name = 1;
    boolean hasName();
    String getName();
    
    // repeated .im.bci.nanim.Frame frames = 2;
    java.util.List 
        getFramesList();
        im.bci.jnuit.lwjgl.animation.NanimParser.Frame getFrames(int index);
    int getFramesCount();
    java.util.List 
        getFramesOrBuilderList();
        im.bci.jnuit.lwjgl.animation.NanimParser.FrameOrBuilder getFramesOrBuilder(
        int index);
  }
  public static final class Animation extends
      com.google.protobuf.GeneratedMessage.ExtendableMessage<
        Animation> implements AnimationOrBuilder {
    // Use Animation.newBuilder() to construct.
    private Animation(Builder builder) {
      super(builder);
    }
    private Animation(boolean noInit) {}
    
    private static final Animation defaultInstance;
    public static Animation getDefaultInstance() {
      return defaultInstance;
    }
    
    public Animation getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Animation_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Animation_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string name = 1;
    public static final int NAME_FIELD_NUMBER = 1;
    private java.lang.Object name_;
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          name_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // repeated .im.bci.nanim.Frame frames = 2;
    public static final int FRAMES_FIELD_NUMBER = 2;
    private java.util.List frames_;
    public java.util.List getFramesList() {
      return frames_;
    }
    public java.util.List 
        getFramesOrBuilderList() {
      return frames_;
    }
    public int getFramesCount() {
      return frames_.size();
    }
    public im.bci.jnuit.lwjgl.animation.NanimParser.Frame getFrames(int index) {
      return frames_.get(index);
    }
    public im.bci.jnuit.lwjgl.animation.NanimParser.FrameOrBuilder getFramesOrBuilder(
        int index) {
      return frames_.get(index);
    }
    
    private void initFields() {
      name_ = "";
      frames_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getFramesCount(); i++) {
        if (!getFrames(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (!extensionsAreInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      com.google.protobuf.GeneratedMessage
        .ExtendableMessage.ExtensionWriter extensionWriter =
          newExtensionWriter();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getNameBytes());
      }
      for (int i = 0; i < frames_.size(); i++) {
        output.writeMessage(2, frames_.get(i));
      }
      extensionWriter.writeUntil(536870912, output);
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getNameBytes());
      }
      for (int i = 0; i < frames_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, frames_.get(i));
      }
      size += extensionsSerializedSize();
      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 im.bci.jnuit.lwjgl.animation.NanimParser.Animation parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Animation parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Animation parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Animation parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Animation parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Animation parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Animation parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Animation parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Animation parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Animation parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(im.bci.jnuit.lwjgl.animation.NanimParser.Animation 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;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.ExtendableBuilder<
          im.bci.jnuit.lwjgl.animation.NanimParser.Animation, Builder> implements im.bci.jnuit.lwjgl.animation.NanimParser.AnimationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Animation_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Animation_fieldAccessorTable;
      }
      
      // Construct using im.bci.nanim.NanimParser.Animation.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getFramesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        name_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (framesBuilder_ == null) {
          frames_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          framesBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.Animation.getDescriptor();
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Animation getDefaultInstanceForType() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.Animation.getDefaultInstance();
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Animation build() {
                im.bci.jnuit.lwjgl.animation.NanimParser.Animation result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private im.bci.jnuit.lwjgl.animation.NanimParser.Animation buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
                im.bci.jnuit.lwjgl.animation.NanimParser.Animation result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Animation buildPartial() {
                im.bci.jnuit.lwjgl.animation.NanimParser.Animation result = new im.bci.jnuit.lwjgl.animation.NanimParser.Animation(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.name_ = name_;
        if (framesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            frames_ = java.util.Collections.unmodifiableList(frames_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.frames_ = frames_;
        } else {
          result.frames_ = framesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof im.bci.jnuit.lwjgl.animation.NanimParser.Animation) {
          return mergeFrom((im.bci.jnuit.lwjgl.animation.NanimParser.Animation)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(im.bci.jnuit.lwjgl.animation.NanimParser.Animation other) {
        if (other == im.bci.jnuit.lwjgl.animation.NanimParser.Animation.getDefaultInstance()) return this;
        if (other.hasName()) {
          setName(other.getName());
        }
        if (framesBuilder_ == null) {
          if (!other.frames_.isEmpty()) {
            if (frames_.isEmpty()) {
              frames_ = other.frames_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureFramesIsMutable();
              frames_.addAll(other.frames_);
            }
            onChanged();
          }
        } else {
          if (!other.frames_.isEmpty()) {
            if (framesBuilder_.isEmpty()) {
              framesBuilder_.dispose();
              framesBuilder_ = null;
              frames_ = other.frames_;
              bitField0_ = (bitField0_ & ~0x00000002);
              framesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getFramesFieldBuilder() : null;
            } else {
              framesBuilder_.addAllMessages(other.frames_);
            }
          }
        }
        this.mergeExtensionFields(other);
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasName()) {
          
          return false;
        }
        for (int i = 0; i < getFramesCount(); i++) {
          if (!getFrames(i).isInitialized()) {
            
            return false;
          }
        }
        if (!extensionsAreInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              name_ = input.readBytes();
              break;
            }
            case 18: {
                        im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder subBuilder = im.bci.jnuit.lwjgl.animation.NanimParser.Frame.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addFrames(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string name = 1;
      private java.lang.Object name_ = "";
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
        return this;
      }
      public Builder clearName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      void setName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
      }
      
      // repeated .im.bci.nanim.Frame frames = 2;
      private java.util.List frames_ =
        java.util.Collections.emptyList();
      private void ensureFramesIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          frames_ = new java.util.ArrayList(frames_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
            im.bci.jnuit.lwjgl.animation.NanimParser.Frame, im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder, im.bci.jnuit.lwjgl.animation.NanimParser.FrameOrBuilder> framesBuilder_;
      
      public java.util.List getFramesList() {
        if (framesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(frames_);
        } else {
          return framesBuilder_.getMessageList();
        }
      }
      public int getFramesCount() {
        if (framesBuilder_ == null) {
          return frames_.size();
        } else {
          return framesBuilder_.getCount();
        }
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Frame getFrames(int index) {
        if (framesBuilder_ == null) {
          return frames_.get(index);
        } else {
          return framesBuilder_.getMessage(index);
        }
      }
      public Builder setFrames(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Frame value) {
        if (framesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFramesIsMutable();
          frames_.set(index, value);
          onChanged();
        } else {
          framesBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setFrames(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder builderForValue) {
        if (framesBuilder_ == null) {
          ensureFramesIsMutable();
          frames_.set(index, builderForValue.build());
          onChanged();
        } else {
          framesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addFrames(im.bci.jnuit.lwjgl.animation.NanimParser.Frame value) {
        if (framesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFramesIsMutable();
          frames_.add(value);
          onChanged();
        } else {
          framesBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addFrames(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Frame value) {
        if (framesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFramesIsMutable();
          frames_.add(index, value);
          onChanged();
        } else {
          framesBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addFrames(
            im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder builderForValue) {
        if (framesBuilder_ == null) {
          ensureFramesIsMutable();
          frames_.add(builderForValue.build());
          onChanged();
        } else {
          framesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addFrames(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder builderForValue) {
        if (framesBuilder_ == null) {
          ensureFramesIsMutable();
          frames_.add(index, builderForValue.build());
          onChanged();
        } else {
          framesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllFrames(
          java.lang.Iterable values) {
        if (framesBuilder_ == null) {
          ensureFramesIsMutable();
          super.addAll(values, frames_);
          onChanged();
        } else {
          framesBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearFrames() {
        if (framesBuilder_ == null) {
          frames_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          framesBuilder_.clear();
        }
        return this;
      }
      public Builder removeFrames(int index) {
        if (framesBuilder_ == null) {
          ensureFramesIsMutable();
          frames_.remove(index);
          onChanged();
        } else {
          framesBuilder_.remove(index);
        }
        return this;
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder getFramesBuilder(
          int index) {
        return getFramesFieldBuilder().getBuilder(index);
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.FrameOrBuilder getFramesOrBuilder(
          int index) {
        if (framesBuilder_ == null) {
          return frames_.get(index);  } else {
          return framesBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getFramesOrBuilderList() {
        if (framesBuilder_ != null) {
          return framesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(frames_);
        }
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder addFramesBuilder() {
        return getFramesFieldBuilder().addBuilder(
                im.bci.jnuit.lwjgl.animation.NanimParser.Frame.getDefaultInstance());
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder addFramesBuilder(
          int index) {
        return getFramesFieldBuilder().addBuilder(
            index, im.bci.jnuit.lwjgl.animation.NanimParser.Frame.getDefaultInstance());
      }
      public java.util.List 
           getFramesBuilderList() {
        return getFramesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
            im.bci.jnuit.lwjgl.animation.NanimParser.Frame, im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder, im.bci.jnuit.lwjgl.animation.NanimParser.FrameOrBuilder> 
          getFramesFieldBuilder() {
        if (framesBuilder_ == null) {
          framesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                    im.bci.jnuit.lwjgl.animation.NanimParser.Frame, im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder, im.bci.jnuit.lwjgl.animation.NanimParser.FrameOrBuilder>(
                  frames_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          frames_ = null;
        }
        return framesBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:im.bci.nanim.Animation)
    }
    
    static {
      defaultInstance = new Animation(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:im.bci.nanim.Animation)
  }
  
  public interface ImageOrBuilder extends
      com.google.protobuf.GeneratedMessage.
          ExtendableMessageOrBuilder {
    
    // required string name = 1;
    boolean hasName();
    String getName();
    
    // required int32 width = 2;
    boolean hasWidth();
    int getWidth();
    
    // required int32 height = 3;
    boolean hasHeight();
    int getHeight();
    
    // required .im.bci.nanim.PixelFormat format = 4;
    boolean hasFormat();
        im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat getFormat();
    
    // required bytes pixels = 5;
    boolean hasPixels();
    com.google.protobuf.ByteString getPixels();
  }
  public static final class Image extends
      com.google.protobuf.GeneratedMessage.ExtendableMessage<
        Image> implements ImageOrBuilder {
    // Use Image.newBuilder() to construct.
    private Image(Builder builder) {
      super(builder);
    }
    private Image(boolean noInit) {}
    
    private static final Image defaultInstance;
    public static Image getDefaultInstance() {
      return defaultInstance;
    }
    
    public Image getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Image_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Image_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string name = 1;
    public static final int NAME_FIELD_NUMBER = 1;
    private java.lang.Object name_;
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          name_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // required int32 width = 2;
    public static final int WIDTH_FIELD_NUMBER = 2;
    private int width_;
    public boolean hasWidth() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public int getWidth() {
      return width_;
    }
    
    // required int32 height = 3;
    public static final int HEIGHT_FIELD_NUMBER = 3;
    private int height_;
    public boolean hasHeight() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    public int getHeight() {
      return height_;
    }
    
    // required .im.bci.nanim.PixelFormat format = 4;
    public static final int FORMAT_FIELD_NUMBER = 4;
    private im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat format_;
    public boolean hasFormat() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    public im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat getFormat() {
      return format_;
    }
    
    // required bytes pixels = 5;
    public static final int PIXELS_FIELD_NUMBER = 5;
    private com.google.protobuf.ByteString pixels_;
    public boolean hasPixels() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    public com.google.protobuf.ByteString getPixels() {
      return pixels_;
    }
    
    private void initFields() {
      name_ = "";
      width_ = 0;
      height_ = 0;
      format_ = im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat.RGB_888;
      pixels_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasWidth()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasHeight()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasFormat()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPixels()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!extensionsAreInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      com.google.protobuf.GeneratedMessage
        .ExtendableMessage.ExtensionWriter extensionWriter =
          newExtensionWriter();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, width_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, height_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeEnum(4, format_.getNumber());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(5, pixels_);
      }
      extensionWriter.writeUntil(536870912, output);
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, width_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, height_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(4, format_.getNumber());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, pixels_);
      }
      size += extensionsSerializedSize();
      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 im.bci.jnuit.lwjgl.animation.NanimParser.Image parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Image parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Image parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Image parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Image parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Image parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Image parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Image parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Image parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Image parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(im.bci.jnuit.lwjgl.animation.NanimParser.Image 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;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.ExtendableBuilder<
          im.bci.jnuit.lwjgl.animation.NanimParser.Image, Builder> implements im.bci.jnuit.lwjgl.animation.NanimParser.ImageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Image_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Image_fieldAccessorTable;
      }
      
      // Construct using im.bci.nanim.NanimParser.Image.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(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();
        name_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        width_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        height_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        format_ = im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat.RGB_888;
        bitField0_ = (bitField0_ & ~0x00000008);
        pixels_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.Image.getDescriptor();
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Image getDefaultInstanceForType() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.Image.getDefaultInstance();
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Image build() {
                im.bci.jnuit.lwjgl.animation.NanimParser.Image result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private im.bci.jnuit.lwjgl.animation.NanimParser.Image buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
                im.bci.jnuit.lwjgl.animation.NanimParser.Image result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Image buildPartial() {
                im.bci.jnuit.lwjgl.animation.NanimParser.Image result = new im.bci.jnuit.lwjgl.animation.NanimParser.Image(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.name_ = name_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.width_ = width_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.height_ = height_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.format_ = format_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.pixels_ = pixels_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof im.bci.jnuit.lwjgl.animation.NanimParser.Image) {
          return mergeFrom((im.bci.jnuit.lwjgl.animation.NanimParser.Image)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(im.bci.jnuit.lwjgl.animation.NanimParser.Image other) {
        if (other == im.bci.jnuit.lwjgl.animation.NanimParser.Image.getDefaultInstance()) return this;
        if (other.hasName()) {
          setName(other.getName());
        }
        if (other.hasWidth()) {
          setWidth(other.getWidth());
        }
        if (other.hasHeight()) {
          setHeight(other.getHeight());
        }
        if (other.hasFormat()) {
          setFormat(other.getFormat());
        }
        if (other.hasPixels()) {
          setPixels(other.getPixels());
        }
        this.mergeExtensionFields(other);
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasName()) {
          
          return false;
        }
        if (!hasWidth()) {
          
          return false;
        }
        if (!hasHeight()) {
          
          return false;
        }
        if (!hasFormat()) {
          
          return false;
        }
        if (!hasPixels()) {
          
          return false;
        }
        if (!extensionsAreInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              name_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              width_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              height_ = input.readInt32();
              break;
            }
            case 32: {
              int rawValue = input.readEnum();
                        im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat value = im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(4, rawValue);
              } else {
                bitField0_ |= 0x00000008;
                format_ = value;
              }
              break;
            }
            case 42: {
              bitField0_ |= 0x00000010;
              pixels_ = input.readBytes();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string name = 1;
      private java.lang.Object name_ = "";
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
        return this;
      }
      public Builder clearName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      void setName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
      }
      
      // required int32 width = 2;
      private int width_ ;
      public boolean hasWidth() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public int getWidth() {
        return width_;
      }
      public Builder setWidth(int value) {
        bitField0_ |= 0x00000002;
        width_ = value;
        onChanged();
        return this;
      }
      public Builder clearWidth() {
        bitField0_ = (bitField0_ & ~0x00000002);
        width_ = 0;
        onChanged();
        return this;
      }
      
      // required int32 height = 3;
      private int height_ ;
      public boolean hasHeight() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public int getHeight() {
        return height_;
      }
      public Builder setHeight(int value) {
        bitField0_ |= 0x00000004;
        height_ = value;
        onChanged();
        return this;
      }
      public Builder clearHeight() {
        bitField0_ = (bitField0_ & ~0x00000004);
        height_ = 0;
        onChanged();
        return this;
      }
      
      // required .im.bci.nanim.PixelFormat format = 4;
      private im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat format_ = im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat.RGB_888;
      public boolean hasFormat() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat getFormat() {
        return format_;
      }
      public Builder setFormat(im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000008;
        format_ = value;
        onChanged();
        return this;
      }
      public Builder clearFormat() {
        bitField0_ = (bitField0_ & ~0x00000008);
        format_ = im.bci.jnuit.lwjgl.animation.NanimParser.PixelFormat.RGB_888;
        onChanged();
        return this;
      }
      
      // required bytes pixels = 5;
      private com.google.protobuf.ByteString pixels_ = com.google.protobuf.ByteString.EMPTY;
      public boolean hasPixels() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      public com.google.protobuf.ByteString getPixels() {
        return pixels_;
      }
      public Builder setPixels(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        pixels_ = value;
        onChanged();
        return this;
      }
      public Builder clearPixels() {
        bitField0_ = (bitField0_ & ~0x00000010);
        pixels_ = getDefaultInstance().getPixels();
        onChanged();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:im.bci.nanim.Image)
    }
    
    static {
      defaultInstance = new Image(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:im.bci.nanim.Image)
  }
  
  public interface NanimOrBuilder extends
      com.google.protobuf.GeneratedMessage.
          ExtendableMessageOrBuilder {
    
    // repeated .im.bci.nanim.Image images = 1;
    java.util.List 
        getImagesList();
        im.bci.jnuit.lwjgl.animation.NanimParser.Image getImages(int index);
    int getImagesCount();
    java.util.List 
        getImagesOrBuilderList();
        im.bci.jnuit.lwjgl.animation.NanimParser.ImageOrBuilder getImagesOrBuilder(
        int index);
    
    // repeated .im.bci.nanim.Animation animations = 2;
    java.util.List 
        getAnimationsList();
        im.bci.jnuit.lwjgl.animation.NanimParser.Animation getAnimations(int index);
    int getAnimationsCount();
    java.util.List 
        getAnimationsOrBuilderList();
        im.bci.jnuit.lwjgl.animation.NanimParser.AnimationOrBuilder getAnimationsOrBuilder(
        int index);
    
    // optional string author = 3;
    boolean hasAuthor();
    String getAuthor();
    
    // optional string license = 4;
    boolean hasLicense();
    String getLicense();
  }
  public static final class Nanim extends
      com.google.protobuf.GeneratedMessage.ExtendableMessage<
        Nanim> implements NanimOrBuilder {
    // Use Nanim.newBuilder() to construct.
    private Nanim(Builder builder) {
      super(builder);
    }
    private Nanim(boolean noInit) {}
    
    private static final Nanim defaultInstance;
    public static Nanim getDefaultInstance() {
      return defaultInstance;
    }
    
    public Nanim getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Nanim_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Nanim_fieldAccessorTable;
    }
    
    private int bitField0_;
    // repeated .im.bci.nanim.Image images = 1;
    public static final int IMAGES_FIELD_NUMBER = 1;
    private java.util.List images_;
    public java.util.List getImagesList() {
      return images_;
    }
    public java.util.List 
        getImagesOrBuilderList() {
      return images_;
    }
    public int getImagesCount() {
      return images_.size();
    }
    public im.bci.jnuit.lwjgl.animation.NanimParser.Image getImages(int index) {
      return images_.get(index);
    }
    public im.bci.jnuit.lwjgl.animation.NanimParser.ImageOrBuilder getImagesOrBuilder(
        int index) {
      return images_.get(index);
    }
    
    // repeated .im.bci.nanim.Animation animations = 2;
    public static final int ANIMATIONS_FIELD_NUMBER = 2;
    private java.util.List animations_;
    public java.util.List getAnimationsList() {
      return animations_;
    }
    public java.util.List 
        getAnimationsOrBuilderList() {
      return animations_;
    }
    public int getAnimationsCount() {
      return animations_.size();
    }
    public im.bci.jnuit.lwjgl.animation.NanimParser.Animation getAnimations(int index) {
      return animations_.get(index);
    }
    public im.bci.jnuit.lwjgl.animation.NanimParser.AnimationOrBuilder getAnimationsOrBuilder(
        int index) {
      return animations_.get(index);
    }
    
    // optional string author = 3;
    public static final int AUTHOR_FIELD_NUMBER = 3;
    private java.lang.Object author_;
    public boolean hasAuthor() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getAuthor() {
      java.lang.Object ref = author_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          author_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getAuthorBytes() {
      java.lang.Object ref = author_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        author_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // optional string license = 4;
    public static final int LICENSE_FIELD_NUMBER = 4;
    private java.lang.Object license_;
    public boolean hasLicense() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public String getLicense() {
      java.lang.Object ref = license_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          license_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getLicenseBytes() {
      java.lang.Object ref = license_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        license_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    private void initFields() {
      images_ = java.util.Collections.emptyList();
      animations_ = java.util.Collections.emptyList();
      author_ = "";
      license_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      for (int i = 0; i < getImagesCount(); i++) {
        if (!getImages(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getAnimationsCount(); i++) {
        if (!getAnimations(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (!extensionsAreInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      com.google.protobuf.GeneratedMessage
        .ExtendableMessage.ExtensionWriter extensionWriter =
          newExtensionWriter();
      for (int i = 0; i < images_.size(); i++) {
        output.writeMessage(1, images_.get(i));
      }
      for (int i = 0; i < animations_.size(); i++) {
        output.writeMessage(2, animations_.get(i));
      }
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(3, getAuthorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(4, getLicenseBytes());
      }
      extensionWriter.writeUntil(536870912, output);
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (int i = 0; i < images_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, images_.get(i));
      }
      for (int i = 0; i < animations_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, animations_.get(i));
      }
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getAuthorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, getLicenseBytes());
      }
      size += extensionsSerializedSize();
      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 im.bci.jnuit.lwjgl.animation.NanimParser.Nanim parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Nanim parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Nanim parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Nanim parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Nanim parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Nanim parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Nanim parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Nanim parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Nanim parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static im.bci.jnuit.lwjgl.animation.NanimParser.Nanim parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(im.bci.jnuit.lwjgl.animation.NanimParser.Nanim 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;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.ExtendableBuilder<
          im.bci.jnuit.lwjgl.animation.NanimParser.Nanim, Builder> implements im.bci.jnuit.lwjgl.animation.NanimParser.NanimOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Nanim_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.internal_static_im_bci_nanim_Nanim_fieldAccessorTable;
      }
      
      // Construct using im.bci.nanim.NanimParser.Nanim.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getImagesFieldBuilder();
          getAnimationsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (imagesBuilder_ == null) {
          images_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          imagesBuilder_.clear();
        }
        if (animationsBuilder_ == null) {
          animations_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          animationsBuilder_.clear();
        }
        author_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        license_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.Nanim.getDescriptor();
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Nanim getDefaultInstanceForType() {
        return  im.bci.jnuit.lwjgl.animation.NanimParser.Nanim.getDefaultInstance();
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Nanim build() {
                im.bci.jnuit.lwjgl.animation.NanimParser.Nanim result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private im.bci.jnuit.lwjgl.animation.NanimParser.Nanim buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
                im.bci.jnuit.lwjgl.animation.NanimParser.Nanim result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public im.bci.jnuit.lwjgl.animation.NanimParser.Nanim buildPartial() {
                im.bci.jnuit.lwjgl.animation.NanimParser.Nanim result = new im.bci.jnuit.lwjgl.animation.NanimParser.Nanim(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (imagesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            images_ = java.util.Collections.unmodifiableList(images_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.images_ = images_;
        } else {
          result.images_ = imagesBuilder_.build();
        }
        if (animationsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            animations_ = java.util.Collections.unmodifiableList(animations_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.animations_ = animations_;
        } else {
          result.animations_ = animationsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000001;
        }
        result.author_ = author_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000002;
        }
        result.license_ = license_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof im.bci.jnuit.lwjgl.animation.NanimParser.Nanim) {
          return mergeFrom((im.bci.jnuit.lwjgl.animation.NanimParser.Nanim)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(im.bci.jnuit.lwjgl.animation.NanimParser.Nanim other) {
        if (other == im.bci.jnuit.lwjgl.animation.NanimParser.Nanim.getDefaultInstance()) return this;
        if (imagesBuilder_ == null) {
          if (!other.images_.isEmpty()) {
            if (images_.isEmpty()) {
              images_ = other.images_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureImagesIsMutable();
              images_.addAll(other.images_);
            }
            onChanged();
          }
        } else {
          if (!other.images_.isEmpty()) {
            if (imagesBuilder_.isEmpty()) {
              imagesBuilder_.dispose();
              imagesBuilder_ = null;
              images_ = other.images_;
              bitField0_ = (bitField0_ & ~0x00000001);
              imagesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getImagesFieldBuilder() : null;
            } else {
              imagesBuilder_.addAllMessages(other.images_);
            }
          }
        }
        if (animationsBuilder_ == null) {
          if (!other.animations_.isEmpty()) {
            if (animations_.isEmpty()) {
              animations_ = other.animations_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureAnimationsIsMutable();
              animations_.addAll(other.animations_);
            }
            onChanged();
          }
        } else {
          if (!other.animations_.isEmpty()) {
            if (animationsBuilder_.isEmpty()) {
              animationsBuilder_.dispose();
              animationsBuilder_ = null;
              animations_ = other.animations_;
              bitField0_ = (bitField0_ & ~0x00000002);
              animationsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAnimationsFieldBuilder() : null;
            } else {
              animationsBuilder_.addAllMessages(other.animations_);
            }
          }
        }
        if (other.hasAuthor()) {
          setAuthor(other.getAuthor());
        }
        if (other.hasLicense()) {
          setLicense(other.getLicense());
        }
        this.mergeExtensionFields(other);
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        for (int i = 0; i < getImagesCount(); i++) {
          if (!getImages(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getAnimationsCount(); i++) {
          if (!getAnimations(i).isInitialized()) {
            
            return false;
          }
        }
        if (!extensionsAreInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
                        im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder subBuilder = im.bci.jnuit.lwjgl.animation.NanimParser.Image.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addImages(subBuilder.buildPartial());
              break;
            }
            case 18: {
                        im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder subBuilder = im.bci.jnuit.lwjgl.animation.NanimParser.Animation.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addAnimations(subBuilder.buildPartial());
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              author_ = input.readBytes();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000008;
              license_ = input.readBytes();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // repeated .im.bci.nanim.Image images = 1;
      private java.util.List images_ =
        java.util.Collections.emptyList();
      private void ensureImagesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          images_ = new java.util.ArrayList(images_);
          bitField0_ |= 0x00000001;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
            im.bci.jnuit.lwjgl.animation.NanimParser.Image, im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder, im.bci.jnuit.lwjgl.animation.NanimParser.ImageOrBuilder> imagesBuilder_;
      
      public java.util.List getImagesList() {
        if (imagesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(images_);
        } else {
          return imagesBuilder_.getMessageList();
        }
      }
      public int getImagesCount() {
        if (imagesBuilder_ == null) {
          return images_.size();
        } else {
          return imagesBuilder_.getCount();
        }
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Image getImages(int index) {
        if (imagesBuilder_ == null) {
          return images_.get(index);
        } else {
          return imagesBuilder_.getMessage(index);
        }
      }
      public Builder setImages(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Image value) {
        if (imagesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureImagesIsMutable();
          images_.set(index, value);
          onChanged();
        } else {
          imagesBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setImages(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder builderForValue) {
        if (imagesBuilder_ == null) {
          ensureImagesIsMutable();
          images_.set(index, builderForValue.build());
          onChanged();
        } else {
          imagesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addImages(im.bci.jnuit.lwjgl.animation.NanimParser.Image value) {
        if (imagesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureImagesIsMutable();
          images_.add(value);
          onChanged();
        } else {
          imagesBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addImages(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Image value) {
        if (imagesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureImagesIsMutable();
          images_.add(index, value);
          onChanged();
        } else {
          imagesBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addImages(
            im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder builderForValue) {
        if (imagesBuilder_ == null) {
          ensureImagesIsMutable();
          images_.add(builderForValue.build());
          onChanged();
        } else {
          imagesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addImages(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder builderForValue) {
        if (imagesBuilder_ == null) {
          ensureImagesIsMutable();
          images_.add(index, builderForValue.build());
          onChanged();
        } else {
          imagesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllImages(
          java.lang.Iterable values) {
        if (imagesBuilder_ == null) {
          ensureImagesIsMutable();
          super.addAll(values, images_);
          onChanged();
        } else {
          imagesBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearImages() {
        if (imagesBuilder_ == null) {
          images_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          imagesBuilder_.clear();
        }
        return this;
      }
      public Builder removeImages(int index) {
        if (imagesBuilder_ == null) {
          ensureImagesIsMutable();
          images_.remove(index);
          onChanged();
        } else {
          imagesBuilder_.remove(index);
        }
        return this;
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder getImagesBuilder(
          int index) {
        return getImagesFieldBuilder().getBuilder(index);
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.ImageOrBuilder getImagesOrBuilder(
          int index) {
        if (imagesBuilder_ == null) {
          return images_.get(index);  } else {
          return imagesBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getImagesOrBuilderList() {
        if (imagesBuilder_ != null) {
          return imagesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(images_);
        }
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder addImagesBuilder() {
        return getImagesFieldBuilder().addBuilder(
                im.bci.jnuit.lwjgl.animation.NanimParser.Image.getDefaultInstance());
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder addImagesBuilder(
          int index) {
        return getImagesFieldBuilder().addBuilder(
            index, im.bci.jnuit.lwjgl.animation.NanimParser.Image.getDefaultInstance());
      }
      public java.util.List 
           getImagesBuilderList() {
        return getImagesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
            im.bci.jnuit.lwjgl.animation.NanimParser.Image, im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder, im.bci.jnuit.lwjgl.animation.NanimParser.ImageOrBuilder> 
          getImagesFieldBuilder() {
        if (imagesBuilder_ == null) {
          imagesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                    im.bci.jnuit.lwjgl.animation.NanimParser.Image, im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder, im.bci.jnuit.lwjgl.animation.NanimParser.ImageOrBuilder>(
                  images_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          images_ = null;
        }
        return imagesBuilder_;
      }
      
      // repeated .im.bci.nanim.Animation animations = 2;
      private java.util.List animations_ =
        java.util.Collections.emptyList();
      private void ensureAnimationsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          animations_ = new java.util.ArrayList(animations_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
            im.bci.jnuit.lwjgl.animation.NanimParser.Animation, im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder, im.bci.jnuit.lwjgl.animation.NanimParser.AnimationOrBuilder> animationsBuilder_;
      
      public java.util.List getAnimationsList() {
        if (animationsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(animations_);
        } else {
          return animationsBuilder_.getMessageList();
        }
      }
      public int getAnimationsCount() {
        if (animationsBuilder_ == null) {
          return animations_.size();
        } else {
          return animationsBuilder_.getCount();
        }
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Animation getAnimations(int index) {
        if (animationsBuilder_ == null) {
          return animations_.get(index);
        } else {
          return animationsBuilder_.getMessage(index);
        }
      }
      public Builder setAnimations(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Animation value) {
        if (animationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAnimationsIsMutable();
          animations_.set(index, value);
          onChanged();
        } else {
          animationsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setAnimations(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder builderForValue) {
        if (animationsBuilder_ == null) {
          ensureAnimationsIsMutable();
          animations_.set(index, builderForValue.build());
          onChanged();
        } else {
          animationsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAnimations(im.bci.jnuit.lwjgl.animation.NanimParser.Animation value) {
        if (animationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAnimationsIsMutable();
          animations_.add(value);
          onChanged();
        } else {
          animationsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addAnimations(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Animation value) {
        if (animationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAnimationsIsMutable();
          animations_.add(index, value);
          onChanged();
        } else {
          animationsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addAnimations(
            im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder builderForValue) {
        if (animationsBuilder_ == null) {
          ensureAnimationsIsMutable();
          animations_.add(builderForValue.build());
          onChanged();
        } else {
          animationsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addAnimations(
          int index, im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder builderForValue) {
        if (animationsBuilder_ == null) {
          ensureAnimationsIsMutable();
          animations_.add(index, builderForValue.build());
          onChanged();
        } else {
          animationsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllAnimations(
          java.lang.Iterable values) {
        if (animationsBuilder_ == null) {
          ensureAnimationsIsMutable();
          super.addAll(values, animations_);
          onChanged();
        } else {
          animationsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearAnimations() {
        if (animationsBuilder_ == null) {
          animations_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          animationsBuilder_.clear();
        }
        return this;
      }
      public Builder removeAnimations(int index) {
        if (animationsBuilder_ == null) {
          ensureAnimationsIsMutable();
          animations_.remove(index);
          onChanged();
        } else {
          animationsBuilder_.remove(index);
        }
        return this;
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder getAnimationsBuilder(
          int index) {
        return getAnimationsFieldBuilder().getBuilder(index);
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.AnimationOrBuilder getAnimationsOrBuilder(
          int index) {
        if (animationsBuilder_ == null) {
          return animations_.get(index);  } else {
          return animationsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getAnimationsOrBuilderList() {
        if (animationsBuilder_ != null) {
          return animationsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(animations_);
        }
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder addAnimationsBuilder() {
        return getAnimationsFieldBuilder().addBuilder(
                im.bci.jnuit.lwjgl.animation.NanimParser.Animation.getDefaultInstance());
      }
      public im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder addAnimationsBuilder(
          int index) {
        return getAnimationsFieldBuilder().addBuilder(
            index, im.bci.jnuit.lwjgl.animation.NanimParser.Animation.getDefaultInstance());
      }
      public java.util.List 
           getAnimationsBuilderList() {
        return getAnimationsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
            im.bci.jnuit.lwjgl.animation.NanimParser.Animation, im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder, im.bci.jnuit.lwjgl.animation.NanimParser.AnimationOrBuilder> 
          getAnimationsFieldBuilder() {
        if (animationsBuilder_ == null) {
          animationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                    im.bci.jnuit.lwjgl.animation.NanimParser.Animation, im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder, im.bci.jnuit.lwjgl.animation.NanimParser.AnimationOrBuilder>(
                  animations_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          animations_ = null;
        }
        return animationsBuilder_;
      }
      
      // optional string author = 3;
      private java.lang.Object author_ = "";
      public boolean hasAuthor() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public String getAuthor() {
        java.lang.Object ref = author_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          author_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setAuthor(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        author_ = value;
        onChanged();
        return this;
      }
      public Builder clearAuthor() {
        bitField0_ = (bitField0_ & ~0x00000004);
        author_ = getDefaultInstance().getAuthor();
        onChanged();
        return this;
      }
      void setAuthor(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000004;
        author_ = value;
        onChanged();
      }
      
      // optional string license = 4;
      private java.lang.Object license_ = "";
      public boolean hasLicense() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public String getLicense() {
        java.lang.Object ref = license_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          license_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setLicense(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        license_ = value;
        onChanged();
        return this;
      }
      public Builder clearLicense() {
        bitField0_ = (bitField0_ & ~0x00000008);
        license_ = getDefaultInstance().getLicense();
        onChanged();
        return this;
      }
      void setLicense(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000008;
        license_ = value;
        onChanged();
      }
      
      // @@protoc_insertion_point(builder_scope:im.bci.nanim.Nanim)
    }
    
    static {
      defaultInstance = new Nanim(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:im.bci.nanim.Nanim)
  }
  
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_im_bci_nanim_Frame_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_im_bci_nanim_Frame_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_im_bci_nanim_Animation_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_im_bci_nanim_Animation_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_im_bci_nanim_Image_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_im_bci_nanim_Image_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_im_bci_nanim_Nanim_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_im_bci_nanim_Nanim_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\013nanim.proto\022\014im.bci.nanim\"g\n\005Frame\022\021\n\t" +
      "imageName\030\001 \002(\t\022\020\n\010duration\030\002 \002(\005\022\n\n\002u1\030" +
      "\003 \002(\002\022\n\n\002v1\030\004 \002(\002\022\n\n\002u2\030\005 \002(\002\022\n\n\002v2\030\006 \002(" +
      "\002*\t\010\350\007\020\200\200\200\200\002\"I\n\tAnimation\022\014\n\004name\030\001 \002(\t\022" +
      "#\n\006frames\030\002 \003(\0132\023.im.bci.nanim.Frame*\t\010\350" +
      "\007\020\200\200\200\200\002\"z\n\005Image\022\014\n\004name\030\001 \002(\t\022\r\n\005width\030" +
      "\002 \002(\005\022\016\n\006height\030\003 \002(\005\022)\n\006format\030\004 \002(\0162\031." +
      "im.bci.nanim.PixelFormat\022\016\n\006pixels\030\005 \002(\014" +
      "*\t\010\350\007\020\200\200\200\200\002\"\205\001\n\005Nanim\022#\n\006images\030\001 \003(\0132\023." +
      "im.bci.nanim.Image\022+\n\nanimations\030\002 \003(\0132\027",
      ".im.bci.nanim.Animation\022\016\n\006author\030\003 \001(\t\022" +
      "\017\n\007license\030\004 \001(\t*\t\010\350\007\020\200\200\200\200\002*)\n\013PixelForm" +
      "at\022\013\n\007RGB_888\020\001\022\r\n\tRGBA_8888\020\002B\rB\013NanimP" +
      "arser"
    };
    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;
          internal_static_im_bci_nanim_Frame_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_im_bci_nanim_Frame_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_im_bci_nanim_Frame_descriptor,
              new java.lang.String[] { "ImageName", "Duration", "U1", "V1", "U2", "V2", },
                im.bci.jnuit.lwjgl.animation.NanimParser.Frame.class,
                im.bci.jnuit.lwjgl.animation.NanimParser.Frame.Builder.class);
          internal_static_im_bci_nanim_Animation_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_im_bci_nanim_Animation_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_im_bci_nanim_Animation_descriptor,
              new java.lang.String[] { "Name", "Frames", },
                im.bci.jnuit.lwjgl.animation.NanimParser.Animation.class,
                im.bci.jnuit.lwjgl.animation.NanimParser.Animation.Builder.class);
          internal_static_im_bci_nanim_Image_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_im_bci_nanim_Image_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_im_bci_nanim_Image_descriptor,
              new java.lang.String[] { "Name", "Width", "Height", "Format", "Pixels", },
                im.bci.jnuit.lwjgl.animation.NanimParser.Image.class,
                im.bci.jnuit.lwjgl.animation.NanimParser.Image.Builder.class);
          internal_static_im_bci_nanim_Nanim_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_im_bci_nanim_Nanim_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_im_bci_nanim_Nanim_descriptor,
              new java.lang.String[] { "Images", "Animations", "Author", "License", },
                im.bci.jnuit.lwjgl.animation.NanimParser.Nanim.class,
                im.bci.jnuit.lwjgl.animation.NanimParser.Nanim.Builder.class);
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }
  
  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy