content: /*
   * Copyright (C) 2021-2025 Lightbend Inc. <https://www.lightbend.com>
   */
  
  // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: ProjectionMessages.proto
  
  package akka.projection.internal.protobuf;
  
  public final class ProjectionMessages {
    private ProjectionMessages() {}
  
    public static void registerAllExtensions(
        akka.protobufv3.internal.ExtensionRegistryLite registry) {}
  
    public static void registerAllExtensions(akka.protobufv3.internal.ExtensionRegistry registry) {
      registerAllExtensions((akka.protobufv3.internal.ExtensionRegistryLite) registry);
    }
  
    public interface ProjectionIdOrBuilder
        extends
        // @@protoc_insertion_point(interface_extends:akka.projection.ProjectionId)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string name = 1;</code>
       *
       * @return Whether the name field is set.
       */
      boolean hasName();
      /**
       * <code>required string name = 1;</code>
       *
       * @return The name.
       */
      java.lang.String getName();
      /**
       * <code>required string name = 1;</code>
       *
       * @return The bytes for name.
       */
      akka.protobufv3.internal.ByteString getNameBytes();
  
      /**
       * <code>required string key = 2;</code>
       *
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required string key = 2;</code>
       *
       * @return The key.
       */
      java.lang.String getKey();
      /**
       * <code>required string key = 2;</code>
       *
       * @return The bytes for key.
       */
      akka.protobufv3.internal.ByteString getKeyBytes();
    }
    /** Protobuf type {@code akka.projection.ProjectionId} */
    public static final class ProjectionId extends akka.protobufv3.internal.GeneratedMessageV3
        implements
        // @@protoc_insertion_point(message_implements:akka.projection.ProjectionId)
        ProjectionIdOrBuilder {
      private static final long serialVersionUID = 0L;
      // Use ProjectionId.newBuilder() to construct.
      private ProjectionId(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
  
      private ProjectionId() {
        name_ = "";
        key_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new ProjectionId();
      }
  
      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
        return this.unknownFields;
      }
  
      private ProjectionId(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10:
                {
                  akka.protobufv3.internal.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000001;
                  name_ = bs;
                  break;
                }
              case 18:
                {
                  akka.protobufv3.internal.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000002;
                  key_ = bs;
                  break;
                }
              default:
                {
                  if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_ProjectionId_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_ProjectionId_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.class,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder.class);
      }
  
      private int bitField0_;
      public static final int NAME_FIELD_NUMBER = 1;
      private volatile java.lang.Object name_;
      /**
       * <code>required string name = 1;</code>
       *
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string name = 1;</code>
       *
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            name_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string name = 1;</code>
       *
       * @return The bytes for name.
       */
      public akka.protobufv3.internal.ByteString getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b =
              akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int KEY_FIELD_NUMBER = 2;
      private volatile java.lang.Object key_;
      /**
       * <code>required string key = 2;</code>
       *
       * @return Whether the key field is set.
       */
      public boolean hasKey() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string key = 2;</code>
       *
       * @return The key.
       */
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            key_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string key = 2;</code>
       *
       * @return The bytes for key.
       */
      public akka.protobufv3.internal.ByteString getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b =
              akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      private byte memoizedIsInitialized = -1;
  
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        if (!hasName()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, name_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, key_);
        }
        unknownFields.writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, name_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, key_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
          return true;
        }
        if (!(obj instanceof akka.projection.internal.protobuf.ProjectionMessages.ProjectionId)) {
          return super.equals(obj);
        }
        akka.projection.internal.protobuf.ProjectionMessages.ProjectionId other =
            (akka.projection.internal.protobuf.ProjectionMessages.ProjectionId) obj;
  
        if (hasName() != other.hasName()) return false;
        if (hasName()) {
          if (!getName().equals(other.getName())) return false;
        }
        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey().equals(other.getKey())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasName()) {
          hash = (37 * hash) + NAME_FIELD_NUMBER;
          hash = (53 * hash) + getName().hashCode();
        }
        if (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parseFrom(
          java.nio.ByteBuffer data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parseFrom(
          java.nio.ByteBuffer data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parseFrom(
          byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parseFrom(
          byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parseFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parseFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
          parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
          parseDelimitedFrom(
              java.io.InputStream input,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parseFrom(
          akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      @java.lang.Override
      public Builder newBuilderForType() {
        return newBuilder();
      }
  
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
  
      public static Builder newBuilder(
          akka.projection.internal.protobuf.ProjectionMessages.ProjectionId prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
  
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
      }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /** Protobuf type {@code akka.projection.ProjectionId} */
      public static final class Builder
          extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
          implements
          // @@protoc_insertion_point(builder_implements:akka.projection.ProjectionId)
          akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_ProjectionId_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_ProjectionId_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.class,
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder.class);
        }
  
        // Construct using
        // akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
  
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {}
        }
  
        @java.lang.Override
        public Builder clear() {
          super.clear();
          name_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_ProjectionId_descriptor;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
            getDefaultInstanceForType() {
          return akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
              .getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId build() {
          akka.projection.internal.protobuf.ProjectionMessages.ProjectionId result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId buildPartial() {
          akka.projection.internal.protobuf.ProjectionMessages.ProjectionId result =
              new akka.projection.internal.protobuf.ProjectionMessages.ProjectionId(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.name_ = name_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            to_bitField0_ |= 0x00000002;
          }
          result.key_ = key_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
  
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.setField(field, value);
        }
  
        @java.lang.Override
        public Builder clearField(akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
  
        @java.lang.Override
        public Builder clearOneof(akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
  
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index,
            java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
  
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
  
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.projection.internal.protobuf.ProjectionMessages.ProjectionId) {
            return mergeFrom(
                (akka.projection.internal.protobuf.ProjectionMessages.ProjectionId) other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId other) {
          if (other
              == akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                  .getDefaultInstance()) return this;
          if (other.hasName()) {
            bitField0_ |= 0x00000001;
            name_ = other.name_;
            onChanged();
          }
          if (other.hasKey()) {
            bitField0_ |= 0x00000002;
            key_ = other.key_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasName()) {
            return false;
          }
          if (!hasKey()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.projection.internal.protobuf.ProjectionMessages.ProjectionId parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage =
                (akka.projection.internal.protobuf.ProjectionMessages.ProjectionId)
                    e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
  
        private int bitField0_;
  
        private java.lang.Object name_ = "";
        /**
         * <code>required string name = 1;</code>
         *
         * @return Whether the name field is set.
         */
        public boolean hasName() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string name = 1;</code>
         *
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              name_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string name = 1;</code>
         *
         * @return The bytes for name.
         */
        public akka.protobufv3.internal.ByteString getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b =
                akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string name = 1;</code>
         *
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(java.lang.String value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string name = 1;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearName() {
          bitField0_ = (bitField0_ & ~0x00000001);
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * <code>required string name = 1;</code>
         *
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(akka.protobufv3.internal.ByteString value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
          return this;
        }
  
        private java.lang.Object key_ = "";
        /**
         * <code>required string key = 2;</code>
         *
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string key = 2;</code>
         *
         * @return The key.
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              key_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string key = 2;</code>
         *
         * @return The bytes for key.
         */
        public akka.protobufv3.internal.ByteString getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b =
                akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string key = 2;</code>
         *
         * @param value The key to set.
         * @return This builder for chaining.
         */
        public Builder setKey(java.lang.String value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 2;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000002);
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 2;</code>
         *
         * @param value The bytes for key to set.
         * @return This builder for chaining.
         */
        public Builder setKeyBytes(akka.protobufv3.internal.ByteString value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          key_ = value;
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
        // @@protoc_insertion_point(builder_scope:akka.projection.ProjectionId)
      }
  
      // @@protoc_insertion_point(class_scope:akka.projection.ProjectionId)
      private static final akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
          DEFAULT_INSTANCE;
  
      static {
        DEFAULT_INSTANCE = new akka.projection.internal.protobuf.ProjectionMessages.ProjectionId();
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
          getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated
      public static final akka.protobufv3.internal.Parser<ProjectionId> PARSER =
          new akka.protobufv3.internal.AbstractParser<ProjectionId>() {
            @java.lang.Override
            public ProjectionId parsePartialFrom(
                akka.protobufv3.internal.CodedInputStream input,
                akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
                throws akka.protobufv3.internal.InvalidProtocolBufferException {
              return new ProjectionId(input, extensionRegistry);
            }
          };
  
      public static akka.protobufv3.internal.Parser<ProjectionId> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<ProjectionId> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
          getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
  
    public interface GetOffsetOrBuilder
        extends
        // @@protoc_insertion_point(interface_extends:akka.projection.GetOffset)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return Whether the projectionId field is set.
       */
      boolean hasProjectionId();
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return The projectionId.
       */
      akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId();
      /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
      akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
          getProjectionIdOrBuilder();
  
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return Whether the replyTo field is set.
       */
      boolean hasReplyTo();
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The replyTo.
       */
      java.lang.String getReplyTo();
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The bytes for replyTo.
       */
      akka.protobufv3.internal.ByteString getReplyToBytes();
    }
    /** Protobuf type {@code akka.projection.GetOffset} */
    public static final class GetOffset extends akka.protobufv3.internal.GeneratedMessageV3
        implements
        // @@protoc_insertion_point(message_implements:akka.projection.GetOffset)
        GetOffsetOrBuilder {
      private static final long serialVersionUID = 0L;
      // Use GetOffset.newBuilder() to construct.
      private GetOffset(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
  
      private GetOffset() {
        replyTo_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new GetOffset();
      }
  
      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
        return this.unknownFields;
      }
  
      private GetOffset(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10:
                {
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
                      subBuilder = null;
                  if (((bitField0_ & 0x00000001) != 0)) {
                    subBuilder = projectionId_.toBuilder();
                  }
                  projectionId_ =
                      input.readMessage(
                          akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.PARSER,
                          extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(projectionId_);
                    projectionId_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000001;
                  break;
                }
              case 18:
                {
                  akka.protobufv3.internal.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000002;
                  replyTo_ = bs;
                  break;
                }
              default:
                {
                  if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_GetOffset_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_GetOffset_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.projection.internal.protobuf.ProjectionMessages.GetOffset.class,
                akka.projection.internal.protobuf.ProjectionMessages.GetOffset.Builder.class);
      }
  
      private int bitField0_;
      public static final int PROJECTIONID_FIELD_NUMBER = 1;
      private akka.projection.internal.protobuf.ProjectionMessages.ProjectionId projectionId_;
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return Whether the projectionId field is set.
       */
      public boolean hasProjectionId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return The projectionId.
       */
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId() {
        return projectionId_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.getDefaultInstance()
            : projectionId_;
      }
      /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
          getProjectionIdOrBuilder() {
        return projectionId_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.getDefaultInstance()
            : projectionId_;
      }
  
      public static final int REPLYTO_FIELD_NUMBER = 2;
      private volatile java.lang.Object replyTo_;
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return Whether the replyTo field is set.
       */
      public boolean hasReplyTo() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The replyTo.
       */
      public java.lang.String getReplyTo() {
        java.lang.Object ref = replyTo_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            replyTo_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The bytes for replyTo.
       */
      public akka.protobufv3.internal.ByteString getReplyToBytes() {
        java.lang.Object ref = replyTo_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b =
              akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
          replyTo_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      private byte memoizedIsInitialized = -1;
  
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        if (!hasProjectionId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasReplyTo()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getProjectionId().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getProjectionId());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, replyTo_);
        }
        unknownFields.writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(1, getProjectionId());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, replyTo_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
          return true;
        }
        if (!(obj instanceof akka.projection.internal.protobuf.ProjectionMessages.GetOffset)) {
          return super.equals(obj);
        }
        akka.projection.internal.protobuf.ProjectionMessages.GetOffset other =
            (akka.projection.internal.protobuf.ProjectionMessages.GetOffset) obj;
  
        if (hasProjectionId() != other.hasProjectionId()) return false;
        if (hasProjectionId()) {
          if (!getProjectionId().equals(other.getProjectionId())) return false;
        }
        if (hasReplyTo() != other.hasReplyTo()) return false;
        if (hasReplyTo()) {
          if (!getReplyTo().equals(other.getReplyTo())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasProjectionId()) {
          hash = (37 * hash) + PROJECTIONID_FIELD_NUMBER;
          hash = (53 * hash) + getProjectionId().hashCode();
        }
        if (hasReplyTo()) {
          hash = (37 * hash) + REPLYTO_FIELD_NUMBER;
          hash = (53 * hash) + getReplyTo().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseFrom(
          java.nio.ByteBuffer data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseFrom(
          java.nio.ByteBuffer data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseFrom(
          byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseFrom(
          byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseDelimitedFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseDelimitedFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseFrom(
          akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      @java.lang.Override
      public Builder newBuilderForType() {
        return newBuilder();
      }
  
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
  
      public static Builder newBuilder(
          akka.projection.internal.protobuf.ProjectionMessages.GetOffset prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
  
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
      }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /** Protobuf type {@code akka.projection.GetOffset} */
      public static final class Builder
          extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
          implements
          // @@protoc_insertion_point(builder_implements:akka.projection.GetOffset)
          akka.projection.internal.protobuf.ProjectionMessages.GetOffsetOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_GetOffset_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_GetOffset_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.projection.internal.protobuf.ProjectionMessages.GetOffset.class,
                  akka.projection.internal.protobuf.ProjectionMessages.GetOffset.Builder.class);
        }
  
        // Construct using akka.projection.internal.protobuf.ProjectionMessages.GetOffset.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
  
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
            getProjectionIdFieldBuilder();
          }
        }
  
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (projectionIdBuilder_ == null) {
            projectionId_ = null;
          } else {
            projectionIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          replyTo_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_GetOffset_descriptor;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.GetOffset
            getDefaultInstanceForType() {
          return akka.projection.internal.protobuf.ProjectionMessages.GetOffset.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.GetOffset build() {
          akka.projection.internal.protobuf.ProjectionMessages.GetOffset result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.GetOffset buildPartial() {
          akka.projection.internal.protobuf.ProjectionMessages.GetOffset result =
              new akka.projection.internal.protobuf.ProjectionMessages.GetOffset(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            if (projectionIdBuilder_ == null) {
              result.projectionId_ = projectionId_;
            } else {
              result.projectionId_ = projectionIdBuilder_.build();
            }
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            to_bitField0_ |= 0x00000002;
          }
          result.replyTo_ = replyTo_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
  
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.setField(field, value);
        }
  
        @java.lang.Override
        public Builder clearField(akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
  
        @java.lang.Override
        public Builder clearOneof(akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
  
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index,
            java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
  
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
  
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.projection.internal.protobuf.ProjectionMessages.GetOffset) {
            return mergeFrom((akka.projection.internal.protobuf.ProjectionMessages.GetOffset) other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(
            akka.projection.internal.protobuf.ProjectionMessages.GetOffset other) {
          if (other
              == akka.projection.internal.protobuf.ProjectionMessages.GetOffset.getDefaultInstance())
            return this;
          if (other.hasProjectionId()) {
            mergeProjectionId(other.getProjectionId());
          }
          if (other.hasReplyTo()) {
            bitField0_ |= 0x00000002;
            replyTo_ = other.replyTo_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasProjectionId()) {
            return false;
          }
          if (!hasReplyTo()) {
            return false;
          }
          if (!getProjectionId().isInitialized()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.projection.internal.protobuf.ProjectionMessages.GetOffset parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage =
                (akka.projection.internal.protobuf.ProjectionMessages.GetOffset)
                    e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
  
        private int bitField0_;
  
        private akka.projection.internal.protobuf.ProjectionMessages.ProjectionId projectionId_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>
            projectionIdBuilder_;
        /**
         * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
         *
         * @return Whether the projectionId field is set.
         */
        public boolean hasProjectionId() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
         *
         * @return The projectionId.
         */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId() {
          if (projectionIdBuilder_ == null) {
            return projectionId_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                    .getDefaultInstance()
                : projectionId_;
          } else {
            return projectionIdBuilder_.getMessage();
          }
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder setProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId value) {
          if (projectionIdBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            projectionId_ = value;
            onChanged();
          } else {
            projectionIdBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder setProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
                builderForValue) {
          if (projectionIdBuilder_ == null) {
            projectionId_ = builderForValue.build();
            onChanged();
          } else {
            projectionIdBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder mergeProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId value) {
          if (projectionIdBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)
                && projectionId_ != null
                && projectionId_
                    != akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                        .getDefaultInstance()) {
              projectionId_ =
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.newBuilder(
                          projectionId_)
                      .mergeFrom(value)
                      .buildPartial();
            } else {
              projectionId_ = value;
            }
            onChanged();
          } else {
            projectionIdBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder clearProjectionId() {
          if (projectionIdBuilder_ == null) {
            projectionId_ = null;
            onChanged();
          } else {
            projectionIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
            getProjectionIdBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getProjectionIdFieldBuilder().getBuilder();
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
            getProjectionIdOrBuilder() {
          if (projectionIdBuilder_ != null) {
            return projectionIdBuilder_.getMessageOrBuilder();
          } else {
            return projectionId_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                    .getDefaultInstance()
                : projectionId_;
          }
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>
            getProjectionIdFieldBuilder() {
          if (projectionIdBuilder_ == null) {
            projectionIdBuilder_ =
                new akka.protobufv3.internal.SingleFieldBuilderV3<
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>(
                    getProjectionId(), getParentForChildren(), isClean());
            projectionId_ = null;
          }
          return projectionIdBuilder_;
        }
  
        private java.lang.Object replyTo_ = "";
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return Whether the replyTo field is set.
         */
        public boolean hasReplyTo() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return The replyTo.
         */
        public java.lang.String getReplyTo() {
          java.lang.Object ref = replyTo_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              replyTo_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return The bytes for replyTo.
         */
        public akka.protobufv3.internal.ByteString getReplyToBytes() {
          java.lang.Object ref = replyTo_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b =
                akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
            replyTo_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @param value The replyTo to set.
         * @return This builder for chaining.
         */
        public Builder setReplyTo(java.lang.String value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          replyTo_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearReplyTo() {
          bitField0_ = (bitField0_ & ~0x00000002);
          replyTo_ = getDefaultInstance().getReplyTo();
          onChanged();
          return this;
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @param value The bytes for replyTo to set.
         * @return This builder for chaining.
         */
        public Builder setReplyToBytes(akka.protobufv3.internal.ByteString value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          replyTo_ = value;
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
        // @@protoc_insertion_point(builder_scope:akka.projection.GetOffset)
      }
  
      // @@protoc_insertion_point(class_scope:akka.projection.GetOffset)
      private static final akka.projection.internal.protobuf.ProjectionMessages.GetOffset
          DEFAULT_INSTANCE;
  
      static {
        DEFAULT_INSTANCE = new akka.projection.internal.protobuf.ProjectionMessages.GetOffset();
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.GetOffset
          getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated
      public static final akka.protobufv3.internal.Parser<GetOffset> PARSER =
          new akka.protobufv3.internal.AbstractParser<GetOffset>() {
            @java.lang.Override
            public GetOffset parsePartialFrom(
                akka.protobufv3.internal.CodedInputStream input,
                akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
                throws akka.protobufv3.internal.InvalidProtocolBufferException {
              return new GetOffset(input, extensionRegistry);
            }
          };
  
      public static akka.protobufv3.internal.Parser<GetOffset> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<GetOffset> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.projection.internal.protobuf.ProjectionMessages.GetOffset
          getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
  
    public interface CurrentOffsetOrBuilder
        extends
        // @@protoc_insertion_point(interface_extends:akka.projection.CurrentOffset)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return Whether the projectionId field is set.
       */
      boolean hasProjectionId();
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return The projectionId.
       */
      akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId();
      /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
      akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
          getProjectionIdOrBuilder();
  
      /**
       * <code>optional .akka.projection.Offset offset = 2;</code>
       *
       * @return Whether the offset field is set.
       */
      boolean hasOffset();
      /**
       * <code>optional .akka.projection.Offset offset = 2;</code>
       *
       * @return The offset.
       */
      akka.projection.internal.protobuf.ProjectionMessages.Offset getOffset();
      /** <code>optional .akka.projection.Offset offset = 2;</code> */
      akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder getOffsetOrBuilder();
    }
    /** Protobuf type {@code akka.projection.CurrentOffset} */
    public static final class CurrentOffset extends akka.protobufv3.internal.GeneratedMessageV3
        implements
        // @@protoc_insertion_point(message_implements:akka.projection.CurrentOffset)
        CurrentOffsetOrBuilder {
      private static final long serialVersionUID = 0L;
      // Use CurrentOffset.newBuilder() to construct.
      private CurrentOffset(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
  
      private CurrentOffset() {}
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new CurrentOffset();
      }
  
      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
        return this.unknownFields;
      }
  
      private CurrentOffset(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10:
                {
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
                      subBuilder = null;
                  if (((bitField0_ & 0x00000001) != 0)) {
                    subBuilder = projectionId_.toBuilder();
                  }
                  projectionId_ =
                      input.readMessage(
                          akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.PARSER,
                          extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(projectionId_);
                    projectionId_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000001;
                  break;
                }
              case 18:
                {
                  akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder subBuilder =
                      null;
                  if (((bitField0_ & 0x00000002) != 0)) {
                    subBuilder = offset_.toBuilder();
                  }
                  offset_ =
                      input.readMessage(
                          akka.projection.internal.protobuf.ProjectionMessages.Offset.PARSER,
                          extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(offset_);
                    offset_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000002;
                  break;
                }
              default:
                {
                  if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_CurrentOffset_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_CurrentOffset_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset.class,
                akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset.Builder.class);
      }
  
      private int bitField0_;
      public static final int PROJECTIONID_FIELD_NUMBER = 1;
      private akka.projection.internal.protobuf.ProjectionMessages.ProjectionId projectionId_;
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return Whether the projectionId field is set.
       */
      public boolean hasProjectionId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return The projectionId.
       */
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId() {
        return projectionId_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.getDefaultInstance()
            : projectionId_;
      }
      /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
          getProjectionIdOrBuilder() {
        return projectionId_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.getDefaultInstance()
            : projectionId_;
      }
  
      public static final int OFFSET_FIELD_NUMBER = 2;
      private akka.projection.internal.protobuf.ProjectionMessages.Offset offset_;
      /**
       * <code>optional .akka.projection.Offset offset = 2;</code>
       *
       * @return Whether the offset field is set.
       */
      public boolean hasOffset() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .akka.projection.Offset offset = 2;</code>
       *
       * @return The offset.
       */
      public akka.projection.internal.protobuf.ProjectionMessages.Offset getOffset() {
        return offset_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.Offset.getDefaultInstance()
            : offset_;
      }
      /** <code>optional .akka.projection.Offset offset = 2;</code> */
      public akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder
          getOffsetOrBuilder() {
        return offset_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.Offset.getDefaultInstance()
            : offset_;
      }
  
      private byte memoizedIsInitialized = -1;
  
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        if (!hasProjectionId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getProjectionId().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasOffset()) {
          if (!getOffset().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getProjectionId());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getOffset());
        }
        unknownFields.writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(1, getProjectionId());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(2, getOffset());
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
          return true;
        }
        if (!(obj instanceof akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset)) {
          return super.equals(obj);
        }
        akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset other =
            (akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset) obj;
  
        if (hasProjectionId() != other.hasProjectionId()) return false;
        if (hasProjectionId()) {
          if (!getProjectionId().equals(other.getProjectionId())) return false;
        }
        if (hasOffset() != other.hasOffset()) return false;
        if (hasOffset()) {
          if (!getOffset().equals(other.getOffset())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasProjectionId()) {
          hash = (37 * hash) + PROJECTIONID_FIELD_NUMBER;
          hash = (53 * hash) + getProjectionId().hashCode();
        }
        if (hasOffset()) {
          hash = (37 * hash) + OFFSET_FIELD_NUMBER;
          hash = (53 * hash) + getOffset().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parseFrom(
          java.nio.ByteBuffer data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parseFrom(
          java.nio.ByteBuffer data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parseFrom(
          byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parseFrom(
          byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parseFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parseFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset
          parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset
          parseDelimitedFrom(
              java.io.InputStream input,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parseFrom(
          akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      @java.lang.Override
      public Builder newBuilderForType() {
        return newBuilder();
      }
  
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
  
      public static Builder newBuilder(
          akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
  
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
      }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /** Protobuf type {@code akka.projection.CurrentOffset} */
      public static final class Builder
          extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
          implements
          // @@protoc_insertion_point(builder_implements:akka.projection.CurrentOffset)
          akka.projection.internal.protobuf.ProjectionMessages.CurrentOffsetOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_CurrentOffset_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_CurrentOffset_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset.class,
                  akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset.Builder.class);
        }
  
        // Construct using
        // akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
  
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
            getProjectionIdFieldBuilder();
            getOffsetFieldBuilder();
          }
        }
  
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (projectionIdBuilder_ == null) {
            projectionId_ = null;
          } else {
            projectionIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (offsetBuilder_ == null) {
            offset_ = null;
          } else {
            offsetBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_CurrentOffset_descriptor;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset
            getDefaultInstanceForType() {
          return akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset
              .getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset build() {
          akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset buildPartial() {
          akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset result =
              new akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            if (projectionIdBuilder_ == null) {
              result.projectionId_ = projectionId_;
            } else {
              result.projectionId_ = projectionIdBuilder_.build();
            }
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            if (offsetBuilder_ == null) {
              result.offset_ = offset_;
            } else {
              result.offset_ = offsetBuilder_.build();
            }
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
  
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.setField(field, value);
        }
  
        @java.lang.Override
        public Builder clearField(akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
  
        @java.lang.Override
        public Builder clearOneof(akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
  
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index,
            java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
  
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
  
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset) {
            return mergeFrom(
                (akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset) other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(
            akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset other) {
          if (other
              == akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset
                  .getDefaultInstance()) return this;
          if (other.hasProjectionId()) {
            mergeProjectionId(other.getProjectionId());
          }
          if (other.hasOffset()) {
            mergeOffset(other.getOffset());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasProjectionId()) {
            return false;
          }
          if (!getProjectionId().isInitialized()) {
            return false;
          }
          if (hasOffset()) {
            if (!getOffset().isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage =
                (akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset)
                    e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
  
        private int bitField0_;
  
        private akka.projection.internal.protobuf.ProjectionMessages.ProjectionId projectionId_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>
            projectionIdBuilder_;
        /**
         * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
         *
         * @return Whether the projectionId field is set.
         */
        public boolean hasProjectionId() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
         *
         * @return The projectionId.
         */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId() {
          if (projectionIdBuilder_ == null) {
            return projectionId_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                    .getDefaultInstance()
                : projectionId_;
          } else {
            return projectionIdBuilder_.getMessage();
          }
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder setProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId value) {
          if (projectionIdBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            projectionId_ = value;
            onChanged();
          } else {
            projectionIdBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder setProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
                builderForValue) {
          if (projectionIdBuilder_ == null) {
            projectionId_ = builderForValue.build();
            onChanged();
          } else {
            projectionIdBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder mergeProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId value) {
          if (projectionIdBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)
                && projectionId_ != null
                && projectionId_
                    != akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                        .getDefaultInstance()) {
              projectionId_ =
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.newBuilder(
                          projectionId_)
                      .mergeFrom(value)
                      .buildPartial();
            } else {
              projectionId_ = value;
            }
            onChanged();
          } else {
            projectionIdBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder clearProjectionId() {
          if (projectionIdBuilder_ == null) {
            projectionId_ = null;
            onChanged();
          } else {
            projectionIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
            getProjectionIdBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getProjectionIdFieldBuilder().getBuilder();
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
            getProjectionIdOrBuilder() {
          if (projectionIdBuilder_ != null) {
            return projectionIdBuilder_.getMessageOrBuilder();
          } else {
            return projectionId_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                    .getDefaultInstance()
                : projectionId_;
          }
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>
            getProjectionIdFieldBuilder() {
          if (projectionIdBuilder_ == null) {
            projectionIdBuilder_ =
                new akka.protobufv3.internal.SingleFieldBuilderV3<
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>(
                    getProjectionId(), getParentForChildren(), isClean());
            projectionId_ = null;
          }
          return projectionIdBuilder_;
        }
  
        private akka.projection.internal.protobuf.ProjectionMessages.Offset offset_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.Offset,
                akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder>
            offsetBuilder_;
        /**
         * <code>optional .akka.projection.Offset offset = 2;</code>
         *
         * @return Whether the offset field is set.
         */
        public boolean hasOffset() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>optional .akka.projection.Offset offset = 2;</code>
         *
         * @return The offset.
         */
        public akka.projection.internal.protobuf.ProjectionMessages.Offset getOffset() {
          if (offsetBuilder_ == null) {
            return offset_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.Offset.getDefaultInstance()
                : offset_;
          } else {
            return offsetBuilder_.getMessage();
          }
        }
        /** <code>optional .akka.projection.Offset offset = 2;</code> */
        public Builder setOffset(akka.projection.internal.protobuf.ProjectionMessages.Offset value) {
          if (offsetBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            offset_ = value;
            onChanged();
          } else {
            offsetBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /** <code>optional .akka.projection.Offset offset = 2;</code> */
        public Builder setOffset(
            akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder builderForValue) {
          if (offsetBuilder_ == null) {
            offset_ = builderForValue.build();
            onChanged();
          } else {
            offsetBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /** <code>optional .akka.projection.Offset offset = 2;</code> */
        public Builder mergeOffset(
            akka.projection.internal.protobuf.ProjectionMessages.Offset value) {
          if (offsetBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)
                && offset_ != null
                && offset_
                    != akka.projection.internal.protobuf.ProjectionMessages.Offset
                        .getDefaultInstance()) {
              offset_ =
                  akka.projection.internal.protobuf.ProjectionMessages.Offset.newBuilder(offset_)
                      .mergeFrom(value)
                      .buildPartial();
            } else {
              offset_ = value;
            }
            onChanged();
          } else {
            offsetBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /** <code>optional .akka.projection.Offset offset = 2;</code> */
        public Builder clearOffset() {
          if (offsetBuilder_ == null) {
            offset_ = null;
            onChanged();
          } else {
            offsetBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /** <code>optional .akka.projection.Offset offset = 2;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder
            getOffsetBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getOffsetFieldBuilder().getBuilder();
        }
        /** <code>optional .akka.projection.Offset offset = 2;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder
            getOffsetOrBuilder() {
          if (offsetBuilder_ != null) {
            return offsetBuilder_.getMessageOrBuilder();
          } else {
            return offset_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.Offset.getDefaultInstance()
                : offset_;
          }
        }
        /** <code>optional .akka.projection.Offset offset = 2;</code> */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.Offset,
                akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder>
            getOffsetFieldBuilder() {
          if (offsetBuilder_ == null) {
            offsetBuilder_ =
                new akka.protobufv3.internal.SingleFieldBuilderV3<
                    akka.projection.internal.protobuf.ProjectionMessages.Offset,
                    akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder,
                    akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder>(
                    getOffset(), getParentForChildren(), isClean());
            offset_ = null;
          }
          return offsetBuilder_;
        }
  
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
        // @@protoc_insertion_point(builder_scope:akka.projection.CurrentOffset)
      }
  
      // @@protoc_insertion_point(class_scope:akka.projection.CurrentOffset)
      private static final akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset
          DEFAULT_INSTANCE;
  
      static {
        DEFAULT_INSTANCE = new akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset();
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset
          getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated
      public static final akka.protobufv3.internal.Parser<CurrentOffset> PARSER =
          new akka.protobufv3.internal.AbstractParser<CurrentOffset>() {
            @java.lang.Override
            public CurrentOffset parsePartialFrom(
                akka.protobufv3.internal.CodedInputStream input,
                akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
                throws akka.protobufv3.internal.InvalidProtocolBufferException {
              return new CurrentOffset(input, extensionRegistry);
            }
          };
  
      public static akka.protobufv3.internal.Parser<CurrentOffset> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<CurrentOffset> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.projection.internal.protobuf.ProjectionMessages.CurrentOffset
          getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
  
    public interface SetOffsetOrBuilder
        extends
        // @@protoc_insertion_point(interface_extends:akka.projection.SetOffset)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return Whether the projectionId field is set.
       */
      boolean hasProjectionId();
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return The projectionId.
       */
      akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId();
      /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
      akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
          getProjectionIdOrBuilder();
  
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return Whether the replyTo field is set.
       */
      boolean hasReplyTo();
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The replyTo.
       */
      java.lang.String getReplyTo();
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The bytes for replyTo.
       */
      akka.protobufv3.internal.ByteString getReplyToBytes();
  
      /**
       * <code>optional .akka.projection.Offset offset = 3;</code>
       *
       * @return Whether the offset field is set.
       */
      boolean hasOffset();
      /**
       * <code>optional .akka.projection.Offset offset = 3;</code>
       *
       * @return The offset.
       */
      akka.projection.internal.protobuf.ProjectionMessages.Offset getOffset();
      /** <code>optional .akka.projection.Offset offset = 3;</code> */
      akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder getOffsetOrBuilder();
    }
    /** Protobuf type {@code akka.projection.SetOffset} */
    public static final class SetOffset extends akka.protobufv3.internal.GeneratedMessageV3
        implements
        // @@protoc_insertion_point(message_implements:akka.projection.SetOffset)
        SetOffsetOrBuilder {
      private static final long serialVersionUID = 0L;
      // Use SetOffset.newBuilder() to construct.
      private SetOffset(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
  
      private SetOffset() {
        replyTo_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new SetOffset();
      }
  
      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
        return this.unknownFields;
      }
  
      private SetOffset(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10:
                {
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
                      subBuilder = null;
                  if (((bitField0_ & 0x00000001) != 0)) {
                    subBuilder = projectionId_.toBuilder();
                  }
                  projectionId_ =
                      input.readMessage(
                          akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.PARSER,
                          extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(projectionId_);
                    projectionId_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000001;
                  break;
                }
              case 18:
                {
                  akka.protobufv3.internal.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000002;
                  replyTo_ = bs;
                  break;
                }
              case 26:
                {
                  akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder subBuilder =
                      null;
                  if (((bitField0_ & 0x00000004) != 0)) {
                    subBuilder = offset_.toBuilder();
                  }
                  offset_ =
                      input.readMessage(
                          akka.projection.internal.protobuf.ProjectionMessages.Offset.PARSER,
                          extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(offset_);
                    offset_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000004;
                  break;
                }
              default:
                {
                  if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_SetOffset_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_SetOffset_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.projection.internal.protobuf.ProjectionMessages.SetOffset.class,
                akka.projection.internal.protobuf.ProjectionMessages.SetOffset.Builder.class);
      }
  
      private int bitField0_;
      public static final int PROJECTIONID_FIELD_NUMBER = 1;
      private akka.projection.internal.protobuf.ProjectionMessages.ProjectionId projectionId_;
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return Whether the projectionId field is set.
       */
      public boolean hasProjectionId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return The projectionId.
       */
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId() {
        return projectionId_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.getDefaultInstance()
            : projectionId_;
      }
      /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
          getProjectionIdOrBuilder() {
        return projectionId_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.getDefaultInstance()
            : projectionId_;
      }
  
      public static final int REPLYTO_FIELD_NUMBER = 2;
      private volatile java.lang.Object replyTo_;
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return Whether the replyTo field is set.
       */
      public boolean hasReplyTo() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The replyTo.
       */
      public java.lang.String getReplyTo() {
        java.lang.Object ref = replyTo_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            replyTo_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The bytes for replyTo.
       */
      public akka.protobufv3.internal.ByteString getReplyToBytes() {
        java.lang.Object ref = replyTo_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b =
              akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
          replyTo_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int OFFSET_FIELD_NUMBER = 3;
      private akka.projection.internal.protobuf.ProjectionMessages.Offset offset_;
      /**
       * <code>optional .akka.projection.Offset offset = 3;</code>
       *
       * @return Whether the offset field is set.
       */
      public boolean hasOffset() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional .akka.projection.Offset offset = 3;</code>
       *
       * @return The offset.
       */
      public akka.projection.internal.protobuf.ProjectionMessages.Offset getOffset() {
        return offset_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.Offset.getDefaultInstance()
            : offset_;
      }
      /** <code>optional .akka.projection.Offset offset = 3;</code> */
      public akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder
          getOffsetOrBuilder() {
        return offset_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.Offset.getDefaultInstance()
            : offset_;
      }
  
      private byte memoizedIsInitialized = -1;
  
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        if (!hasProjectionId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasReplyTo()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getProjectionId().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasOffset()) {
          if (!getOffset().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getProjectionId());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, replyTo_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeMessage(3, getOffset());
        }
        unknownFields.writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(1, getProjectionId());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, replyTo_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(3, getOffset());
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
          return true;
        }
        if (!(obj instanceof akka.projection.internal.protobuf.ProjectionMessages.SetOffset)) {
          return super.equals(obj);
        }
        akka.projection.internal.protobuf.ProjectionMessages.SetOffset other =
            (akka.projection.internal.protobuf.ProjectionMessages.SetOffset) obj;
  
        if (hasProjectionId() != other.hasProjectionId()) return false;
        if (hasProjectionId()) {
          if (!getProjectionId().equals(other.getProjectionId())) return false;
        }
        if (hasReplyTo() != other.hasReplyTo()) return false;
        if (hasReplyTo()) {
          if (!getReplyTo().equals(other.getReplyTo())) return false;
        }
        if (hasOffset() != other.hasOffset()) return false;
        if (hasOffset()) {
          if (!getOffset().equals(other.getOffset())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasProjectionId()) {
          hash = (37 * hash) + PROJECTIONID_FIELD_NUMBER;
          hash = (53 * hash) + getProjectionId().hashCode();
        }
        if (hasReplyTo()) {
          hash = (37 * hash) + REPLYTO_FIELD_NUMBER;
          hash = (53 * hash) + getReplyTo().hashCode();
        }
        if (hasOffset()) {
          hash = (37 * hash) + OFFSET_FIELD_NUMBER;
          hash = (53 * hash) + getOffset().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseFrom(
          java.nio.ByteBuffer data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseFrom(
          java.nio.ByteBuffer data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseFrom(
          byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseFrom(
          byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseDelimitedFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseDelimitedFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseFrom(
          akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      @java.lang.Override
      public Builder newBuilderForType() {
        return newBuilder();
      }
  
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
  
      public static Builder newBuilder(
          akka.projection.internal.protobuf.ProjectionMessages.SetOffset prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
  
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
      }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /** Protobuf type {@code akka.projection.SetOffset} */
      public static final class Builder
          extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
          implements
          // @@protoc_insertion_point(builder_implements:akka.projection.SetOffset)
          akka.projection.internal.protobuf.ProjectionMessages.SetOffsetOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_SetOffset_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_SetOffset_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.projection.internal.protobuf.ProjectionMessages.SetOffset.class,
                  akka.projection.internal.protobuf.ProjectionMessages.SetOffset.Builder.class);
        }
  
        // Construct using akka.projection.internal.protobuf.ProjectionMessages.SetOffset.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
  
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
            getProjectionIdFieldBuilder();
            getOffsetFieldBuilder();
          }
        }
  
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (projectionIdBuilder_ == null) {
            projectionId_ = null;
          } else {
            projectionIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          replyTo_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          if (offsetBuilder_ == null) {
            offset_ = null;
          } else {
            offsetBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_SetOffset_descriptor;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.SetOffset
            getDefaultInstanceForType() {
          return akka.projection.internal.protobuf.ProjectionMessages.SetOffset.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.SetOffset build() {
          akka.projection.internal.protobuf.ProjectionMessages.SetOffset result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.SetOffset buildPartial() {
          akka.projection.internal.protobuf.ProjectionMessages.SetOffset result =
              new akka.projection.internal.protobuf.ProjectionMessages.SetOffset(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            if (projectionIdBuilder_ == null) {
              result.projectionId_ = projectionId_;
            } else {
              result.projectionId_ = projectionIdBuilder_.build();
            }
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            to_bitField0_ |= 0x00000002;
          }
          result.replyTo_ = replyTo_;
          if (((from_bitField0_ & 0x00000004) != 0)) {
            if (offsetBuilder_ == null) {
              result.offset_ = offset_;
            } else {
              result.offset_ = offsetBuilder_.build();
            }
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
  
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.setField(field, value);
        }
  
        @java.lang.Override
        public Builder clearField(akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
  
        @java.lang.Override
        public Builder clearOneof(akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
  
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index,
            java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
  
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
  
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.projection.internal.protobuf.ProjectionMessages.SetOffset) {
            return mergeFrom((akka.projection.internal.protobuf.ProjectionMessages.SetOffset) other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(
            akka.projection.internal.protobuf.ProjectionMessages.SetOffset other) {
          if (other
              == akka.projection.internal.protobuf.ProjectionMessages.SetOffset.getDefaultInstance())
            return this;
          if (other.hasProjectionId()) {
            mergeProjectionId(other.getProjectionId());
          }
          if (other.hasReplyTo()) {
            bitField0_ |= 0x00000002;
            replyTo_ = other.replyTo_;
            onChanged();
          }
          if (other.hasOffset()) {
            mergeOffset(other.getOffset());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasProjectionId()) {
            return false;
          }
          if (!hasReplyTo()) {
            return false;
          }
          if (!getProjectionId().isInitialized()) {
            return false;
          }
          if (hasOffset()) {
            if (!getOffset().isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.projection.internal.protobuf.ProjectionMessages.SetOffset parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage =
                (akka.projection.internal.protobuf.ProjectionMessages.SetOffset)
                    e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
  
        private int bitField0_;
  
        private akka.projection.internal.protobuf.ProjectionMessages.ProjectionId projectionId_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>
            projectionIdBuilder_;
        /**
         * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
         *
         * @return Whether the projectionId field is set.
         */
        public boolean hasProjectionId() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
         *
         * @return The projectionId.
         */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId() {
          if (projectionIdBuilder_ == null) {
            return projectionId_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                    .getDefaultInstance()
                : projectionId_;
          } else {
            return projectionIdBuilder_.getMessage();
          }
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder setProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId value) {
          if (projectionIdBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            projectionId_ = value;
            onChanged();
          } else {
            projectionIdBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder setProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
                builderForValue) {
          if (projectionIdBuilder_ == null) {
            projectionId_ = builderForValue.build();
            onChanged();
          } else {
            projectionIdBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder mergeProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId value) {
          if (projectionIdBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)
                && projectionId_ != null
                && projectionId_
                    != akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                        .getDefaultInstance()) {
              projectionId_ =
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.newBuilder(
                          projectionId_)
                      .mergeFrom(value)
                      .buildPartial();
            } else {
              projectionId_ = value;
            }
            onChanged();
          } else {
            projectionIdBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder clearProjectionId() {
          if (projectionIdBuilder_ == null) {
            projectionId_ = null;
            onChanged();
          } else {
            projectionIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
            getProjectionIdBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getProjectionIdFieldBuilder().getBuilder();
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
            getProjectionIdOrBuilder() {
          if (projectionIdBuilder_ != null) {
            return projectionIdBuilder_.getMessageOrBuilder();
          } else {
            return projectionId_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                    .getDefaultInstance()
                : projectionId_;
          }
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>
            getProjectionIdFieldBuilder() {
          if (projectionIdBuilder_ == null) {
            projectionIdBuilder_ =
                new akka.protobufv3.internal.SingleFieldBuilderV3<
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>(
                    getProjectionId(), getParentForChildren(), isClean());
            projectionId_ = null;
          }
          return projectionIdBuilder_;
        }
  
        private java.lang.Object replyTo_ = "";
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return Whether the replyTo field is set.
         */
        public boolean hasReplyTo() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return The replyTo.
         */
        public java.lang.String getReplyTo() {
          java.lang.Object ref = replyTo_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              replyTo_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return The bytes for replyTo.
         */
        public akka.protobufv3.internal.ByteString getReplyToBytes() {
          java.lang.Object ref = replyTo_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b =
                akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
            replyTo_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @param value The replyTo to set.
         * @return This builder for chaining.
         */
        public Builder setReplyTo(java.lang.String value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          replyTo_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearReplyTo() {
          bitField0_ = (bitField0_ & ~0x00000002);
          replyTo_ = getDefaultInstance().getReplyTo();
          onChanged();
          return this;
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @param value The bytes for replyTo to set.
         * @return This builder for chaining.
         */
        public Builder setReplyToBytes(akka.protobufv3.internal.ByteString value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          replyTo_ = value;
          onChanged();
          return this;
        }
  
        private akka.projection.internal.protobuf.ProjectionMessages.Offset offset_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.Offset,
                akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder>
            offsetBuilder_;
        /**
         * <code>optional .akka.projection.Offset offset = 3;</code>
         *
         * @return Whether the offset field is set.
         */
        public boolean hasOffset() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional .akka.projection.Offset offset = 3;</code>
         *
         * @return The offset.
         */
        public akka.projection.internal.protobuf.ProjectionMessages.Offset getOffset() {
          if (offsetBuilder_ == null) {
            return offset_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.Offset.getDefaultInstance()
                : offset_;
          } else {
            return offsetBuilder_.getMessage();
          }
        }
        /** <code>optional .akka.projection.Offset offset = 3;</code> */
        public Builder setOffset(akka.projection.internal.protobuf.ProjectionMessages.Offset value) {
          if (offsetBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            offset_ = value;
            onChanged();
          } else {
            offsetBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000004;
          return this;
        }
        /** <code>optional .akka.projection.Offset offset = 3;</code> */
        public Builder setOffset(
            akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder builderForValue) {
          if (offsetBuilder_ == null) {
            offset_ = builderForValue.build();
            onChanged();
          } else {
            offsetBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000004;
          return this;
        }
        /** <code>optional .akka.projection.Offset offset = 3;</code> */
        public Builder mergeOffset(
            akka.projection.internal.protobuf.ProjectionMessages.Offset value) {
          if (offsetBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0)
                && offset_ != null
                && offset_
                    != akka.projection.internal.protobuf.ProjectionMessages.Offset
                        .getDefaultInstance()) {
              offset_ =
                  akka.projection.internal.protobuf.ProjectionMessages.Offset.newBuilder(offset_)
                      .mergeFrom(value)
                      .buildPartial();
            } else {
              offset_ = value;
            }
            onChanged();
          } else {
            offsetBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000004;
          return this;
        }
        /** <code>optional .akka.projection.Offset offset = 3;</code> */
        public Builder clearOffset() {
          if (offsetBuilder_ == null) {
            offset_ = null;
            onChanged();
          } else {
            offsetBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
        /** <code>optional .akka.projection.Offset offset = 3;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder
            getOffsetBuilder() {
          bitField0_ |= 0x00000004;
          onChanged();
          return getOffsetFieldBuilder().getBuilder();
        }
        /** <code>optional .akka.projection.Offset offset = 3;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder
            getOffsetOrBuilder() {
          if (offsetBuilder_ != null) {
            return offsetBuilder_.getMessageOrBuilder();
          } else {
            return offset_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.Offset.getDefaultInstance()
                : offset_;
          }
        }
        /** <code>optional .akka.projection.Offset offset = 3;</code> */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.Offset,
                akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder>
            getOffsetFieldBuilder() {
          if (offsetBuilder_ == null) {
            offsetBuilder_ =
                new akka.protobufv3.internal.SingleFieldBuilderV3<
                    akka.projection.internal.protobuf.ProjectionMessages.Offset,
                    akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder,
                    akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder>(
                    getOffset(), getParentForChildren(), isClean());
            offset_ = null;
          }
          return offsetBuilder_;
        }
  
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
        // @@protoc_insertion_point(builder_scope:akka.projection.SetOffset)
      }
  
      // @@protoc_insertion_point(class_scope:akka.projection.SetOffset)
      private static final akka.projection.internal.protobuf.ProjectionMessages.SetOffset
          DEFAULT_INSTANCE;
  
      static {
        DEFAULT_INSTANCE = new akka.projection.internal.protobuf.ProjectionMessages.SetOffset();
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetOffset
          getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated
      public static final akka.protobufv3.internal.Parser<SetOffset> PARSER =
          new akka.protobufv3.internal.AbstractParser<SetOffset>() {
            @java.lang.Override
            public SetOffset parsePartialFrom(
                akka.protobufv3.internal.CodedInputStream input,
                akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
                throws akka.protobufv3.internal.InvalidProtocolBufferException {
              return new SetOffset(input, extensionRegistry);
            }
          };
  
      public static akka.protobufv3.internal.Parser<SetOffset> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<SetOffset> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.projection.internal.protobuf.ProjectionMessages.SetOffset
          getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
  
    public interface OffsetOrBuilder
        extends
        // @@protoc_insertion_point(interface_extends:akka.projection.Offset)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string manifest = 1;</code>
       *
       * @return Whether the manifest field is set.
       */
      boolean hasManifest();
      /**
       * <code>required string manifest = 1;</code>
       *
       * @return The manifest.
       */
      java.lang.String getManifest();
      /**
       * <code>required string manifest = 1;</code>
       *
       * @return The bytes for manifest.
       */
      akka.protobufv3.internal.ByteString getManifestBytes();
  
      /**
       * <code>required string value = 2;</code>
       *
       * @return Whether the value field is set.
       */
      boolean hasValue();
      /**
       * <code>required string value = 2;</code>
       *
       * @return The value.
       */
      java.lang.String getValue();
      /**
       * <code>required string value = 2;</code>
       *
       * @return The bytes for value.
       */
      akka.protobufv3.internal.ByteString getValueBytes();
    }
    /** Protobuf type {@code akka.projection.Offset} */
    public static final class Offset extends akka.protobufv3.internal.GeneratedMessageV3
        implements
        // @@protoc_insertion_point(message_implements:akka.projection.Offset)
        OffsetOrBuilder {
      private static final long serialVersionUID = 0L;
      // Use Offset.newBuilder() to construct.
      private Offset(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
  
      private Offset() {
        manifest_ = "";
        value_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Offset();
      }
  
      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
        return this.unknownFields;
      }
  
      private Offset(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10:
                {
                  akka.protobufv3.internal.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000001;
                  manifest_ = bs;
                  break;
                }
              case 18:
                {
                  akka.protobufv3.internal.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000002;
                  value_ = bs;
                  break;
                }
              default:
                {
                  if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_Offset_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_Offset_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.projection.internal.protobuf.ProjectionMessages.Offset.class,
                akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder.class);
      }
  
      private int bitField0_;
      public static final int MANIFEST_FIELD_NUMBER = 1;
      private volatile java.lang.Object manifest_;
      /**
       * <code>required string manifest = 1;</code>
       *
       * @return Whether the manifest field is set.
       */
      public boolean hasManifest() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string manifest = 1;</code>
       *
       * @return The manifest.
       */
      public java.lang.String getManifest() {
        java.lang.Object ref = manifest_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            manifest_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string manifest = 1;</code>
       *
       * @return The bytes for manifest.
       */
      public akka.protobufv3.internal.ByteString getManifestBytes() {
        java.lang.Object ref = manifest_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b =
              akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
          manifest_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int VALUE_FIELD_NUMBER = 2;
      private volatile java.lang.Object value_;
      /**
       * <code>required string value = 2;</code>
       *
       * @return Whether the value field is set.
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string value = 2;</code>
       *
       * @return The value.
       */
      public java.lang.String getValue() {
        java.lang.Object ref = value_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            value_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string value = 2;</code>
       *
       * @return The bytes for value.
       */
      public akka.protobufv3.internal.ByteString getValueBytes() {
        java.lang.Object ref = value_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b =
              akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
          value_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      private byte memoizedIsInitialized = -1;
  
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        if (!hasManifest()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, manifest_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, value_);
        }
        unknownFields.writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, manifest_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, value_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
          return true;
        }
        if (!(obj instanceof akka.projection.internal.protobuf.ProjectionMessages.Offset)) {
          return super.equals(obj);
        }
        akka.projection.internal.protobuf.ProjectionMessages.Offset other =
            (akka.projection.internal.protobuf.ProjectionMessages.Offset) obj;
  
        if (hasManifest() != other.hasManifest()) return false;
        if (hasManifest()) {
          if (!getManifest().equals(other.getManifest())) return false;
        }
        if (hasValue() != other.hasValue()) return false;
        if (hasValue()) {
          if (!getValue().equals(other.getValue())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasManifest()) {
          hash = (37 * hash) + MANIFEST_FIELD_NUMBER;
          hash = (53 * hash) + getManifest().hashCode();
        }
        if (hasValue()) {
          hash = (37 * hash) + VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getValue().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseFrom(
          java.nio.ByteBuffer data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseFrom(
          java.nio.ByteBuffer data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseFrom(
          byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseDelimitedFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseDelimitedFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseFrom(
          akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      @java.lang.Override
      public Builder newBuilderForType() {
        return newBuilder();
      }
  
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
  
      public static Builder newBuilder(
          akka.projection.internal.protobuf.ProjectionMessages.Offset prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
  
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
      }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /** Protobuf type {@code akka.projection.Offset} */
      public static final class Builder
          extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
          implements
          // @@protoc_insertion_point(builder_implements:akka.projection.Offset)
          akka.projection.internal.protobuf.ProjectionMessages.OffsetOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_Offset_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_Offset_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.projection.internal.protobuf.ProjectionMessages.Offset.class,
                  akka.projection.internal.protobuf.ProjectionMessages.Offset.Builder.class);
        }
  
        // Construct using akka.projection.internal.protobuf.ProjectionMessages.Offset.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
  
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {}
        }
  
        @java.lang.Override
        public Builder clear() {
          super.clear();
          manifest_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          value_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_Offset_descriptor;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.Offset
            getDefaultInstanceForType() {
          return akka.projection.internal.protobuf.ProjectionMessages.Offset.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.Offset build() {
          akka.projection.internal.protobuf.ProjectionMessages.Offset result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.Offset buildPartial() {
          akka.projection.internal.protobuf.ProjectionMessages.Offset result =
              new akka.projection.internal.protobuf.ProjectionMessages.Offset(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.manifest_ = manifest_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            to_bitField0_ |= 0x00000002;
          }
          result.value_ = value_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
  
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.setField(field, value);
        }
  
        @java.lang.Override
        public Builder clearField(akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
  
        @java.lang.Override
        public Builder clearOneof(akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
  
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index,
            java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
  
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
  
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.projection.internal.protobuf.ProjectionMessages.Offset) {
            return mergeFrom((akka.projection.internal.protobuf.ProjectionMessages.Offset) other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.projection.internal.protobuf.ProjectionMessages.Offset other) {
          if (other
              == akka.projection.internal.protobuf.ProjectionMessages.Offset.getDefaultInstance())
            return this;
          if (other.hasManifest()) {
            bitField0_ |= 0x00000001;
            manifest_ = other.manifest_;
            onChanged();
          }
          if (other.hasValue()) {
            bitField0_ |= 0x00000002;
            value_ = other.value_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasManifest()) {
            return false;
          }
          if (!hasValue()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.projection.internal.protobuf.ProjectionMessages.Offset parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage =
                (akka.projection.internal.protobuf.ProjectionMessages.Offset)
                    e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
  
        private int bitField0_;
  
        private java.lang.Object manifest_ = "";
        /**
         * <code>required string manifest = 1;</code>
         *
         * @return Whether the manifest field is set.
         */
        public boolean hasManifest() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string manifest = 1;</code>
         *
         * @return The manifest.
         */
        public java.lang.String getManifest() {
          java.lang.Object ref = manifest_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              manifest_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string manifest = 1;</code>
         *
         * @return The bytes for manifest.
         */
        public akka.protobufv3.internal.ByteString getManifestBytes() {
          java.lang.Object ref = manifest_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b =
                akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
            manifest_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string manifest = 1;</code>
         *
         * @param value The manifest to set.
         * @return This builder for chaining.
         */
        public Builder setManifest(java.lang.String value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          manifest_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string manifest = 1;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearManifest() {
          bitField0_ = (bitField0_ & ~0x00000001);
          manifest_ = getDefaultInstance().getManifest();
          onChanged();
          return this;
        }
        /**
         * <code>required string manifest = 1;</code>
         *
         * @param value The bytes for manifest to set.
         * @return This builder for chaining.
         */
        public Builder setManifestBytes(akka.protobufv3.internal.ByteString value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          manifest_ = value;
          onChanged();
          return this;
        }
  
        private java.lang.Object value_ = "";
        /**
         * <code>required string value = 2;</code>
         *
         * @return Whether the value field is set.
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string value = 2;</code>
         *
         * @return The value.
         */
        public java.lang.String getValue() {
          java.lang.Object ref = value_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              value_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string value = 2;</code>
         *
         * @return The bytes for value.
         */
        public akka.protobufv3.internal.ByteString getValueBytes() {
          java.lang.Object ref = value_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b =
                akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
            value_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string value = 2;</code>
         *
         * @param value The value to set.
         * @return This builder for chaining.
         */
        public Builder setValue(java.lang.String value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          value_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string value = 2;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearValue() {
          bitField0_ = (bitField0_ & ~0x00000002);
          value_ = getDefaultInstance().getValue();
          onChanged();
          return this;
        }
        /**
         * <code>required string value = 2;</code>
         *
         * @param value The bytes for value to set.
         * @return This builder for chaining.
         */
        public Builder setValueBytes(akka.protobufv3.internal.ByteString value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          value_ = value;
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
        // @@protoc_insertion_point(builder_scope:akka.projection.Offset)
      }
  
      // @@protoc_insertion_point(class_scope:akka.projection.Offset)
      private static final akka.projection.internal.protobuf.ProjectionMessages.Offset
          DEFAULT_INSTANCE;
  
      static {
        DEFAULT_INSTANCE = new akka.projection.internal.protobuf.ProjectionMessages.Offset();
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.Offset getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated
      public static final akka.protobufv3.internal.Parser<Offset> PARSER =
          new akka.protobufv3.internal.AbstractParser<Offset>() {
            @java.lang.Override
            public Offset parsePartialFrom(
                akka.protobufv3.internal.CodedInputStream input,
                akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
                throws akka.protobufv3.internal.InvalidProtocolBufferException {
              return new Offset(input, extensionRegistry);
            }
          };
  
      public static akka.protobufv3.internal.Parser<Offset> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Offset> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.projection.internal.protobuf.ProjectionMessages.Offset getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
  
    public interface IsPausedOrBuilder
        extends
        // @@protoc_insertion_point(interface_extends:akka.projection.IsPaused)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return Whether the projectionId field is set.
       */
      boolean hasProjectionId();
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return The projectionId.
       */
      akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId();
      /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
      akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
          getProjectionIdOrBuilder();
  
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return Whether the replyTo field is set.
       */
      boolean hasReplyTo();
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The replyTo.
       */
      java.lang.String getReplyTo();
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The bytes for replyTo.
       */
      akka.protobufv3.internal.ByteString getReplyToBytes();
    }
    /** Protobuf type {@code akka.projection.IsPaused} */
    public static final class IsPaused extends akka.protobufv3.internal.GeneratedMessageV3
        implements
        // @@protoc_insertion_point(message_implements:akka.projection.IsPaused)
        IsPausedOrBuilder {
      private static final long serialVersionUID = 0L;
      // Use IsPaused.newBuilder() to construct.
      private IsPaused(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
  
      private IsPaused() {
        replyTo_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new IsPaused();
      }
  
      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
        return this.unknownFields;
      }
  
      private IsPaused(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10:
                {
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
                      subBuilder = null;
                  if (((bitField0_ & 0x00000001) != 0)) {
                    subBuilder = projectionId_.toBuilder();
                  }
                  projectionId_ =
                      input.readMessage(
                          akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.PARSER,
                          extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(projectionId_);
                    projectionId_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000001;
                  break;
                }
              case 18:
                {
                  akka.protobufv3.internal.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000002;
                  replyTo_ = bs;
                  break;
                }
              default:
                {
                  if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_IsPaused_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_IsPaused_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.projection.internal.protobuf.ProjectionMessages.IsPaused.class,
                akka.projection.internal.protobuf.ProjectionMessages.IsPaused.Builder.class);
      }
  
      private int bitField0_;
      public static final int PROJECTIONID_FIELD_NUMBER = 1;
      private akka.projection.internal.protobuf.ProjectionMessages.ProjectionId projectionId_;
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return Whether the projectionId field is set.
       */
      public boolean hasProjectionId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return The projectionId.
       */
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId() {
        return projectionId_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.getDefaultInstance()
            : projectionId_;
      }
      /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
          getProjectionIdOrBuilder() {
        return projectionId_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.getDefaultInstance()
            : projectionId_;
      }
  
      public static final int REPLYTO_FIELD_NUMBER = 2;
      private volatile java.lang.Object replyTo_;
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return Whether the replyTo field is set.
       */
      public boolean hasReplyTo() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The replyTo.
       */
      public java.lang.String getReplyTo() {
        java.lang.Object ref = replyTo_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            replyTo_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The bytes for replyTo.
       */
      public akka.protobufv3.internal.ByteString getReplyToBytes() {
        java.lang.Object ref = replyTo_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b =
              akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
          replyTo_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      private byte memoizedIsInitialized = -1;
  
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        if (!hasProjectionId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasReplyTo()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getProjectionId().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getProjectionId());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, replyTo_);
        }
        unknownFields.writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(1, getProjectionId());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, replyTo_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
          return true;
        }
        if (!(obj instanceof akka.projection.internal.protobuf.ProjectionMessages.IsPaused)) {
          return super.equals(obj);
        }
        akka.projection.internal.protobuf.ProjectionMessages.IsPaused other =
            (akka.projection.internal.protobuf.ProjectionMessages.IsPaused) obj;
  
        if (hasProjectionId() != other.hasProjectionId()) return false;
        if (hasProjectionId()) {
          if (!getProjectionId().equals(other.getProjectionId())) return false;
        }
        if (hasReplyTo() != other.hasReplyTo()) return false;
        if (hasReplyTo()) {
          if (!getReplyTo().equals(other.getReplyTo())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasProjectionId()) {
          hash = (37 * hash) + PROJECTIONID_FIELD_NUMBER;
          hash = (53 * hash) + getProjectionId().hashCode();
        }
        if (hasReplyTo()) {
          hash = (37 * hash) + REPLYTO_FIELD_NUMBER;
          hash = (53 * hash) + getReplyTo().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseFrom(
          java.nio.ByteBuffer data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseFrom(
          java.nio.ByteBuffer data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseFrom(
          byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseFrom(
          byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseDelimitedFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseDelimitedFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseFrom(
          akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      @java.lang.Override
      public Builder newBuilderForType() {
        return newBuilder();
      }
  
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
  
      public static Builder newBuilder(
          akka.projection.internal.protobuf.ProjectionMessages.IsPaused prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
  
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
      }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /** Protobuf type {@code akka.projection.IsPaused} */
      public static final class Builder
          extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
          implements
          // @@protoc_insertion_point(builder_implements:akka.projection.IsPaused)
          akka.projection.internal.protobuf.ProjectionMessages.IsPausedOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_IsPaused_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_IsPaused_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.projection.internal.protobuf.ProjectionMessages.IsPaused.class,
                  akka.projection.internal.protobuf.ProjectionMessages.IsPaused.Builder.class);
        }
  
        // Construct using akka.projection.internal.protobuf.ProjectionMessages.IsPaused.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
  
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
            getProjectionIdFieldBuilder();
          }
        }
  
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (projectionIdBuilder_ == null) {
            projectionId_ = null;
          } else {
            projectionIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          replyTo_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_IsPaused_descriptor;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.IsPaused
            getDefaultInstanceForType() {
          return akka.projection.internal.protobuf.ProjectionMessages.IsPaused.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.IsPaused build() {
          akka.projection.internal.protobuf.ProjectionMessages.IsPaused result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.IsPaused buildPartial() {
          akka.projection.internal.protobuf.ProjectionMessages.IsPaused result =
              new akka.projection.internal.protobuf.ProjectionMessages.IsPaused(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            if (projectionIdBuilder_ == null) {
              result.projectionId_ = projectionId_;
            } else {
              result.projectionId_ = projectionIdBuilder_.build();
            }
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            to_bitField0_ |= 0x00000002;
          }
          result.replyTo_ = replyTo_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
  
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.setField(field, value);
        }
  
        @java.lang.Override
        public Builder clearField(akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
  
        @java.lang.Override
        public Builder clearOneof(akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
  
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index,
            java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
  
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
  
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.projection.internal.protobuf.ProjectionMessages.IsPaused) {
            return mergeFrom((akka.projection.internal.protobuf.ProjectionMessages.IsPaused) other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(
            akka.projection.internal.protobuf.ProjectionMessages.IsPaused other) {
          if (other
              == akka.projection.internal.protobuf.ProjectionMessages.IsPaused.getDefaultInstance())
            return this;
          if (other.hasProjectionId()) {
            mergeProjectionId(other.getProjectionId());
          }
          if (other.hasReplyTo()) {
            bitField0_ |= 0x00000002;
            replyTo_ = other.replyTo_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasProjectionId()) {
            return false;
          }
          if (!hasReplyTo()) {
            return false;
          }
          if (!getProjectionId().isInitialized()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.projection.internal.protobuf.ProjectionMessages.IsPaused parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage =
                (akka.projection.internal.protobuf.ProjectionMessages.IsPaused)
                    e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
  
        private int bitField0_;
  
        private akka.projection.internal.protobuf.ProjectionMessages.ProjectionId projectionId_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>
            projectionIdBuilder_;
        /**
         * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
         *
         * @return Whether the projectionId field is set.
         */
        public boolean hasProjectionId() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
         *
         * @return The projectionId.
         */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId() {
          if (projectionIdBuilder_ == null) {
            return projectionId_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                    .getDefaultInstance()
                : projectionId_;
          } else {
            return projectionIdBuilder_.getMessage();
          }
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder setProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId value) {
          if (projectionIdBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            projectionId_ = value;
            onChanged();
          } else {
            projectionIdBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder setProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
                builderForValue) {
          if (projectionIdBuilder_ == null) {
            projectionId_ = builderForValue.build();
            onChanged();
          } else {
            projectionIdBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder mergeProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId value) {
          if (projectionIdBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)
                && projectionId_ != null
                && projectionId_
                    != akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                        .getDefaultInstance()) {
              projectionId_ =
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.newBuilder(
                          projectionId_)
                      .mergeFrom(value)
                      .buildPartial();
            } else {
              projectionId_ = value;
            }
            onChanged();
          } else {
            projectionIdBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder clearProjectionId() {
          if (projectionIdBuilder_ == null) {
            projectionId_ = null;
            onChanged();
          } else {
            projectionIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
            getProjectionIdBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getProjectionIdFieldBuilder().getBuilder();
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
            getProjectionIdOrBuilder() {
          if (projectionIdBuilder_ != null) {
            return projectionIdBuilder_.getMessageOrBuilder();
          } else {
            return projectionId_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                    .getDefaultInstance()
                : projectionId_;
          }
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>
            getProjectionIdFieldBuilder() {
          if (projectionIdBuilder_ == null) {
            projectionIdBuilder_ =
                new akka.protobufv3.internal.SingleFieldBuilderV3<
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>(
                    getProjectionId(), getParentForChildren(), isClean());
            projectionId_ = null;
          }
          return projectionIdBuilder_;
        }
  
        private java.lang.Object replyTo_ = "";
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return Whether the replyTo field is set.
         */
        public boolean hasReplyTo() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return The replyTo.
         */
        public java.lang.String getReplyTo() {
          java.lang.Object ref = replyTo_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              replyTo_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return The bytes for replyTo.
         */
        public akka.protobufv3.internal.ByteString getReplyToBytes() {
          java.lang.Object ref = replyTo_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b =
                akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
            replyTo_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @param value The replyTo to set.
         * @return This builder for chaining.
         */
        public Builder setReplyTo(java.lang.String value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          replyTo_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearReplyTo() {
          bitField0_ = (bitField0_ & ~0x00000002);
          replyTo_ = getDefaultInstance().getReplyTo();
          onChanged();
          return this;
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @param value The bytes for replyTo to set.
         * @return This builder for chaining.
         */
        public Builder setReplyToBytes(akka.protobufv3.internal.ByteString value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          replyTo_ = value;
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
        // @@protoc_insertion_point(builder_scope:akka.projection.IsPaused)
      }
  
      // @@protoc_insertion_point(class_scope:akka.projection.IsPaused)
      private static final akka.projection.internal.protobuf.ProjectionMessages.IsPaused
          DEFAULT_INSTANCE;
  
      static {
        DEFAULT_INSTANCE = new akka.projection.internal.protobuf.ProjectionMessages.IsPaused();
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.IsPaused
          getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated
      public static final akka.protobufv3.internal.Parser<IsPaused> PARSER =
          new akka.protobufv3.internal.AbstractParser<IsPaused>() {
            @java.lang.Override
            public IsPaused parsePartialFrom(
                akka.protobufv3.internal.CodedInputStream input,
                akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
                throws akka.protobufv3.internal.InvalidProtocolBufferException {
              return new IsPaused(input, extensionRegistry);
            }
          };
  
      public static akka.protobufv3.internal.Parser<IsPaused> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<IsPaused> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.projection.internal.protobuf.ProjectionMessages.IsPaused
          getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
  
    public interface SetPausedOrBuilder
        extends
        // @@protoc_insertion_point(interface_extends:akka.projection.SetPaused)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return Whether the projectionId field is set.
       */
      boolean hasProjectionId();
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return The projectionId.
       */
      akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId();
      /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
      akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
          getProjectionIdOrBuilder();
  
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return Whether the replyTo field is set.
       */
      boolean hasReplyTo();
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The replyTo.
       */
      java.lang.String getReplyTo();
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The bytes for replyTo.
       */
      akka.protobufv3.internal.ByteString getReplyToBytes();
  
      /**
       * <code>optional bool paused = 3;</code>
       *
       * @return Whether the paused field is set.
       */
      boolean hasPaused();
      /**
       * <code>optional bool paused = 3;</code>
       *
       * @return The paused.
       */
      boolean getPaused();
    }
    /** Protobuf type {@code akka.projection.SetPaused} */
    public static final class SetPaused extends akka.protobufv3.internal.GeneratedMessageV3
        implements
        // @@protoc_insertion_point(message_implements:akka.projection.SetPaused)
        SetPausedOrBuilder {
      private static final long serialVersionUID = 0L;
      // Use SetPaused.newBuilder() to construct.
      private SetPaused(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
  
      private SetPaused() {
        replyTo_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new SetPaused();
      }
  
      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
        return this.unknownFields;
      }
  
      private SetPaused(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10:
                {
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
                      subBuilder = null;
                  if (((bitField0_ & 0x00000001) != 0)) {
                    subBuilder = projectionId_.toBuilder();
                  }
                  projectionId_ =
                      input.readMessage(
                          akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.PARSER,
                          extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(projectionId_);
                    projectionId_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000001;
                  break;
                }
              case 18:
                {
                  akka.protobufv3.internal.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000002;
                  replyTo_ = bs;
                  break;
                }
              case 24:
                {
                  bitField0_ |= 0x00000004;
                  paused_ = input.readBool();
                  break;
                }
              default:
                {
                  if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_SetPaused_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.projection.internal.protobuf.ProjectionMessages
            .internal_static_akka_projection_SetPaused_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.projection.internal.protobuf.ProjectionMessages.SetPaused.class,
                akka.projection.internal.protobuf.ProjectionMessages.SetPaused.Builder.class);
      }
  
      private int bitField0_;
      public static final int PROJECTIONID_FIELD_NUMBER = 1;
      private akka.projection.internal.protobuf.ProjectionMessages.ProjectionId projectionId_;
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return Whether the projectionId field is set.
       */
      public boolean hasProjectionId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
       *
       * @return The projectionId.
       */
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId() {
        return projectionId_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.getDefaultInstance()
            : projectionId_;
      }
      /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
      public akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
          getProjectionIdOrBuilder() {
        return projectionId_ == null
            ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.getDefaultInstance()
            : projectionId_;
      }
  
      public static final int REPLYTO_FIELD_NUMBER = 2;
      private volatile java.lang.Object replyTo_;
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return Whether the replyTo field is set.
       */
      public boolean hasReplyTo() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The replyTo.
       */
      public java.lang.String getReplyTo() {
        java.lang.Object ref = replyTo_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            replyTo_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string replyTo = 2;</code>
       *
       * @return The bytes for replyTo.
       */
      public akka.protobufv3.internal.ByteString getReplyToBytes() {
        java.lang.Object ref = replyTo_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b =
              akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
          replyTo_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int PAUSED_FIELD_NUMBER = 3;
      private boolean paused_;
      /**
       * <code>optional bool paused = 3;</code>
       *
       * @return Whether the paused field is set.
       */
      public boolean hasPaused() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional bool paused = 3;</code>
       *
       * @return The paused.
       */
      public boolean getPaused() {
        return paused_;
      }
  
      private byte memoizedIsInitialized = -1;
  
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        if (!hasProjectionId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasReplyTo()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getProjectionId().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getProjectionId());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, replyTo_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeBool(3, paused_);
        }
        unknownFields.writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(1, getProjectionId());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, replyTo_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream.computeBoolSize(3, paused_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
          return true;
        }
        if (!(obj instanceof akka.projection.internal.protobuf.ProjectionMessages.SetPaused)) {
          return super.equals(obj);
        }
        akka.projection.internal.protobuf.ProjectionMessages.SetPaused other =
            (akka.projection.internal.protobuf.ProjectionMessages.SetPaused) obj;
  
        if (hasProjectionId() != other.hasProjectionId()) return false;
        if (hasProjectionId()) {
          if (!getProjectionId().equals(other.getProjectionId())) return false;
        }
        if (hasReplyTo() != other.hasReplyTo()) return false;
        if (hasReplyTo()) {
          if (!getReplyTo().equals(other.getReplyTo())) return false;
        }
        if (hasPaused() != other.hasPaused()) return false;
        if (hasPaused()) {
          if (getPaused() != other.getPaused()) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasProjectionId()) {
          hash = (37 * hash) + PROJECTIONID_FIELD_NUMBER;
          hash = (53 * hash) + getProjectionId().hashCode();
        }
        if (hasReplyTo()) {
          hash = (37 * hash) + REPLYTO_FIELD_NUMBER;
          hash = (53 * hash) + getReplyTo().hashCode();
        }
        if (hasPaused()) {
          hash = (37 * hash) + PAUSED_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(getPaused());
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseFrom(
          java.nio.ByteBuffer data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseFrom(
          java.nio.ByteBuffer data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseFrom(
          byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseFrom(
          byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseDelimitedFrom(
          java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseDelimitedFrom(
          java.io.InputStream input, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseFrom(
          akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(
            PARSER, input, extensionRegistry);
      }
  
      @java.lang.Override
      public Builder newBuilderForType() {
        return newBuilder();
      }
  
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
  
      public static Builder newBuilder(
          akka.projection.internal.protobuf.ProjectionMessages.SetPaused prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
  
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
      }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /** Protobuf type {@code akka.projection.SetPaused} */
      public static final class Builder
          extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
          implements
          // @@protoc_insertion_point(builder_implements:akka.projection.SetPaused)
          akka.projection.internal.protobuf.ProjectionMessages.SetPausedOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_SetPaused_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_SetPaused_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.projection.internal.protobuf.ProjectionMessages.SetPaused.class,
                  akka.projection.internal.protobuf.ProjectionMessages.SetPaused.Builder.class);
        }
  
        // Construct using akka.projection.internal.protobuf.ProjectionMessages.SetPaused.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
  
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
            getProjectionIdFieldBuilder();
          }
        }
  
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (projectionIdBuilder_ == null) {
            projectionId_ = null;
          } else {
            projectionIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          replyTo_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          paused_ = false;
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
          return akka.projection.internal.protobuf.ProjectionMessages
              .internal_static_akka_projection_SetPaused_descriptor;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.SetPaused
            getDefaultInstanceForType() {
          return akka.projection.internal.protobuf.ProjectionMessages.SetPaused.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.SetPaused build() {
          akka.projection.internal.protobuf.ProjectionMessages.SetPaused result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.projection.internal.protobuf.ProjectionMessages.SetPaused buildPartial() {
          akka.projection.internal.protobuf.ProjectionMessages.SetPaused result =
              new akka.projection.internal.protobuf.ProjectionMessages.SetPaused(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            if (projectionIdBuilder_ == null) {
              result.projectionId_ = projectionId_;
            } else {
              result.projectionId_ = projectionIdBuilder_.build();
            }
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            to_bitField0_ |= 0x00000002;
          }
          result.replyTo_ = replyTo_;
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.paused_ = paused_;
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
  
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.setField(field, value);
        }
  
        @java.lang.Override
        public Builder clearField(akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
  
        @java.lang.Override
        public Builder clearOneof(akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
  
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index,
            java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
  
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
  
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.projection.internal.protobuf.ProjectionMessages.SetPaused) {
            return mergeFrom((akka.projection.internal.protobuf.ProjectionMessages.SetPaused) other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(
            akka.projection.internal.protobuf.ProjectionMessages.SetPaused other) {
          if (other
              == akka.projection.internal.protobuf.ProjectionMessages.SetPaused.getDefaultInstance())
            return this;
          if (other.hasProjectionId()) {
            mergeProjectionId(other.getProjectionId());
          }
          if (other.hasReplyTo()) {
            bitField0_ |= 0x00000002;
            replyTo_ = other.replyTo_;
            onChanged();
          }
          if (other.hasPaused()) {
            setPaused(other.getPaused());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasProjectionId()) {
            return false;
          }
          if (!hasReplyTo()) {
            return false;
          }
          if (!getProjectionId().isInitialized()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.projection.internal.protobuf.ProjectionMessages.SetPaused parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage =
                (akka.projection.internal.protobuf.ProjectionMessages.SetPaused)
                    e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
  
        private int bitField0_;
  
        private akka.projection.internal.protobuf.ProjectionMessages.ProjectionId projectionId_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>
            projectionIdBuilder_;
        /**
         * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
         *
         * @return Whether the projectionId field is set.
         */
        public boolean hasProjectionId() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.projection.ProjectionId projectionId = 1;</code>
         *
         * @return The projectionId.
         */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId getProjectionId() {
          if (projectionIdBuilder_ == null) {
            return projectionId_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                    .getDefaultInstance()
                : projectionId_;
          } else {
            return projectionIdBuilder_.getMessage();
          }
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder setProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId value) {
          if (projectionIdBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            projectionId_ = value;
            onChanged();
          } else {
            projectionIdBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder setProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
                builderForValue) {
          if (projectionIdBuilder_ == null) {
            projectionId_ = builderForValue.build();
            onChanged();
          } else {
            projectionIdBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder mergeProjectionId(
            akka.projection.internal.protobuf.ProjectionMessages.ProjectionId value) {
          if (projectionIdBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)
                && projectionId_ != null
                && projectionId_
                    != akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                        .getDefaultInstance()) {
              projectionId_ =
                  akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.newBuilder(
                          projectionId_)
                      .mergeFrom(value)
                      .buildPartial();
            } else {
              projectionId_ = value;
            }
            onChanged();
          } else {
            projectionIdBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public Builder clearProjectionId() {
          if (projectionIdBuilder_ == null) {
            projectionId_ = null;
            onChanged();
          } else {
            projectionIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder
            getProjectionIdBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getProjectionIdFieldBuilder().getBuilder();
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        public akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder
            getProjectionIdOrBuilder() {
          if (projectionIdBuilder_ != null) {
            return projectionIdBuilder_.getMessageOrBuilder();
          } else {
            return projectionId_ == null
                ? akka.projection.internal.protobuf.ProjectionMessages.ProjectionId
                    .getDefaultInstance()
                : projectionId_;
          }
        }
        /** <code>required .akka.projection.ProjectionId projectionId = 1;</code> */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>
            getProjectionIdFieldBuilder() {
          if (projectionIdBuilder_ == null) {
            projectionIdBuilder_ =
                new akka.protobufv3.internal.SingleFieldBuilderV3<
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionId,
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionId.Builder,
                    akka.projection.internal.protobuf.ProjectionMessages.ProjectionIdOrBuilder>(
                    getProjectionId(), getParentForChildren(), isClean());
            projectionId_ = null;
          }
          return projectionIdBuilder_;
        }
  
        private java.lang.Object replyTo_ = "";
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return Whether the replyTo field is set.
         */
        public boolean hasReplyTo() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return The replyTo.
         */
        public java.lang.String getReplyTo() {
          java.lang.Object ref = replyTo_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs = (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              replyTo_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return The bytes for replyTo.
         */
        public akka.protobufv3.internal.ByteString getReplyToBytes() {
          java.lang.Object ref = replyTo_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b =
                akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
            replyTo_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @param value The replyTo to set.
         * @return This builder for chaining.
         */
        public Builder setReplyTo(java.lang.String value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          replyTo_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearReplyTo() {
          bitField0_ = (bitField0_ & ~0x00000002);
          replyTo_ = getDefaultInstance().getReplyTo();
          onChanged();
          return this;
        }
        /**
         * <code>required string replyTo = 2;</code>
         *
         * @param value The bytes for replyTo to set.
         * @return This builder for chaining.
         */
        public Builder setReplyToBytes(akka.protobufv3.internal.ByteString value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          replyTo_ = value;
          onChanged();
          return this;
        }
  
        private boolean paused_;
        /**
         * <code>optional bool paused = 3;</code>
         *
         * @return Whether the paused field is set.
         */
        public boolean hasPaused() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional bool paused = 3;</code>
         *
         * @return The paused.
         */
        public boolean getPaused() {
          return paused_;
        }
        /**
         * <code>optional bool paused = 3;</code>
         *
         * @param value The paused to set.
         * @return This builder for chaining.
         */
        public Builder setPaused(boolean value) {
          bitField0_ |= 0x00000004;
          paused_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional bool paused = 3;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearPaused() {
          bitField0_ = (bitField0_ & ~0x00000004);
          paused_ = false;
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
        // @@protoc_insertion_point(builder_scope:akka.projection.SetPaused)
      }
  
      // @@protoc_insertion_point(class_scope:akka.projection.SetPaused)
      private static final akka.projection.internal.protobuf.ProjectionMessages.SetPaused
          DEFAULT_INSTANCE;
  
      static {
        DEFAULT_INSTANCE = new akka.projection.internal.protobuf.ProjectionMessages.SetPaused();
      }
  
      public static akka.projection.internal.protobuf.ProjectionMessages.SetPaused
          getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated
      public static final akka.protobufv3.internal.Parser<SetPaused> PARSER =
          new akka.protobufv3.internal.AbstractParser<SetPaused>() {
            @java.lang.Override
            public SetPaused parsePartialFrom(
                akka.protobufv3.internal.CodedInputStream input,
                akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
                throws akka.protobufv3.internal.InvalidProtocolBufferException {
              return new SetPaused(input, extensionRegistry);
            }
          };
  
      public static akka.protobufv3.internal.Parser<SetPaused> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<SetPaused> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.projection.internal.protobuf.ProjectionMessages.SetPaused
          getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }
  
    private static final akka.protobufv3.internal.Descriptors.Descriptor
        internal_static_akka_projection_ProjectionId_descriptor;
    private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_projection_ProjectionId_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
        internal_static_akka_projection_GetOffset_descriptor;
    private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_projection_GetOffset_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
        internal_static_akka_projection_CurrentOffset_descriptor;
    private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_projection_CurrentOffset_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
        internal_static_akka_projection_SetOffset_descriptor;
    private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_projection_SetOffset_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
        internal_static_akka_projection_Offset_descriptor;
    private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_projection_Offset_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
        internal_static_akka_projection_IsPaused_descriptor;
    private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_projection_IsPaused_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
        internal_static_akka_projection_SetPaused_descriptor;
    private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_projection_SetPaused_fieldAccessorTable;
  
    public static akka.protobufv3.internal.Descriptors.FileDescriptor getDescriptor() {
      return descriptor;
    }
  
    private static akka.protobufv3.internal.Descriptors.FileDescriptor descriptor;
  
    static {
      java.lang.String[] descriptorData = {
        "\n\030ProjectionMessages.proto\022\017akka.project"
            + "ion\")\n\014ProjectionId\022\014\n\004name\030\001 \002(\t\022\013\n\003key"
            + "\030\002 \002(\t\"Q\n\tGetOffset\0223\n\014projectionId\030\001 \002("
            + "\0132\035.akka.projection.ProjectionId\022\017\n\007repl"
            + "yTo\030\002 \002(\t\"m\n\rCurrentOffset\0223\n\014projection"
            + "Id\030\001 \002(\0132\035.akka.projection.ProjectionId\022"
            + "\'\n\006offset\030\002 \001(\0132\027.akka.projection.Offset"
            + "\"z\n\tSetOffset\0223\n\014projectionId\030\001 \002(\0132\035.ak"
            + "ka.projection.ProjectionId\022\017\n\007replyTo\030\002 "
            + "\002(\t\022\'\n\006offset\030\003 \001(\0132\027.akka.projection.Of"
            + "fset\")\n\006Offset\022\020\n\010manifest\030\001 \002(\t\022\r\n\005valu"
            + "e\030\002 \002(\t\"P\n\010IsPaused\0223\n\014projectionId\030\001 \002("
            + "\0132\035.akka.projection.ProjectionId\022\017\n\007repl"
            + "yTo\030\002 \002(\t\"a\n\tSetPaused\0223\n\014projectionId\030\001"
            + " \002(\0132\035.akka.projection.ProjectionId\022\017\n\007r"
            + "eplyTo\030\002 \002(\t\022\016\n\006paused\030\003 \001(\010B%\n!akka.pro"
            + "jection.internal.protobufH\001"
      };
      descriptor =
          akka.protobufv3.internal.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
              descriptorData, new akka.protobufv3.internal.Descriptors.FileDescriptor[] {});
      internal_static_akka_projection_ProjectionId_descriptor =
          getDescriptor().getMessageTypes().get(0);
      internal_static_akka_projection_ProjectionId_fieldAccessorTable =
          new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
              internal_static_akka_projection_ProjectionId_descriptor,
              new java.lang.String[] {
                "Name", "Key",
              });
      internal_static_akka_projection_GetOffset_descriptor = getDescriptor().getMessageTypes().get(1);
      internal_static_akka_projection_GetOffset_fieldAccessorTable =
          new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
              internal_static_akka_projection_GetOffset_descriptor,
              new java.lang.String[] {
                "ProjectionId", "ReplyTo",
              });
      internal_static_akka_projection_CurrentOffset_descriptor =
          getDescriptor().getMessageTypes().get(2);
      internal_static_akka_projection_CurrentOffset_fieldAccessorTable =
          new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
              internal_static_akka_projection_CurrentOffset_descriptor,
              new java.lang.String[] {
                "ProjectionId", "Offset",
              });
      internal_static_akka_projection_SetOffset_descriptor = getDescriptor().getMessageTypes().get(3);
      internal_static_akka_projection_SetOffset_fieldAccessorTable =
          new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
              internal_static_akka_projection_SetOffset_descriptor,
              new java.lang.String[] {
                "ProjectionId", "ReplyTo", "Offset",
              });
      internal_static_akka_projection_Offset_descriptor = getDescriptor().getMessageTypes().get(4);
      internal_static_akka_projection_Offset_fieldAccessorTable =
          new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
              internal_static_akka_projection_Offset_descriptor,
              new java.lang.String[] {
                "Manifest", "Value",
              });
      internal_static_akka_projection_IsPaused_descriptor = getDescriptor().getMessageTypes().get(5);
      internal_static_akka_projection_IsPaused_fieldAccessorTable =
          new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
              internal_static_akka_projection_IsPaused_descriptor,
              new java.lang.String[] {
                "ProjectionId", "ReplyTo",
              });
      internal_static_akka_projection_SetPaused_descriptor = getDescriptor().getMessageTypes().get(6);
      internal_static_akka_projection_SetPaused_fieldAccessorTable =
          new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
              internal_static_akka_projection_SetPaused_descriptor,
              new java.lang.String[] {
                "ProjectionId", "ReplyTo", "Paused",
              });
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  