content: /*
   * Copyright (C) 2023-2025 Lightbend Inc. <https://www.lightbend.com>
   */
  
  // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: ReliableDelivery.proto
  
  package akka.cluster.typed.internal.protobuf;
  
  public final class ReliableDelivery {
    private ReliableDelivery() {}
    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 SequencedMessageOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.typed.delivery.SequencedMessage)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string producerId = 1;</code>
       * @return Whether the producerId field is set.
       */
      boolean hasProducerId();
      /**
       * <code>required string producerId = 1;</code>
       * @return The producerId.
       */
      java.lang.String getProducerId();
      /**
       * <code>required string producerId = 1;</code>
       * @return The bytes for producerId.
       */
      akka.protobufv3.internal.ByteString
          getProducerIdBytes();
  
      /**
       * <code>required int64 seqNr = 2;</code>
       * @return Whether the seqNr field is set.
       */
      boolean hasSeqNr();
      /**
       * <code>required int64 seqNr = 2;</code>
       * @return The seqNr.
       */
      long getSeqNr();
  
      /**
       * <code>required bool first = 3;</code>
       * @return Whether the first field is set.
       */
      boolean hasFirst();
      /**
       * <code>required bool first = 3;</code>
       * @return The first.
       */
      boolean getFirst();
  
      /**
       * <code>required bool ack = 4;</code>
       * @return Whether the ack field is set.
       */
      boolean hasAck();
      /**
       * <code>required bool ack = 4;</code>
       * @return The ack.
       */
      boolean getAck();
  
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @return Whether the producerControllerRef field is set.
       */
      boolean hasProducerControllerRef();
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @return The producerControllerRef.
       */
      java.lang.String getProducerControllerRef();
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @return The bytes for producerControllerRef.
       */
      akka.protobufv3.internal.ByteString
          getProducerControllerRefBytes();
  
      /**
       * <code>required .Payload message = 6;</code>
       * @return Whether the message field is set.
       */
      boolean hasMessage();
      /**
       * <code>required .Payload message = 6;</code>
       * @return The message.
       */
      akka.remote.ContainerFormats.Payload getMessage();
      /**
       * <code>required .Payload message = 6;</code>
       */
      akka.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder();
  
      /**
       * <code>optional bool firstChunk = 7;</code>
       * @return Whether the firstChunk field is set.
       */
      boolean hasFirstChunk();
      /**
       * <code>optional bool firstChunk = 7;</code>
       * @return The firstChunk.
       */
      boolean getFirstChunk();
  
      /**
       * <code>optional bool lastChunk = 8;</code>
       * @return Whether the lastChunk field is set.
       */
      boolean hasLastChunk();
      /**
       * <code>optional bool lastChunk = 8;</code>
       * @return The lastChunk.
       */
      boolean getLastChunk();
    }
    /**
     * <pre>
     * ConsumerController
     * </pre>
     *
     * Protobuf type {@code akka.cluster.typed.delivery.SequencedMessage}
     */
    public static final class SequencedMessage extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.typed.delivery.SequencedMessage)
        SequencedMessageOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use SequencedMessage.newBuilder() to construct.
      private SequencedMessage(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private SequencedMessage() {
        producerId_ = "";
        producerControllerRef_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new SequencedMessage();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_SequencedMessage_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_SequencedMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.Builder.class);
      }
  
      private int bitField0_;
      public static final int PRODUCERID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object producerId_ = "";
      /**
       * <code>required string producerId = 1;</code>
       * @return Whether the producerId field is set.
       */
      @java.lang.Override
      public boolean hasProducerId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string producerId = 1;</code>
       * @return The producerId.
       */
      @java.lang.Override
      public java.lang.String getProducerId() {
        java.lang.Object ref = producerId_;
        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()) {
            producerId_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string producerId = 1;</code>
       * @return The bytes for producerId.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getProducerIdBytes() {
        java.lang.Object ref = producerId_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          producerId_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int SEQNR_FIELD_NUMBER = 2;
      private long seqNr_ = 0L;
      /**
       * <code>required int64 seqNr = 2;</code>
       * @return Whether the seqNr field is set.
       */
      @java.lang.Override
      public boolean hasSeqNr() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 seqNr = 2;</code>
       * @return The seqNr.
       */
      @java.lang.Override
      public long getSeqNr() {
        return seqNr_;
      }
  
      public static final int FIRST_FIELD_NUMBER = 3;
      private boolean first_ = false;
      /**
       * <code>required bool first = 3;</code>
       * @return Whether the first field is set.
       */
      @java.lang.Override
      public boolean hasFirst() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required bool first = 3;</code>
       * @return The first.
       */
      @java.lang.Override
      public boolean getFirst() {
        return first_;
      }
  
      public static final int ACK_FIELD_NUMBER = 4;
      private boolean ack_ = false;
      /**
       * <code>required bool ack = 4;</code>
       * @return Whether the ack field is set.
       */
      @java.lang.Override
      public boolean hasAck() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required bool ack = 4;</code>
       * @return The ack.
       */
      @java.lang.Override
      public boolean getAck() {
        return ack_;
      }
  
      public static final int PRODUCERCONTROLLERREF_FIELD_NUMBER = 5;
      @SuppressWarnings("serial")
      private volatile java.lang.Object producerControllerRef_ = "";
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @return Whether the producerControllerRef field is set.
       */
      @java.lang.Override
      public boolean hasProducerControllerRef() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @return The producerControllerRef.
       */
      @java.lang.Override
      public java.lang.String getProducerControllerRef() {
        java.lang.Object ref = producerControllerRef_;
        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()) {
            producerControllerRef_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string producerControllerRef = 5;</code>
       * @return The bytes for producerControllerRef.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getProducerControllerRefBytes() {
        java.lang.Object ref = producerControllerRef_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          producerControllerRef_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int MESSAGE_FIELD_NUMBER = 6;
      private akka.remote.ContainerFormats.Payload message_;
      /**
       * <code>required .Payload message = 6;</code>
       * @return Whether the message field is set.
       */
      @java.lang.Override
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * <code>required .Payload message = 6;</code>
       * @return The message.
       */
      @java.lang.Override
      public akka.remote.ContainerFormats.Payload getMessage() {
        return message_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
      }
      /**
       * <code>required .Payload message = 6;</code>
       */
      @java.lang.Override
      public akka.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder() {
        return message_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
      }
  
      public static final int FIRSTCHUNK_FIELD_NUMBER = 7;
      private boolean firstChunk_ = false;
      /**
       * <code>optional bool firstChunk = 7;</code>
       * @return Whether the firstChunk field is set.
       */
      @java.lang.Override
      public boolean hasFirstChunk() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * <code>optional bool firstChunk = 7;</code>
       * @return The firstChunk.
       */
      @java.lang.Override
      public boolean getFirstChunk() {
        return firstChunk_;
      }
  
      public static final int LASTCHUNK_FIELD_NUMBER = 8;
      private boolean lastChunk_ = false;
      /**
       * <code>optional bool lastChunk = 8;</code>
       * @return Whether the lastChunk field is set.
       */
      @java.lang.Override
      public boolean hasLastChunk() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * <code>optional bool lastChunk = 8;</code>
       * @return The lastChunk.
       */
      @java.lang.Override
      public boolean getLastChunk() {
        return lastChunk_;
      }
  
      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 (!hasProducerId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasSeqNr()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasFirst()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasAck()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasProducerControllerRef()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasMessage()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getMessage().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)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, producerId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeInt64(2, seqNr_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeBool(3, first_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeBool(4, ack_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 5, producerControllerRef_);
        }
        if (((bitField0_ & 0x00000020) != 0)) {
          output.writeMessage(6, getMessage());
        }
        if (((bitField0_ & 0x00000040) != 0)) {
          output.writeBool(7, firstChunk_);
        }
        if (((bitField0_ & 0x00000080) != 0)) {
          output.writeBool(8, lastChunk_);
        }
        getUnknownFields().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, producerId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt64Size(2, seqNr_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(3, first_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(4, ack_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(5, producerControllerRef_);
        }
        if (((bitField0_ & 0x00000020) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(6, getMessage());
        }
        if (((bitField0_ & 0x00000040) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(7, firstChunk_);
        }
        if (((bitField0_ & 0x00000080) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(8, lastChunk_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage)) {
          return super.equals(obj);
        }
        akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage other = (akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage) obj;
  
        if (hasProducerId() != other.hasProducerId()) return false;
        if (hasProducerId()) {
          if (!getProducerId()
              .equals(other.getProducerId())) return false;
        }
        if (hasSeqNr() != other.hasSeqNr()) return false;
        if (hasSeqNr()) {
          if (getSeqNr()
              != other.getSeqNr()) return false;
        }
        if (hasFirst() != other.hasFirst()) return false;
        if (hasFirst()) {
          if (getFirst()
              != other.getFirst()) return false;
        }
        if (hasAck() != other.hasAck()) return false;
        if (hasAck()) {
          if (getAck()
              != other.getAck()) return false;
        }
        if (hasProducerControllerRef() != other.hasProducerControllerRef()) return false;
        if (hasProducerControllerRef()) {
          if (!getProducerControllerRef()
              .equals(other.getProducerControllerRef())) return false;
        }
        if (hasMessage() != other.hasMessage()) return false;
        if (hasMessage()) {
          if (!getMessage()
              .equals(other.getMessage())) return false;
        }
        if (hasFirstChunk() != other.hasFirstChunk()) return false;
        if (hasFirstChunk()) {
          if (getFirstChunk()
              != other.getFirstChunk()) return false;
        }
        if (hasLastChunk() != other.hasLastChunk()) return false;
        if (hasLastChunk()) {
          if (getLastChunk()
              != other.getLastChunk()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasProducerId()) {
          hash = (37 * hash) + PRODUCERID_FIELD_NUMBER;
          hash = (53 * hash) + getProducerId().hashCode();
        }
        if (hasSeqNr()) {
          hash = (37 * hash) + SEQNR_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getSeqNr());
        }
        if (hasFirst()) {
          hash = (37 * hash) + FIRST_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getFirst());
        }
        if (hasAck()) {
          hash = (37 * hash) + ACK_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getAck());
        }
        if (hasProducerControllerRef()) {
          hash = (37 * hash) + PRODUCERCONTROLLERREF_FIELD_NUMBER;
          hash = (53 * hash) + getProducerControllerRef().hashCode();
        }
        if (hasMessage()) {
          hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
          hash = (53 * hash) + getMessage().hashCode();
        }
        if (hasFirstChunk()) {
          hash = (37 * hash) + FIRSTCHUNK_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getFirstChunk());
        }
        if (hasLastChunk()) {
          hash = (37 * hash) + LASTCHUNK_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getLastChunk());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage 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.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage 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.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage 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.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage 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;
      }
      /**
       * <pre>
       * ConsumerController
       * </pre>
       *
       * Protobuf type {@code akka.cluster.typed.delivery.SequencedMessage}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.typed.delivery.SequencedMessage)
          akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessageOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_SequencedMessage_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_SequencedMessage_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.Builder.class);
        }
  
        // Construct using akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getMessageFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          producerId_ = "";
          seqNr_ = 0L;
          first_ = false;
          ack_ = false;
          producerControllerRef_ = "";
          message_ = null;
          if (messageBuilder_ != null) {
            messageBuilder_.dispose();
            messageBuilder_ = null;
          }
          firstChunk_ = false;
          lastChunk_ = false;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_SequencedMessage_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage getDefaultInstanceForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage build() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage buildPartial() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage result = new akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.producerId_ = producerId_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.seqNr_ = seqNr_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.first_ = first_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.ack_ = ack_;
            to_bitField0_ |= 0x00000008;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.producerControllerRef_ = producerControllerRef_;
            to_bitField0_ |= 0x00000010;
          }
          if (((from_bitField0_ & 0x00000020) != 0)) {
            result.message_ = messageBuilder_ == null
                ? message_
                : messageBuilder_.build();
            to_bitField0_ |= 0x00000020;
          }
          if (((from_bitField0_ & 0x00000040) != 0)) {
            result.firstChunk_ = firstChunk_;
            to_bitField0_ |= 0x00000040;
          }
          if (((from_bitField0_ & 0x00000080) != 0)) {
            result.lastChunk_ = lastChunk_;
            to_bitField0_ |= 0x00000080;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage) {
            return mergeFrom((akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage other) {
          if (other == akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage.getDefaultInstance()) return this;
          if (other.hasProducerId()) {
            producerId_ = other.producerId_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasSeqNr()) {
            setSeqNr(other.getSeqNr());
          }
          if (other.hasFirst()) {
            setFirst(other.getFirst());
          }
          if (other.hasAck()) {
            setAck(other.getAck());
          }
          if (other.hasProducerControllerRef()) {
            producerControllerRef_ = other.producerControllerRef_;
            bitField0_ |= 0x00000010;
            onChanged();
          }
          if (other.hasMessage()) {
            mergeMessage(other.getMessage());
          }
          if (other.hasFirstChunk()) {
            setFirstChunk(other.getFirstChunk());
          }
          if (other.hasLastChunk()) {
            setLastChunk(other.getLastChunk());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasProducerId()) {
            return false;
          }
          if (!hasSeqNr()) {
            return false;
          }
          if (!hasFirst()) {
            return false;
          }
          if (!hasAck()) {
            return false;
          }
          if (!hasProducerControllerRef()) {
            return false;
          }
          if (!hasMessage()) {
            return false;
          }
          if (!getMessage().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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  producerId_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  seqNr_ = input.readInt64();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 24: {
                  first_ = input.readBool();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  ack_ = input.readBool();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                case 42: {
                  producerControllerRef_ = input.readBytes();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 42
                case 50: {
                  input.readMessage(
                      getMessageFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000020;
                  break;
                } // case 50
                case 56: {
                  firstChunk_ = input.readBool();
                  bitField0_ |= 0x00000040;
                  break;
                } // case 56
                case 64: {
                  lastChunk_ = input.readBool();
                  bitField0_ |= 0x00000080;
                  break;
                } // case 64
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object producerId_ = "";
        /**
         * <code>required string producerId = 1;</code>
         * @return Whether the producerId field is set.
         */
        public boolean hasProducerId() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string producerId = 1;</code>
         * @return The producerId.
         */
        public java.lang.String getProducerId() {
          java.lang.Object ref = producerId_;
          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()) {
              producerId_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string producerId = 1;</code>
         * @return The bytes for producerId.
         */
        public akka.protobufv3.internal.ByteString
            getProducerIdBytes() {
          java.lang.Object ref = producerId_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            producerId_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string producerId = 1;</code>
         * @param value The producerId to set.
         * @return This builder for chaining.
         */
        public Builder setProducerId(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          producerId_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required string producerId = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearProducerId() {
          producerId_ = getDefaultInstance().getProducerId();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>required string producerId = 1;</code>
         * @param value The bytes for producerId to set.
         * @return This builder for chaining.
         */
        public Builder setProducerIdBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          producerId_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
  
        private long seqNr_ ;
        /**
         * <code>required int64 seqNr = 2;</code>
         * @return Whether the seqNr field is set.
         */
        @java.lang.Override
        public boolean hasSeqNr() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required int64 seqNr = 2;</code>
         * @return The seqNr.
         */
        @java.lang.Override
        public long getSeqNr() {
          return seqNr_;
        }
        /**
         * <code>required int64 seqNr = 2;</code>
         * @param value The seqNr to set.
         * @return This builder for chaining.
         */
        public Builder setSeqNr(long value) {
  
          seqNr_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 seqNr = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearSeqNr() {
          bitField0_ = (bitField0_ & ~0x00000002);
          seqNr_ = 0L;
          onChanged();
          return this;
        }
  
        private boolean first_ ;
        /**
         * <code>required bool first = 3;</code>
         * @return Whether the first field is set.
         */
        @java.lang.Override
        public boolean hasFirst() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>required bool first = 3;</code>
         * @return The first.
         */
        @java.lang.Override
        public boolean getFirst() {
          return first_;
        }
        /**
         * <code>required bool first = 3;</code>
         * @param value The first to set.
         * @return This builder for chaining.
         */
        public Builder setFirst(boolean value) {
  
          first_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>required bool first = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearFirst() {
          bitField0_ = (bitField0_ & ~0x00000004);
          first_ = false;
          onChanged();
          return this;
        }
  
        private boolean ack_ ;
        /**
         * <code>required bool ack = 4;</code>
         * @return Whether the ack field is set.
         */
        @java.lang.Override
        public boolean hasAck() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>required bool ack = 4;</code>
         * @return The ack.
         */
        @java.lang.Override
        public boolean getAck() {
          return ack_;
        }
        /**
         * <code>required bool ack = 4;</code>
         * @param value The ack to set.
         * @return This builder for chaining.
         */
        public Builder setAck(boolean value) {
  
          ack_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>required bool ack = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearAck() {
          bitField0_ = (bitField0_ & ~0x00000008);
          ack_ = false;
          onChanged();
          return this;
        }
  
        private java.lang.Object producerControllerRef_ = "";
        /**
         * <code>required string producerControllerRef = 5;</code>
         * @return Whether the producerControllerRef field is set.
         */
        public boolean hasProducerControllerRef() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>required string producerControllerRef = 5;</code>
         * @return The producerControllerRef.
         */
        public java.lang.String getProducerControllerRef() {
          java.lang.Object ref = producerControllerRef_;
          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()) {
              producerControllerRef_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string producerControllerRef = 5;</code>
         * @return The bytes for producerControllerRef.
         */
        public akka.protobufv3.internal.ByteString
            getProducerControllerRefBytes() {
          java.lang.Object ref = producerControllerRef_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            producerControllerRef_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string producerControllerRef = 5;</code>
         * @param value The producerControllerRef to set.
         * @return This builder for chaining.
         */
        public Builder setProducerControllerRef(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          producerControllerRef_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>required string producerControllerRef = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearProducerControllerRef() {
          producerControllerRef_ = getDefaultInstance().getProducerControllerRef();
          bitField0_ = (bitField0_ & ~0x00000010);
          onChanged();
          return this;
        }
        /**
         * <code>required string producerControllerRef = 5;</code>
         * @param value The bytes for producerControllerRef to set.
         * @return This builder for chaining.
         */
        public Builder setProducerControllerRefBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          producerControllerRef_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
  
        private akka.remote.ContainerFormats.Payload message_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> messageBuilder_;
        /**
         * <code>required .Payload message = 6;</code>
         * @return Whether the message field is set.
         */
        public boolean hasMessage() {
          return ((bitField0_ & 0x00000020) != 0);
        }
        /**
         * <code>required .Payload message = 6;</code>
         * @return The message.
         */
        public akka.remote.ContainerFormats.Payload getMessage() {
          if (messageBuilder_ == null) {
            return message_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
          } else {
            return messageBuilder_.getMessage();
          }
        }
        /**
         * <code>required .Payload message = 6;</code>
         */
        public Builder setMessage(akka.remote.ContainerFormats.Payload value) {
          if (messageBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            message_ = value;
          } else {
            messageBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000020;
          onChanged();
          return this;
        }
        /**
         * <code>required .Payload message = 6;</code>
         */
        public Builder setMessage(
            akka.remote.ContainerFormats.Payload.Builder builderForValue) {
          if (messageBuilder_ == null) {
            message_ = builderForValue.build();
          } else {
            messageBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000020;
          onChanged();
          return this;
        }
        /**
         * <code>required .Payload message = 6;</code>
         */
        public Builder mergeMessage(akka.remote.ContainerFormats.Payload value) {
          if (messageBuilder_ == null) {
            if (((bitField0_ & 0x00000020) != 0) &&
              message_ != null &&
              message_ != akka.remote.ContainerFormats.Payload.getDefaultInstance()) {
              getMessageBuilder().mergeFrom(value);
            } else {
              message_ = value;
            }
          } else {
            messageBuilder_.mergeFrom(value);
          }
          if (message_ != null) {
            bitField0_ |= 0x00000020;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .Payload message = 6;</code>
         */
        public Builder clearMessage() {
          bitField0_ = (bitField0_ & ~0x00000020);
          message_ = null;
          if (messageBuilder_ != null) {
            messageBuilder_.dispose();
            messageBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .Payload message = 6;</code>
         */
        public akka.remote.ContainerFormats.Payload.Builder getMessageBuilder() {
          bitField0_ |= 0x00000020;
          onChanged();
          return getMessageFieldBuilder().getBuilder();
        }
        /**
         * <code>required .Payload message = 6;</code>
         */
        public akka.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder() {
          if (messageBuilder_ != null) {
            return messageBuilder_.getMessageOrBuilder();
          } else {
            return message_ == null ?
                akka.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
          }
        }
        /**
         * <code>required .Payload message = 6;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> 
            getMessageFieldBuilder() {
          if (messageBuilder_ == null) {
            messageBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder>(
                    getMessage(),
                    getParentForChildren(),
                    isClean());
            message_ = null;
          }
          return messageBuilder_;
        }
  
        private boolean firstChunk_ ;
        /**
         * <code>optional bool firstChunk = 7;</code>
         * @return Whether the firstChunk field is set.
         */
        @java.lang.Override
        public boolean hasFirstChunk() {
          return ((bitField0_ & 0x00000040) != 0);
        }
        /**
         * <code>optional bool firstChunk = 7;</code>
         * @return The firstChunk.
         */
        @java.lang.Override
        public boolean getFirstChunk() {
          return firstChunk_;
        }
        /**
         * <code>optional bool firstChunk = 7;</code>
         * @param value The firstChunk to set.
         * @return This builder for chaining.
         */
        public Builder setFirstChunk(boolean value) {
  
          firstChunk_ = value;
          bitField0_ |= 0x00000040;
          onChanged();
          return this;
        }
        /**
         * <code>optional bool firstChunk = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearFirstChunk() {
          bitField0_ = (bitField0_ & ~0x00000040);
          firstChunk_ = false;
          onChanged();
          return this;
        }
  
        private boolean lastChunk_ ;
        /**
         * <code>optional bool lastChunk = 8;</code>
         * @return Whether the lastChunk field is set.
         */
        @java.lang.Override
        public boolean hasLastChunk() {
          return ((bitField0_ & 0x00000080) != 0);
        }
        /**
         * <code>optional bool lastChunk = 8;</code>
         * @return The lastChunk.
         */
        @java.lang.Override
        public boolean getLastChunk() {
          return lastChunk_;
        }
        /**
         * <code>optional bool lastChunk = 8;</code>
         * @param value The lastChunk to set.
         * @return This builder for chaining.
         */
        public Builder setLastChunk(boolean value) {
  
          lastChunk_ = value;
          bitField0_ |= 0x00000080;
          onChanged();
          return this;
        }
        /**
         * <code>optional bool lastChunk = 8;</code>
         * @return This builder for chaining.
         */
        public Builder clearLastChunk() {
          bitField0_ = (bitField0_ & ~0x00000080);
          lastChunk_ = 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.cluster.typed.delivery.SequencedMessage)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.typed.delivery.SequencedMessage)
      private static final akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage();
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<SequencedMessage>
          PARSER = new akka.protobufv3.internal.AbstractParser<SequencedMessage>() {
        @java.lang.Override
        public SequencedMessage parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<SequencedMessage> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<SequencedMessage> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.SequencedMessage getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface RegisterConsumerOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.typed.delivery.RegisterConsumer)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @return Whether the consumerControllerRef field is set.
       */
      boolean hasConsumerControllerRef();
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @return The consumerControllerRef.
       */
      java.lang.String getConsumerControllerRef();
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @return The bytes for consumerControllerRef.
       */
      akka.protobufv3.internal.ByteString
          getConsumerControllerRefBytes();
    }
    /**
     * <pre>
     * ProducerController
     * </pre>
     *
     * Protobuf type {@code akka.cluster.typed.delivery.RegisterConsumer}
     */
    public static final class RegisterConsumer extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.typed.delivery.RegisterConsumer)
        RegisterConsumerOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use RegisterConsumer.newBuilder() to construct.
      private RegisterConsumer(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private RegisterConsumer() {
        consumerControllerRef_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new RegisterConsumer();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_RegisterConsumer_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_RegisterConsumer_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.Builder.class);
      }
  
      private int bitField0_;
      public static final int CONSUMERCONTROLLERREF_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object consumerControllerRef_ = "";
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @return Whether the consumerControllerRef field is set.
       */
      @java.lang.Override
      public boolean hasConsumerControllerRef() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @return The consumerControllerRef.
       */
      @java.lang.Override
      public java.lang.String getConsumerControllerRef() {
        java.lang.Object ref = consumerControllerRef_;
        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()) {
            consumerControllerRef_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string consumerControllerRef = 1;</code>
       * @return The bytes for consumerControllerRef.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getConsumerControllerRefBytes() {
        java.lang.Object ref = consumerControllerRef_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          consumerControllerRef_ = 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 (!hasConsumerControllerRef()) {
          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, consumerControllerRef_);
        }
        getUnknownFields().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, consumerControllerRef_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer)) {
          return super.equals(obj);
        }
        akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer other = (akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer) obj;
  
        if (hasConsumerControllerRef() != other.hasConsumerControllerRef()) return false;
        if (hasConsumerControllerRef()) {
          if (!getConsumerControllerRef()
              .equals(other.getConsumerControllerRef())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasConsumerControllerRef()) {
          hash = (37 * hash) + CONSUMERCONTROLLERREF_FIELD_NUMBER;
          hash = (53 * hash) + getConsumerControllerRef().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer 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.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer 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.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer 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.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer 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;
      }
      /**
       * <pre>
       * ProducerController
       * </pre>
       *
       * Protobuf type {@code akka.cluster.typed.delivery.RegisterConsumer}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.typed.delivery.RegisterConsumer)
          akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumerOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_RegisterConsumer_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_RegisterConsumer_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.Builder.class);
        }
  
        // Construct using akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          consumerControllerRef_ = "";
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_RegisterConsumer_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer getDefaultInstanceForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer build() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer buildPartial() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer result = new akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.consumerControllerRef_ = consumerControllerRef_;
            to_bitField0_ |= 0x00000001;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer) {
            return mergeFrom((akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer other) {
          if (other == akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer.getDefaultInstance()) return this;
          if (other.hasConsumerControllerRef()) {
            consumerControllerRef_ = other.consumerControllerRef_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasConsumerControllerRef()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  consumerControllerRef_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object consumerControllerRef_ = "";
        /**
         * <code>required string consumerControllerRef = 1;</code>
         * @return Whether the consumerControllerRef field is set.
         */
        public boolean hasConsumerControllerRef() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string consumerControllerRef = 1;</code>
         * @return The consumerControllerRef.
         */
        public java.lang.String getConsumerControllerRef() {
          java.lang.Object ref = consumerControllerRef_;
          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()) {
              consumerControllerRef_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string consumerControllerRef = 1;</code>
         * @return The bytes for consumerControllerRef.
         */
        public akka.protobufv3.internal.ByteString
            getConsumerControllerRefBytes() {
          java.lang.Object ref = consumerControllerRef_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            consumerControllerRef_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string consumerControllerRef = 1;</code>
         * @param value The consumerControllerRef to set.
         * @return This builder for chaining.
         */
        public Builder setConsumerControllerRef(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          consumerControllerRef_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required string consumerControllerRef = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearConsumerControllerRef() {
          consumerControllerRef_ = getDefaultInstance().getConsumerControllerRef();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>required string consumerControllerRef = 1;</code>
         * @param value The bytes for consumerControllerRef to set.
         * @return This builder for chaining.
         */
        public Builder setConsumerControllerRefBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          consumerControllerRef_ = value;
          bitField0_ |= 0x00000001;
          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.cluster.typed.delivery.RegisterConsumer)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.typed.delivery.RegisterConsumer)
      private static final akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer();
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<RegisterConsumer>
          PARSER = new akka.protobufv3.internal.AbstractParser<RegisterConsumer>() {
        @java.lang.Override
        public RegisterConsumer parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<RegisterConsumer> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<RegisterConsumer> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.RegisterConsumer getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.typed.delivery.Request)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return Whether the confirmedSeqNr field is set.
       */
      boolean hasConfirmedSeqNr();
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return The confirmedSeqNr.
       */
      long getConfirmedSeqNr();
  
      /**
       * <code>required int64 requestUpToSeqNr = 2;</code>
       * @return Whether the requestUpToSeqNr field is set.
       */
      boolean hasRequestUpToSeqNr();
      /**
       * <code>required int64 requestUpToSeqNr = 2;</code>
       * @return The requestUpToSeqNr.
       */
      long getRequestUpToSeqNr();
  
      /**
       * <code>required bool supportResend = 3;</code>
       * @return Whether the supportResend field is set.
       */
      boolean hasSupportResend();
      /**
       * <code>required bool supportResend = 3;</code>
       * @return The supportResend.
       */
      boolean getSupportResend();
  
      /**
       * <code>required bool viaTimeout = 4;</code>
       * @return Whether the viaTimeout field is set.
       */
      boolean hasViaTimeout();
      /**
       * <code>required bool viaTimeout = 4;</code>
       * @return The viaTimeout.
       */
      boolean getViaTimeout();
    }
    /**
     * <pre>
     * ProducerController
     * </pre>
     *
     * Protobuf type {@code akka.cluster.typed.delivery.Request}
     */
    public static final class Request extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.typed.delivery.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Request();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Request_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.typed.internal.protobuf.ReliableDelivery.Request.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.Request.Builder.class);
      }
  
      private int bitField0_;
      public static final int CONFIRMEDSEQNR_FIELD_NUMBER = 1;
      private long confirmedSeqNr_ = 0L;
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return Whether the confirmedSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasConfirmedSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return The confirmedSeqNr.
       */
      @java.lang.Override
      public long getConfirmedSeqNr() {
        return confirmedSeqNr_;
      }
  
      public static final int REQUESTUPTOSEQNR_FIELD_NUMBER = 2;
      private long requestUpToSeqNr_ = 0L;
      /**
       * <code>required int64 requestUpToSeqNr = 2;</code>
       * @return Whether the requestUpToSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasRequestUpToSeqNr() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 requestUpToSeqNr = 2;</code>
       * @return The requestUpToSeqNr.
       */
      @java.lang.Override
      public long getRequestUpToSeqNr() {
        return requestUpToSeqNr_;
      }
  
      public static final int SUPPORTRESEND_FIELD_NUMBER = 3;
      private boolean supportResend_ = false;
      /**
       * <code>required bool supportResend = 3;</code>
       * @return Whether the supportResend field is set.
       */
      @java.lang.Override
      public boolean hasSupportResend() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required bool supportResend = 3;</code>
       * @return The supportResend.
       */
      @java.lang.Override
      public boolean getSupportResend() {
        return supportResend_;
      }
  
      public static final int VIATIMEOUT_FIELD_NUMBER = 4;
      private boolean viaTimeout_ = false;
      /**
       * <code>required bool viaTimeout = 4;</code>
       * @return Whether the viaTimeout field is set.
       */
      @java.lang.Override
      public boolean hasViaTimeout() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required bool viaTimeout = 4;</code>
       * @return The viaTimeout.
       */
      @java.lang.Override
      public boolean getViaTimeout() {
        return viaTimeout_;
      }
  
      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 (!hasConfirmedSeqNr()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasRequestUpToSeqNr()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasSupportResend()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasViaTimeout()) {
          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.writeInt64(1, confirmedSeqNr_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeInt64(2, requestUpToSeqNr_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeBool(3, supportResend_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeBool(4, viaTimeout_);
        }
        getUnknownFields().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
            .computeInt64Size(1, confirmedSeqNr_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt64Size(2, requestUpToSeqNr_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(3, supportResend_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(4, viaTimeout_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.typed.internal.protobuf.ReliableDelivery.Request)) {
          return super.equals(obj);
        }
        akka.cluster.typed.internal.protobuf.ReliableDelivery.Request other = (akka.cluster.typed.internal.protobuf.ReliableDelivery.Request) obj;
  
        if (hasConfirmedSeqNr() != other.hasConfirmedSeqNr()) return false;
        if (hasConfirmedSeqNr()) {
          if (getConfirmedSeqNr()
              != other.getConfirmedSeqNr()) return false;
        }
        if (hasRequestUpToSeqNr() != other.hasRequestUpToSeqNr()) return false;
        if (hasRequestUpToSeqNr()) {
          if (getRequestUpToSeqNr()
              != other.getRequestUpToSeqNr()) return false;
        }
        if (hasSupportResend() != other.hasSupportResend()) return false;
        if (hasSupportResend()) {
          if (getSupportResend()
              != other.getSupportResend()) return false;
        }
        if (hasViaTimeout() != other.hasViaTimeout()) return false;
        if (hasViaTimeout()) {
          if (getViaTimeout()
              != other.getViaTimeout()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasConfirmedSeqNr()) {
          hash = (37 * hash) + CONFIRMEDSEQNR_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getConfirmedSeqNr());
        }
        if (hasRequestUpToSeqNr()) {
          hash = (37 * hash) + REQUESTUPTOSEQNR_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getRequestUpToSeqNr());
        }
        if (hasSupportResend()) {
          hash = (37 * hash) + SUPPORTRESEND_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getSupportResend());
        }
        if (hasViaTimeout()) {
          hash = (37 * hash) + VIATIMEOUT_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getViaTimeout());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request 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.cluster.typed.internal.protobuf.ReliableDelivery.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request 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.cluster.typed.internal.protobuf.ReliableDelivery.Request parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request 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.cluster.typed.internal.protobuf.ReliableDelivery.Request 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;
      }
      /**
       * <pre>
       * ProducerController
       * </pre>
       *
       * Protobuf type {@code akka.cluster.typed.delivery.Request}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.typed.delivery.Request)
          akka.cluster.typed.internal.protobuf.ReliableDelivery.RequestOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Request_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.Request.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.Request.Builder.class);
        }
  
        // Construct using akka.cluster.typed.internal.protobuf.ReliableDelivery.Request.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          confirmedSeqNr_ = 0L;
          requestUpToSeqNr_ = 0L;
          supportResend_ = false;
          viaTimeout_ = false;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Request_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Request getDefaultInstanceForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.Request.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Request build() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Request buildPartial() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.Request result = new akka.cluster.typed.internal.protobuf.ReliableDelivery.Request(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.typed.internal.protobuf.ReliableDelivery.Request result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.confirmedSeqNr_ = confirmedSeqNr_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.requestUpToSeqNr_ = requestUpToSeqNr_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.supportResend_ = supportResend_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.viaTimeout_ = viaTimeout_;
            to_bitField0_ |= 0x00000008;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.cluster.typed.internal.protobuf.ReliableDelivery.Request) {
            return mergeFrom((akka.cluster.typed.internal.protobuf.ReliableDelivery.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.typed.internal.protobuf.ReliableDelivery.Request other) {
          if (other == akka.cluster.typed.internal.protobuf.ReliableDelivery.Request.getDefaultInstance()) return this;
          if (other.hasConfirmedSeqNr()) {
            setConfirmedSeqNr(other.getConfirmedSeqNr());
          }
          if (other.hasRequestUpToSeqNr()) {
            setRequestUpToSeqNr(other.getRequestUpToSeqNr());
          }
          if (other.hasSupportResend()) {
            setSupportResend(other.getSupportResend());
          }
          if (other.hasViaTimeout()) {
            setViaTimeout(other.getViaTimeout());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasConfirmedSeqNr()) {
            return false;
          }
          if (!hasRequestUpToSeqNr()) {
            return false;
          }
          if (!hasSupportResend()) {
            return false;
          }
          if (!hasViaTimeout()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  confirmedSeqNr_ = input.readInt64();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 16: {
                  requestUpToSeqNr_ = input.readInt64();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 24: {
                  supportResend_ = input.readBool();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  viaTimeout_ = input.readBool();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private long confirmedSeqNr_ ;
        /**
         * <code>required int64 confirmedSeqNr = 1;</code>
         * @return Whether the confirmedSeqNr field is set.
         */
        @java.lang.Override
        public boolean hasConfirmedSeqNr() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required int64 confirmedSeqNr = 1;</code>
         * @return The confirmedSeqNr.
         */
        @java.lang.Override
        public long getConfirmedSeqNr() {
          return confirmedSeqNr_;
        }
        /**
         * <code>required int64 confirmedSeqNr = 1;</code>
         * @param value The confirmedSeqNr to set.
         * @return This builder for chaining.
         */
        public Builder setConfirmedSeqNr(long value) {
  
          confirmedSeqNr_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 confirmedSeqNr = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearConfirmedSeqNr() {
          bitField0_ = (bitField0_ & ~0x00000001);
          confirmedSeqNr_ = 0L;
          onChanged();
          return this;
        }
  
        private long requestUpToSeqNr_ ;
        /**
         * <code>required int64 requestUpToSeqNr = 2;</code>
         * @return Whether the requestUpToSeqNr field is set.
         */
        @java.lang.Override
        public boolean hasRequestUpToSeqNr() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required int64 requestUpToSeqNr = 2;</code>
         * @return The requestUpToSeqNr.
         */
        @java.lang.Override
        public long getRequestUpToSeqNr() {
          return requestUpToSeqNr_;
        }
        /**
         * <code>required int64 requestUpToSeqNr = 2;</code>
         * @param value The requestUpToSeqNr to set.
         * @return This builder for chaining.
         */
        public Builder setRequestUpToSeqNr(long value) {
  
          requestUpToSeqNr_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 requestUpToSeqNr = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearRequestUpToSeqNr() {
          bitField0_ = (bitField0_ & ~0x00000002);
          requestUpToSeqNr_ = 0L;
          onChanged();
          return this;
        }
  
        private boolean supportResend_ ;
        /**
         * <code>required bool supportResend = 3;</code>
         * @return Whether the supportResend field is set.
         */
        @java.lang.Override
        public boolean hasSupportResend() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>required bool supportResend = 3;</code>
         * @return The supportResend.
         */
        @java.lang.Override
        public boolean getSupportResend() {
          return supportResend_;
        }
        /**
         * <code>required bool supportResend = 3;</code>
         * @param value The supportResend to set.
         * @return This builder for chaining.
         */
        public Builder setSupportResend(boolean value) {
  
          supportResend_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>required bool supportResend = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearSupportResend() {
          bitField0_ = (bitField0_ & ~0x00000004);
          supportResend_ = false;
          onChanged();
          return this;
        }
  
        private boolean viaTimeout_ ;
        /**
         * <code>required bool viaTimeout = 4;</code>
         * @return Whether the viaTimeout field is set.
         */
        @java.lang.Override
        public boolean hasViaTimeout() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>required bool viaTimeout = 4;</code>
         * @return The viaTimeout.
         */
        @java.lang.Override
        public boolean getViaTimeout() {
          return viaTimeout_;
        }
        /**
         * <code>required bool viaTimeout = 4;</code>
         * @param value The viaTimeout to set.
         * @return This builder for chaining.
         */
        public Builder setViaTimeout(boolean value) {
  
          viaTimeout_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>required bool viaTimeout = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearViaTimeout() {
          bitField0_ = (bitField0_ & ~0x00000008);
          viaTimeout_ = 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.cluster.typed.delivery.Request)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.typed.delivery.Request)
      private static final akka.cluster.typed.internal.protobuf.ReliableDelivery.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.typed.internal.protobuf.ReliableDelivery.Request();
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Request>
          PARSER = new akka.protobufv3.internal.AbstractParser<Request>() {
        @java.lang.Override
        public Request parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Request> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Request> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface ResendOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.typed.delivery.Resend)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required int64 fromSeqNr = 1;</code>
       * @return Whether the fromSeqNr field is set.
       */
      boolean hasFromSeqNr();
      /**
       * <code>required int64 fromSeqNr = 1;</code>
       * @return The fromSeqNr.
       */
      long getFromSeqNr();
    }
    /**
     * <pre>
     * ProducerController
     * </pre>
     *
     * Protobuf type {@code akka.cluster.typed.delivery.Resend}
     */
    public static final class Resend extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.typed.delivery.Resend)
        ResendOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Resend.newBuilder() to construct.
      private Resend(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Resend() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Resend();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Resend_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Resend_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend.Builder.class);
      }
  
      private int bitField0_;
      public static final int FROMSEQNR_FIELD_NUMBER = 1;
      private long fromSeqNr_ = 0L;
      /**
       * <code>required int64 fromSeqNr = 1;</code>
       * @return Whether the fromSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasFromSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 fromSeqNr = 1;</code>
       * @return The fromSeqNr.
       */
      @java.lang.Override
      public long getFromSeqNr() {
        return fromSeqNr_;
      }
  
      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 (!hasFromSeqNr()) {
          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.writeInt64(1, fromSeqNr_);
        }
        getUnknownFields().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
            .computeInt64Size(1, fromSeqNr_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend)) {
          return super.equals(obj);
        }
        akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend other = (akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend) obj;
  
        if (hasFromSeqNr() != other.hasFromSeqNr()) return false;
        if (hasFromSeqNr()) {
          if (getFromSeqNr()
              != other.getFromSeqNr()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasFromSeqNr()) {
          hash = (37 * hash) + FROMSEQNR_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getFromSeqNr());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend 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.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend 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.cluster.typed.internal.protobuf.ReliableDelivery.Resend parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend 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.cluster.typed.internal.protobuf.ReliableDelivery.Resend 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;
      }
      /**
       * <pre>
       * ProducerController
       * </pre>
       *
       * Protobuf type {@code akka.cluster.typed.delivery.Resend}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.typed.delivery.Resend)
          akka.cluster.typed.internal.protobuf.ReliableDelivery.ResendOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Resend_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Resend_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend.Builder.class);
        }
  
        // Construct using akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          fromSeqNr_ = 0L;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Resend_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend getDefaultInstanceForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend build() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend buildPartial() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend result = new akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.fromSeqNr_ = fromSeqNr_;
            to_bitField0_ |= 0x00000001;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.cluster.typed.internal.protobuf.ReliableDelivery.Resend) {
            return mergeFrom((akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend other) {
          if (other == akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend.getDefaultInstance()) return this;
          if (other.hasFromSeqNr()) {
            setFromSeqNr(other.getFromSeqNr());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasFromSeqNr()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  fromSeqNr_ = input.readInt64();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private long fromSeqNr_ ;
        /**
         * <code>required int64 fromSeqNr = 1;</code>
         * @return Whether the fromSeqNr field is set.
         */
        @java.lang.Override
        public boolean hasFromSeqNr() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required int64 fromSeqNr = 1;</code>
         * @return The fromSeqNr.
         */
        @java.lang.Override
        public long getFromSeqNr() {
          return fromSeqNr_;
        }
        /**
         * <code>required int64 fromSeqNr = 1;</code>
         * @param value The fromSeqNr to set.
         * @return This builder for chaining.
         */
        public Builder setFromSeqNr(long value) {
  
          fromSeqNr_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 fromSeqNr = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearFromSeqNr() {
          bitField0_ = (bitField0_ & ~0x00000001);
          fromSeqNr_ = 0L;
          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.cluster.typed.delivery.Resend)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.typed.delivery.Resend)
      private static final akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend();
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Resend>
          PARSER = new akka.protobufv3.internal.AbstractParser<Resend>() {
        @java.lang.Override
        public Resend parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Resend> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Resend> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.Resend getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface AckOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.typed.delivery.Ack)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return Whether the confirmedSeqNr field is set.
       */
      boolean hasConfirmedSeqNr();
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return The confirmedSeqNr.
       */
      long getConfirmedSeqNr();
    }
    /**
     * <pre>
     * ProducerController
     * </pre>
     *
     * Protobuf type {@code akka.cluster.typed.delivery.Ack}
     */
    public static final class Ack extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.typed.delivery.Ack)
        AckOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Ack.newBuilder() to construct.
      private Ack(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Ack() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Ack();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Ack_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Ack_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack.Builder.class);
      }
  
      private int bitField0_;
      public static final int CONFIRMEDSEQNR_FIELD_NUMBER = 1;
      private long confirmedSeqNr_ = 0L;
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return Whether the confirmedSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasConfirmedSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 confirmedSeqNr = 1;</code>
       * @return The confirmedSeqNr.
       */
      @java.lang.Override
      public long getConfirmedSeqNr() {
        return confirmedSeqNr_;
      }
  
      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 (!hasConfirmedSeqNr()) {
          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.writeInt64(1, confirmedSeqNr_);
        }
        getUnknownFields().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
            .computeInt64Size(1, confirmedSeqNr_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack)) {
          return super.equals(obj);
        }
        akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack other = (akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack) obj;
  
        if (hasConfirmedSeqNr() != other.hasConfirmedSeqNr()) return false;
        if (hasConfirmedSeqNr()) {
          if (getConfirmedSeqNr()
              != other.getConfirmedSeqNr()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasConfirmedSeqNr()) {
          hash = (37 * hash) + CONFIRMEDSEQNR_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getConfirmedSeqNr());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack 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.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack 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.cluster.typed.internal.protobuf.ReliableDelivery.Ack parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack 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.cluster.typed.internal.protobuf.ReliableDelivery.Ack 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;
      }
      /**
       * <pre>
       * ProducerController
       * </pre>
       *
       * Protobuf type {@code akka.cluster.typed.delivery.Ack}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.typed.delivery.Ack)
          akka.cluster.typed.internal.protobuf.ReliableDelivery.AckOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Ack_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Ack_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack.Builder.class);
        }
  
        // Construct using akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          confirmedSeqNr_ = 0L;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Ack_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack getDefaultInstanceForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack build() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack buildPartial() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack result = new akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.confirmedSeqNr_ = confirmedSeqNr_;
            to_bitField0_ |= 0x00000001;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.cluster.typed.internal.protobuf.ReliableDelivery.Ack) {
            return mergeFrom((akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack other) {
          if (other == akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack.getDefaultInstance()) return this;
          if (other.hasConfirmedSeqNr()) {
            setConfirmedSeqNr(other.getConfirmedSeqNr());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasConfirmedSeqNr()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  confirmedSeqNr_ = input.readInt64();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private long confirmedSeqNr_ ;
        /**
         * <code>required int64 confirmedSeqNr = 1;</code>
         * @return Whether the confirmedSeqNr field is set.
         */
        @java.lang.Override
        public boolean hasConfirmedSeqNr() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required int64 confirmedSeqNr = 1;</code>
         * @return The confirmedSeqNr.
         */
        @java.lang.Override
        public long getConfirmedSeqNr() {
          return confirmedSeqNr_;
        }
        /**
         * <code>required int64 confirmedSeqNr = 1;</code>
         * @param value The confirmedSeqNr to set.
         * @return This builder for chaining.
         */
        public Builder setConfirmedSeqNr(long value) {
  
          confirmedSeqNr_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 confirmedSeqNr = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearConfirmedSeqNr() {
          bitField0_ = (bitField0_ & ~0x00000001);
          confirmedSeqNr_ = 0L;
          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.cluster.typed.delivery.Ack)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.typed.delivery.Ack)
      private static final akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack();
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Ack>
          PARSER = new akka.protobufv3.internal.AbstractParser<Ack>() {
        @java.lang.Override
        public Ack parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Ack> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Ack> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.Ack getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface StateOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.typed.delivery.State)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required int64 currentSeqNr = 1;</code>
       * @return Whether the currentSeqNr field is set.
       */
      boolean hasCurrentSeqNr();
      /**
       * <code>required int64 currentSeqNr = 1;</code>
       * @return The currentSeqNr.
       */
      long getCurrentSeqNr();
  
      /**
       * <code>required int64 highestConfirmedSeqNr = 2;</code>
       * @return Whether the highestConfirmedSeqNr field is set.
       */
      boolean hasHighestConfirmedSeqNr();
      /**
       * <code>required int64 highestConfirmedSeqNr = 2;</code>
       * @return The highestConfirmedSeqNr.
       */
      long getHighestConfirmedSeqNr();
  
      /**
       * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> 
          getConfirmedList();
      /**
       * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getConfirmed(int index);
      /**
       * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      int getConfirmedCount();
      /**
       * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      java.util.List<? extends akka.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder> 
          getConfirmedOrBuilderList();
      /**
       * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      akka.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder getConfirmedOrBuilder(
          int index);
  
      /**
       * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> 
          getUnconfirmedList();
      /**
       * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getUnconfirmed(int index);
      /**
       * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      int getUnconfirmedCount();
      /**
       * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      java.util.List<? extends akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder> 
          getUnconfirmedOrBuilderList();
      /**
       * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder getUnconfirmedOrBuilder(
          int index);
    }
    /**
     * <pre>
     * DurableProducerQueue
     * </pre>
     *
     * Protobuf type {@code akka.cluster.typed.delivery.State}
     */
    public static final class State extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.typed.delivery.State)
        StateOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use State.newBuilder() to construct.
      private State(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private State() {
        confirmed_ = java.util.Collections.emptyList();
        unconfirmed_ = java.util.Collections.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new State();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_State_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_State_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.typed.internal.protobuf.ReliableDelivery.State.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.State.Builder.class);
      }
  
      private int bitField0_;
      public static final int CURRENTSEQNR_FIELD_NUMBER = 1;
      private long currentSeqNr_ = 0L;
      /**
       * <code>required int64 currentSeqNr = 1;</code>
       * @return Whether the currentSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasCurrentSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 currentSeqNr = 1;</code>
       * @return The currentSeqNr.
       */
      @java.lang.Override
      public long getCurrentSeqNr() {
        return currentSeqNr_;
      }
  
      public static final int HIGHESTCONFIRMEDSEQNR_FIELD_NUMBER = 2;
      private long highestConfirmedSeqNr_ = 0L;
      /**
       * <code>required int64 highestConfirmedSeqNr = 2;</code>
       * @return Whether the highestConfirmedSeqNr field is set.
       */
      @java.lang.Override
      public boolean hasHighestConfirmedSeqNr() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 highestConfirmedSeqNr = 2;</code>
       * @return The highestConfirmedSeqNr.
       */
      @java.lang.Override
      public long getHighestConfirmedSeqNr() {
        return highestConfirmedSeqNr_;
      }
  
      public static final int CONFIRMED_FIELD_NUMBER = 3;
      @SuppressWarnings("serial")
      private java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> confirmed_;
      /**
       * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      @java.lang.Override
      public java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> getConfirmedList() {
        return confirmed_;
      }
      /**
       * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      @java.lang.Override
      public java.util.List<? extends akka.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder> 
          getConfirmedOrBuilderList() {
        return confirmed_;
      }
      /**
       * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      @java.lang.Override
      public int getConfirmedCount() {
        return confirmed_.size();
      }
      /**
       * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getConfirmed(int index) {
        return confirmed_.get(index);
      }
      /**
       * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
       */
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder getConfirmedOrBuilder(
          int index) {
        return confirmed_.get(index);
      }
  
      public static final int UNCONFIRMED_FIELD_NUMBER = 4;
      @SuppressWarnings("serial")
      private java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> unconfirmed_;
      /**
       * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      @java.lang.Override
      public java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> getUnconfirmedList() {
        return unconfirmed_;
      }
      /**
       * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      @java.lang.Override
      public java.util.List<? extends akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder> 
          getUnconfirmedOrBuilderList() {
        return unconfirmed_;
      }
      /**
       * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      @java.lang.Override
      public int getUnconfirmedCount() {
        return unconfirmed_.size();
      }
      /**
       * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getUnconfirmed(int index) {
        return unconfirmed_.get(index);
      }
      /**
       * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
       */
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder getUnconfirmedOrBuilder(
          int index) {
        return unconfirmed_.get(index);
      }
  
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        if (!hasCurrentSeqNr()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasHighestConfirmedSeqNr()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getConfirmedCount(); i++) {
          if (!getConfirmed(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        for (int i = 0; i < getUnconfirmedCount(); i++) {
          if (!getUnconfirmed(i).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.writeInt64(1, currentSeqNr_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeInt64(2, highestConfirmedSeqNr_);
        }
        for (int i = 0; i < confirmed_.size(); i++) {
          output.writeMessage(3, confirmed_.get(i));
        }
        for (int i = 0; i < unconfirmed_.size(); i++) {
          output.writeMessage(4, unconfirmed_.get(i));
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt64Size(1, currentSeqNr_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt64Size(2, highestConfirmedSeqNr_);
        }
        for (int i = 0; i < confirmed_.size(); i++) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(3, confirmed_.get(i));
        }
        for (int i = 0; i < unconfirmed_.size(); i++) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(4, unconfirmed_.get(i));
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.typed.internal.protobuf.ReliableDelivery.State)) {
          return super.equals(obj);
        }
        akka.cluster.typed.internal.protobuf.ReliableDelivery.State other = (akka.cluster.typed.internal.protobuf.ReliableDelivery.State) obj;
  
        if (hasCurrentSeqNr() != other.hasCurrentSeqNr()) return false;
        if (hasCurrentSeqNr()) {
          if (getCurrentSeqNr()
              != other.getCurrentSeqNr()) return false;
        }
        if (hasHighestConfirmedSeqNr() != other.hasHighestConfirmedSeqNr()) return false;
        if (hasHighestConfirmedSeqNr()) {
          if (getHighestConfirmedSeqNr()
              != other.getHighestConfirmedSeqNr()) return false;
        }
        if (!getConfirmedList()
            .equals(other.getConfirmedList())) return false;
        if (!getUnconfirmedList()
            .equals(other.getUnconfirmedList())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasCurrentSeqNr()) {
          hash = (37 * hash) + CURRENTSEQNR_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getCurrentSeqNr());
        }
        if (hasHighestConfirmedSeqNr()) {
          hash = (37 * hash) + HIGHESTCONFIRMEDSEQNR_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getHighestConfirmedSeqNr());
        }
        if (getConfirmedCount() > 0) {
          hash = (37 * hash) + CONFIRMED_FIELD_NUMBER;
          hash = (53 * hash) + getConfirmedList().hashCode();
        }
        if (getUnconfirmedCount() > 0) {
          hash = (37 * hash) + UNCONFIRMED_FIELD_NUMBER;
          hash = (53 * hash) + getUnconfirmedList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State 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.cluster.typed.internal.protobuf.ReliableDelivery.State parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State 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.cluster.typed.internal.protobuf.ReliableDelivery.State parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State 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.cluster.typed.internal.protobuf.ReliableDelivery.State 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;
      }
      /**
       * <pre>
       * DurableProducerQueue
       * </pre>
       *
       * Protobuf type {@code akka.cluster.typed.delivery.State}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.typed.delivery.State)
          akka.cluster.typed.internal.protobuf.ReliableDelivery.StateOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_State_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_State_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.State.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.State.Builder.class);
        }
  
        // Construct using akka.cluster.typed.internal.protobuf.ReliableDelivery.State.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          currentSeqNr_ = 0L;
          highestConfirmedSeqNr_ = 0L;
          if (confirmedBuilder_ == null) {
            confirmed_ = java.util.Collections.emptyList();
          } else {
            confirmed_ = null;
            confirmedBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000004);
          if (unconfirmedBuilder_ == null) {
            unconfirmed_ = java.util.Collections.emptyList();
          } else {
            unconfirmed_ = null;
            unconfirmedBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_State_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.State getDefaultInstanceForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.State.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.State build() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.State result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.State buildPartial() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.State result = new akka.cluster.typed.internal.protobuf.ReliableDelivery.State(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartialRepeatedFields(akka.cluster.typed.internal.protobuf.ReliableDelivery.State result) {
          if (confirmedBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0)) {
              confirmed_ = java.util.Collections.unmodifiableList(confirmed_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.confirmed_ = confirmed_;
          } else {
            result.confirmed_ = confirmedBuilder_.build();
          }
          if (unconfirmedBuilder_ == null) {
            if (((bitField0_ & 0x00000008) != 0)) {
              unconfirmed_ = java.util.Collections.unmodifiableList(unconfirmed_);
              bitField0_ = (bitField0_ & ~0x00000008);
            }
            result.unconfirmed_ = unconfirmed_;
          } else {
            result.unconfirmed_ = unconfirmedBuilder_.build();
          }
        }
  
        private void buildPartial0(akka.cluster.typed.internal.protobuf.ReliableDelivery.State result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.currentSeqNr_ = currentSeqNr_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.highestConfirmedSeqNr_ = highestConfirmedSeqNr_;
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.cluster.typed.internal.protobuf.ReliableDelivery.State) {
            return mergeFrom((akka.cluster.typed.internal.protobuf.ReliableDelivery.State)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.typed.internal.protobuf.ReliableDelivery.State other) {
          if (other == akka.cluster.typed.internal.protobuf.ReliableDelivery.State.getDefaultInstance()) return this;
          if (other.hasCurrentSeqNr()) {
            setCurrentSeqNr(other.getCurrentSeqNr());
          }
          if (other.hasHighestConfirmedSeqNr()) {
            setHighestConfirmedSeqNr(other.getHighestConfirmedSeqNr());
          }
          if (confirmedBuilder_ == null) {
            if (!other.confirmed_.isEmpty()) {
              if (confirmed_.isEmpty()) {
                confirmed_ = other.confirmed_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureConfirmedIsMutable();
                confirmed_.addAll(other.confirmed_);
              }
              onChanged();
            }
          } else {
            if (!other.confirmed_.isEmpty()) {
              if (confirmedBuilder_.isEmpty()) {
                confirmedBuilder_.dispose();
                confirmedBuilder_ = null;
                confirmed_ = other.confirmed_;
                bitField0_ = (bitField0_ & ~0x00000004);
                confirmedBuilder_ = 
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getConfirmedFieldBuilder() : null;
              } else {
                confirmedBuilder_.addAllMessages(other.confirmed_);
              }
            }
          }
          if (unconfirmedBuilder_ == null) {
            if (!other.unconfirmed_.isEmpty()) {
              if (unconfirmed_.isEmpty()) {
                unconfirmed_ = other.unconfirmed_;
                bitField0_ = (bitField0_ & ~0x00000008);
              } else {
                ensureUnconfirmedIsMutable();
                unconfirmed_.addAll(other.unconfirmed_);
              }
              onChanged();
            }
          } else {
            if (!other.unconfirmed_.isEmpty()) {
              if (unconfirmedBuilder_.isEmpty()) {
                unconfirmedBuilder_.dispose();
                unconfirmedBuilder_ = null;
                unconfirmed_ = other.unconfirmed_;
                bitField0_ = (bitField0_ & ~0x00000008);
                unconfirmedBuilder_ = 
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getUnconfirmedFieldBuilder() : null;
              } else {
                unconfirmedBuilder_.addAllMessages(other.unconfirmed_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasCurrentSeqNr()) {
            return false;
          }
          if (!hasHighestConfirmedSeqNr()) {
            return false;
          }
          for (int i = 0; i < getConfirmedCount(); i++) {
            if (!getConfirmed(i).isInitialized()) {
              return false;
            }
          }
          for (int i = 0; i < getUnconfirmedCount(); i++) {
            if (!getUnconfirmed(i).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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  currentSeqNr_ = input.readInt64();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 16: {
                  highestConfirmedSeqNr_ = input.readInt64();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 26: {
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed m =
                      input.readMessage(
                          akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.PARSER,
                          extensionRegistry);
                  if (confirmedBuilder_ == null) {
                    ensureConfirmedIsMutable();
                    confirmed_.add(m);
                  } else {
                    confirmedBuilder_.addMessage(m);
                  }
                  break;
                } // case 26
                case 34: {
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent m =
                      input.readMessage(
                          akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.PARSER,
                          extensionRegistry);
                  if (unconfirmedBuilder_ == null) {
                    ensureUnconfirmedIsMutable();
                    unconfirmed_.add(m);
                  } else {
                    unconfirmedBuilder_.addMessage(m);
                  }
                  break;
                } // case 34
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private long currentSeqNr_ ;
        /**
         * <code>required int64 currentSeqNr = 1;</code>
         * @return Whether the currentSeqNr field is set.
         */
        @java.lang.Override
        public boolean hasCurrentSeqNr() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required int64 currentSeqNr = 1;</code>
         * @return The currentSeqNr.
         */
        @java.lang.Override
        public long getCurrentSeqNr() {
          return currentSeqNr_;
        }
        /**
         * <code>required int64 currentSeqNr = 1;</code>
         * @param value The currentSeqNr to set.
         * @return This builder for chaining.
         */
        public Builder setCurrentSeqNr(long value) {
  
          currentSeqNr_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 currentSeqNr = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearCurrentSeqNr() {
          bitField0_ = (bitField0_ & ~0x00000001);
          currentSeqNr_ = 0L;
          onChanged();
          return this;
        }
  
        private long highestConfirmedSeqNr_ ;
        /**
         * <code>required int64 highestConfirmedSeqNr = 2;</code>
         * @return Whether the highestConfirmedSeqNr field is set.
         */
        @java.lang.Override
        public boolean hasHighestConfirmedSeqNr() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required int64 highestConfirmedSeqNr = 2;</code>
         * @return The highestConfirmedSeqNr.
         */
        @java.lang.Override
        public long getHighestConfirmedSeqNr() {
          return highestConfirmedSeqNr_;
        }
        /**
         * <code>required int64 highestConfirmedSeqNr = 2;</code>
         * @param value The highestConfirmedSeqNr to set.
         * @return This builder for chaining.
         */
        public Builder setHighestConfirmedSeqNr(long value) {
  
          highestConfirmedSeqNr_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 highestConfirmedSeqNr = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearHighestConfirmedSeqNr() {
          bitField0_ = (bitField0_ & ~0x00000002);
          highestConfirmedSeqNr_ = 0L;
          onChanged();
          return this;
        }
  
        private java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> confirmed_ =
          java.util.Collections.emptyList();
        private void ensureConfirmedIsMutable() {
          if (!((bitField0_ & 0x00000004) != 0)) {
            confirmed_ = new java.util.ArrayList<akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed>(confirmed_);
            bitField0_ |= 0x00000004;
           }
        }
  
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed, akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder, akka.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder> confirmedBuilder_;
  
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> getConfirmedList() {
          if (confirmedBuilder_ == null) {
            return java.util.Collections.unmodifiableList(confirmed_);
          } else {
            return confirmedBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public int getConfirmedCount() {
          if (confirmedBuilder_ == null) {
            return confirmed_.size();
          } else {
            return confirmedBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getConfirmed(int index) {
          if (confirmedBuilder_ == null) {
            return confirmed_.get(index);
          } else {
            return confirmedBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public Builder setConfirmed(
            int index, akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed value) {
          if (confirmedBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureConfirmedIsMutable();
            confirmed_.set(index, value);
            onChanged();
          } else {
            confirmedBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public Builder setConfirmed(
            int index, akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder builderForValue) {
          if (confirmedBuilder_ == null) {
            ensureConfirmedIsMutable();
            confirmed_.set(index, builderForValue.build());
            onChanged();
          } else {
            confirmedBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public Builder addConfirmed(akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed value) {
          if (confirmedBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureConfirmedIsMutable();
            confirmed_.add(value);
            onChanged();
          } else {
            confirmedBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public Builder addConfirmed(
            int index, akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed value) {
          if (confirmedBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureConfirmedIsMutable();
            confirmed_.add(index, value);
            onChanged();
          } else {
            confirmedBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public Builder addConfirmed(
            akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder builderForValue) {
          if (confirmedBuilder_ == null) {
            ensureConfirmedIsMutable();
            confirmed_.add(builderForValue.build());
            onChanged();
          } else {
            confirmedBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public Builder addConfirmed(
            int index, akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder builderForValue) {
          if (confirmedBuilder_ == null) {
            ensureConfirmedIsMutable();
            confirmed_.add(index, builderForValue.build());
            onChanged();
          } else {
            confirmedBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public Builder addAllConfirmed(
            java.lang.Iterable<? extends akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed> values) {
          if (confirmedBuilder_ == null) {
            ensureConfirmedIsMutable();
            akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                values, confirmed_);
            onChanged();
          } else {
            confirmedBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public Builder clearConfirmed() {
          if (confirmedBuilder_ == null) {
            confirmed_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            confirmedBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public Builder removeConfirmed(int index) {
          if (confirmedBuilder_ == null) {
            ensureConfirmedIsMutable();
            confirmed_.remove(index);
            onChanged();
          } else {
            confirmedBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder getConfirmedBuilder(
            int index) {
          return getConfirmedFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder getConfirmedOrBuilder(
            int index) {
          if (confirmedBuilder_ == null) {
            return confirmed_.get(index);  } else {
            return confirmedBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public java.util.List<? extends akka.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder> 
             getConfirmedOrBuilderList() {
          if (confirmedBuilder_ != null) {
            return confirmedBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(confirmed_);
          }
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder addConfirmedBuilder() {
          return getConfirmedFieldBuilder().addBuilder(
              akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder addConfirmedBuilder(
            int index) {
          return getConfirmedFieldBuilder().addBuilder(
              index, akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.Confirmed confirmed = 3;</code>
         */
        public java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder> 
             getConfirmedBuilderList() {
          return getConfirmedFieldBuilder().getBuilderList();
        }
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed, akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder, akka.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder> 
            getConfirmedFieldBuilder() {
          if (confirmedBuilder_ == null) {
            confirmedBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed, akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder, akka.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder>(
                    confirmed_,
                    ((bitField0_ & 0x00000004) != 0),
                    getParentForChildren(),
                    isClean());
            confirmed_ = null;
          }
          return confirmedBuilder_;
        }
  
        private java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> unconfirmed_ =
          java.util.Collections.emptyList();
        private void ensureUnconfirmedIsMutable() {
          if (!((bitField0_ & 0x00000008) != 0)) {
            unconfirmed_ = new java.util.ArrayList<akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent>(unconfirmed_);
            bitField0_ |= 0x00000008;
           }
        }
  
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder> unconfirmedBuilder_;
  
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> getUnconfirmedList() {
          if (unconfirmedBuilder_ == null) {
            return java.util.Collections.unmodifiableList(unconfirmed_);
          } else {
            return unconfirmedBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public int getUnconfirmedCount() {
          if (unconfirmedBuilder_ == null) {
            return unconfirmed_.size();
          } else {
            return unconfirmedBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getUnconfirmed(int index) {
          if (unconfirmedBuilder_ == null) {
            return unconfirmed_.get(index);
          } else {
            return unconfirmedBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public Builder setUnconfirmed(
            int index, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent value) {
          if (unconfirmedBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureUnconfirmedIsMutable();
            unconfirmed_.set(index, value);
            onChanged();
          } else {
            unconfirmedBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public Builder setUnconfirmed(
            int index, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder builderForValue) {
          if (unconfirmedBuilder_ == null) {
            ensureUnconfirmedIsMutable();
            unconfirmed_.set(index, builderForValue.build());
            onChanged();
          } else {
            unconfirmedBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public Builder addUnconfirmed(akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent value) {
          if (unconfirmedBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureUnconfirmedIsMutable();
            unconfirmed_.add(value);
            onChanged();
          } else {
            unconfirmedBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public Builder addUnconfirmed(
            int index, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent value) {
          if (unconfirmedBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureUnconfirmedIsMutable();
            unconfirmed_.add(index, value);
            onChanged();
          } else {
            unconfirmedBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public Builder addUnconfirmed(
            akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder builderForValue) {
          if (unconfirmedBuilder_ == null) {
            ensureUnconfirmedIsMutable();
            unconfirmed_.add(builderForValue.build());
            onChanged();
          } else {
            unconfirmedBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public Builder addUnconfirmed(
            int index, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder builderForValue) {
          if (unconfirmedBuilder_ == null) {
            ensureUnconfirmedIsMutable();
            unconfirmed_.add(index, builderForValue.build());
            onChanged();
          } else {
            unconfirmedBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public Builder addAllUnconfirmed(
            java.lang.Iterable<? extends akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent> values) {
          if (unconfirmedBuilder_ == null) {
            ensureUnconfirmedIsMutable();
            akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                values, unconfirmed_);
            onChanged();
          } else {
            unconfirmedBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public Builder clearUnconfirmed() {
          if (unconfirmedBuilder_ == null) {
            unconfirmed_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
            onChanged();
          } else {
            unconfirmedBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public Builder removeUnconfirmed(int index) {
          if (unconfirmedBuilder_ == null) {
            ensureUnconfirmedIsMutable();
            unconfirmed_.remove(index);
            onChanged();
          } else {
            unconfirmedBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder getUnconfirmedBuilder(
            int index) {
          return getUnconfirmedFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder getUnconfirmedOrBuilder(
            int index) {
          if (unconfirmedBuilder_ == null) {
            return unconfirmed_.get(index);  } else {
            return unconfirmedBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public java.util.List<? extends akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder> 
             getUnconfirmedOrBuilderList() {
          if (unconfirmedBuilder_ != null) {
            return unconfirmedBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(unconfirmed_);
          }
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder addUnconfirmedBuilder() {
          return getUnconfirmedFieldBuilder().addBuilder(
              akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder addUnconfirmedBuilder(
            int index) {
          return getUnconfirmedFieldBuilder().addBuilder(
              index, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.typed.delivery.MessageSent unconfirmed = 4;</code>
         */
        public java.util.List<akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder> 
             getUnconfirmedBuilderList() {
          return getUnconfirmedFieldBuilder().getBuilderList();
        }
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder> 
            getUnconfirmedFieldBuilder() {
          if (unconfirmedBuilder_ == null) {
            unconfirmedBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder>(
                    unconfirmed_,
                    ((bitField0_ & 0x00000008) != 0),
                    getParentForChildren(),
                    isClean());
            unconfirmed_ = null;
          }
          return unconfirmedBuilder_;
        }
        @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.cluster.typed.delivery.State)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.typed.delivery.State)
      private static final akka.cluster.typed.internal.protobuf.ReliableDelivery.State DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.typed.internal.protobuf.ReliableDelivery.State();
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.State getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<State>
          PARSER = new akka.protobufv3.internal.AbstractParser<State>() {
        @java.lang.Override
        public State parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<State> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<State> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.State getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface ConfirmedOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.typed.delivery.Confirmed)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return Whether the seqNr field is set.
       */
      boolean hasSeqNr();
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return The seqNr.
       */
      long getSeqNr();
  
      /**
       * <code>required string qualifier = 2;</code>
       * @return Whether the qualifier field is set.
       */
      boolean hasQualifier();
      /**
       * <code>required string qualifier = 2;</code>
       * @return The qualifier.
       */
      java.lang.String getQualifier();
      /**
       * <code>required string qualifier = 2;</code>
       * @return The bytes for qualifier.
       */
      akka.protobufv3.internal.ByteString
          getQualifierBytes();
  
      /**
       * <code>required int64 timestamp = 3;</code>
       * @return Whether the timestamp field is set.
       */
      boolean hasTimestamp();
      /**
       * <code>required int64 timestamp = 3;</code>
       * @return The timestamp.
       */
      long getTimestamp();
    }
    /**
     * <pre>
     * DurableProducerQueue
     * </pre>
     *
     * Protobuf type {@code akka.cluster.typed.delivery.Confirmed}
     */
    public static final class Confirmed extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.typed.delivery.Confirmed)
        ConfirmedOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Confirmed.newBuilder() to construct.
      private Confirmed(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Confirmed() {
        qualifier_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Confirmed();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Confirmed_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Confirmed_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder.class);
      }
  
      private int bitField0_;
      public static final int SEQNR_FIELD_NUMBER = 1;
      private long seqNr_ = 0L;
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return Whether the seqNr field is set.
       */
      @java.lang.Override
      public boolean hasSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return The seqNr.
       */
      @java.lang.Override
      public long getSeqNr() {
        return seqNr_;
      }
  
      public static final int QUALIFIER_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object qualifier_ = "";
      /**
       * <code>required string qualifier = 2;</code>
       * @return Whether the qualifier field is set.
       */
      @java.lang.Override
      public boolean hasQualifier() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @return The qualifier.
       */
      @java.lang.Override
      public java.lang.String getQualifier() {
        java.lang.Object ref = qualifier_;
        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()) {
            qualifier_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @return The bytes for qualifier.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getQualifierBytes() {
        java.lang.Object ref = qualifier_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          qualifier_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int TIMESTAMP_FIELD_NUMBER = 3;
      private long timestamp_ = 0L;
      /**
       * <code>required int64 timestamp = 3;</code>
       * @return Whether the timestamp field is set.
       */
      @java.lang.Override
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required int64 timestamp = 3;</code>
       * @return The timestamp.
       */
      @java.lang.Override
      public long getTimestamp() {
        return timestamp_;
      }
  
      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 (!hasSeqNr()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasQualifier()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasTimestamp()) {
          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.writeInt64(1, seqNr_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, qualifier_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeInt64(3, timestamp_);
        }
        getUnknownFields().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
            .computeInt64Size(1, seqNr_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, qualifier_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt64Size(3, timestamp_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed)) {
          return super.equals(obj);
        }
        akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed other = (akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed) obj;
  
        if (hasSeqNr() != other.hasSeqNr()) return false;
        if (hasSeqNr()) {
          if (getSeqNr()
              != other.getSeqNr()) return false;
        }
        if (hasQualifier() != other.hasQualifier()) return false;
        if (hasQualifier()) {
          if (!getQualifier()
              .equals(other.getQualifier())) return false;
        }
        if (hasTimestamp() != other.hasTimestamp()) return false;
        if (hasTimestamp()) {
          if (getTimestamp()
              != other.getTimestamp()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasSeqNr()) {
          hash = (37 * hash) + SEQNR_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getSeqNr());
        }
        if (hasQualifier()) {
          hash = (37 * hash) + QUALIFIER_FIELD_NUMBER;
          hash = (53 * hash) + getQualifier().hashCode();
        }
        if (hasTimestamp()) {
          hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getTimestamp());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed 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.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed 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.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed 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.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed 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;
      }
      /**
       * <pre>
       * DurableProducerQueue
       * </pre>
       *
       * Protobuf type {@code akka.cluster.typed.delivery.Confirmed}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.typed.delivery.Confirmed)
          akka.cluster.typed.internal.protobuf.ReliableDelivery.ConfirmedOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Confirmed_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Confirmed_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.Builder.class);
        }
  
        // Construct using akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          seqNr_ = 0L;
          qualifier_ = "";
          timestamp_ = 0L;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Confirmed_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getDefaultInstanceForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed build() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed buildPartial() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed result = new akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.seqNr_ = seqNr_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.qualifier_ = qualifier_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.timestamp_ = timestamp_;
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed) {
            return mergeFrom((akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed other) {
          if (other == akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed.getDefaultInstance()) return this;
          if (other.hasSeqNr()) {
            setSeqNr(other.getSeqNr());
          }
          if (other.hasQualifier()) {
            qualifier_ = other.qualifier_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.hasTimestamp()) {
            setTimestamp(other.getTimestamp());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasSeqNr()) {
            return false;
          }
          if (!hasQualifier()) {
            return false;
          }
          if (!hasTimestamp()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  seqNr_ = input.readInt64();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 18: {
                  qualifier_ = input.readBytes();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 24: {
                  timestamp_ = input.readInt64();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private long seqNr_ ;
        /**
         * <code>required int64 seqNr = 1;</code>
         * @return Whether the seqNr field is set.
         */
        @java.lang.Override
        public boolean hasSeqNr() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required int64 seqNr = 1;</code>
         * @return The seqNr.
         */
        @java.lang.Override
        public long getSeqNr() {
          return seqNr_;
        }
        /**
         * <code>required int64 seqNr = 1;</code>
         * @param value The seqNr to set.
         * @return This builder for chaining.
         */
        public Builder setSeqNr(long value) {
  
          seqNr_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 seqNr = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearSeqNr() {
          bitField0_ = (bitField0_ & ~0x00000001);
          seqNr_ = 0L;
          onChanged();
          return this;
        }
  
        private java.lang.Object qualifier_ = "";
        /**
         * <code>required string qualifier = 2;</code>
         * @return Whether the qualifier field is set.
         */
        public boolean hasQualifier() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string qualifier = 2;</code>
         * @return The qualifier.
         */
        public java.lang.String getQualifier() {
          java.lang.Object ref = qualifier_;
          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()) {
              qualifier_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string qualifier = 2;</code>
         * @return The bytes for qualifier.
         */
        public akka.protobufv3.internal.ByteString
            getQualifierBytes() {
          java.lang.Object ref = qualifier_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            qualifier_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string qualifier = 2;</code>
         * @param value The qualifier to set.
         * @return This builder for chaining.
         */
        public Builder setQualifier(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          qualifier_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required string qualifier = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearQualifier() {
          qualifier_ = getDefaultInstance().getQualifier();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>required string qualifier = 2;</code>
         * @param value The bytes for qualifier to set.
         * @return This builder for chaining.
         */
        public Builder setQualifierBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          qualifier_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
  
        private long timestamp_ ;
        /**
         * <code>required int64 timestamp = 3;</code>
         * @return Whether the timestamp field is set.
         */
        @java.lang.Override
        public boolean hasTimestamp() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>required int64 timestamp = 3;</code>
         * @return The timestamp.
         */
        @java.lang.Override
        public long getTimestamp() {
          return timestamp_;
        }
        /**
         * <code>required int64 timestamp = 3;</code>
         * @param value The timestamp to set.
         * @return This builder for chaining.
         */
        public Builder setTimestamp(long value) {
  
          timestamp_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 timestamp = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearTimestamp() {
          bitField0_ = (bitField0_ & ~0x00000004);
          timestamp_ = 0L;
          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.cluster.typed.delivery.Confirmed)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.typed.delivery.Confirmed)
      private static final akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed();
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Confirmed>
          PARSER = new akka.protobufv3.internal.AbstractParser<Confirmed>() {
        @java.lang.Override
        public Confirmed parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Confirmed> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Confirmed> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.Confirmed getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface MessageSentOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.typed.delivery.MessageSent)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return Whether the seqNr field is set.
       */
      boolean hasSeqNr();
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return The seqNr.
       */
      long getSeqNr();
  
      /**
       * <code>required string qualifier = 2;</code>
       * @return Whether the qualifier field is set.
       */
      boolean hasQualifier();
      /**
       * <code>required string qualifier = 2;</code>
       * @return The qualifier.
       */
      java.lang.String getQualifier();
      /**
       * <code>required string qualifier = 2;</code>
       * @return The bytes for qualifier.
       */
      akka.protobufv3.internal.ByteString
          getQualifierBytes();
  
      /**
       * <code>required bool ack = 3;</code>
       * @return Whether the ack field is set.
       */
      boolean hasAck();
      /**
       * <code>required bool ack = 3;</code>
       * @return The ack.
       */
      boolean getAck();
  
      /**
       * <code>required int64 timestamp = 4;</code>
       * @return Whether the timestamp field is set.
       */
      boolean hasTimestamp();
      /**
       * <code>required int64 timestamp = 4;</code>
       * @return The timestamp.
       */
      long getTimestamp();
  
      /**
       * <code>required .Payload message = 5;</code>
       * @return Whether the message field is set.
       */
      boolean hasMessage();
      /**
       * <code>required .Payload message = 5;</code>
       * @return The message.
       */
      akka.remote.ContainerFormats.Payload getMessage();
      /**
       * <code>required .Payload message = 5;</code>
       */
      akka.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder();
  
      /**
       * <code>optional bool firstChunk = 6;</code>
       * @return Whether the firstChunk field is set.
       */
      boolean hasFirstChunk();
      /**
       * <code>optional bool firstChunk = 6;</code>
       * @return The firstChunk.
       */
      boolean getFirstChunk();
  
      /**
       * <code>optional bool lastChunk = 7;</code>
       * @return Whether the lastChunk field is set.
       */
      boolean hasLastChunk();
      /**
       * <code>optional bool lastChunk = 7;</code>
       * @return The lastChunk.
       */
      boolean getLastChunk();
    }
    /**
     * <pre>
     * DurableProducerQueue
     * </pre>
     *
     * Protobuf type {@code akka.cluster.typed.delivery.MessageSent}
     */
    public static final class MessageSent extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.typed.delivery.MessageSent)
        MessageSentOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use MessageSent.newBuilder() to construct.
      private MessageSent(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private MessageSent() {
        qualifier_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new MessageSent();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_MessageSent_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_MessageSent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder.class);
      }
  
      private int bitField0_;
      public static final int SEQNR_FIELD_NUMBER = 1;
      private long seqNr_ = 0L;
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return Whether the seqNr field is set.
       */
      @java.lang.Override
      public boolean hasSeqNr() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int64 seqNr = 1;</code>
       * @return The seqNr.
       */
      @java.lang.Override
      public long getSeqNr() {
        return seqNr_;
      }
  
      public static final int QUALIFIER_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object qualifier_ = "";
      /**
       * <code>required string qualifier = 2;</code>
       * @return Whether the qualifier field is set.
       */
      @java.lang.Override
      public boolean hasQualifier() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @return The qualifier.
       */
      @java.lang.Override
      public java.lang.String getQualifier() {
        java.lang.Object ref = qualifier_;
        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()) {
            qualifier_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string qualifier = 2;</code>
       * @return The bytes for qualifier.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getQualifierBytes() {
        java.lang.Object ref = qualifier_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          qualifier_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int ACK_FIELD_NUMBER = 3;
      private boolean ack_ = false;
      /**
       * <code>required bool ack = 3;</code>
       * @return Whether the ack field is set.
       */
      @java.lang.Override
      public boolean hasAck() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required bool ack = 3;</code>
       * @return The ack.
       */
      @java.lang.Override
      public boolean getAck() {
        return ack_;
      }
  
      public static final int TIMESTAMP_FIELD_NUMBER = 4;
      private long timestamp_ = 0L;
      /**
       * <code>required int64 timestamp = 4;</code>
       * @return Whether the timestamp field is set.
       */
      @java.lang.Override
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required int64 timestamp = 4;</code>
       * @return The timestamp.
       */
      @java.lang.Override
      public long getTimestamp() {
        return timestamp_;
      }
  
      public static final int MESSAGE_FIELD_NUMBER = 5;
      private akka.remote.ContainerFormats.Payload message_;
      /**
       * <code>required .Payload message = 5;</code>
       * @return Whether the message field is set.
       */
      @java.lang.Override
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>required .Payload message = 5;</code>
       * @return The message.
       */
      @java.lang.Override
      public akka.remote.ContainerFormats.Payload getMessage() {
        return message_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
      }
      /**
       * <code>required .Payload message = 5;</code>
       */
      @java.lang.Override
      public akka.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder() {
        return message_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
      }
  
      public static final int FIRSTCHUNK_FIELD_NUMBER = 6;
      private boolean firstChunk_ = false;
      /**
       * <code>optional bool firstChunk = 6;</code>
       * @return Whether the firstChunk field is set.
       */
      @java.lang.Override
      public boolean hasFirstChunk() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * <code>optional bool firstChunk = 6;</code>
       * @return The firstChunk.
       */
      @java.lang.Override
      public boolean getFirstChunk() {
        return firstChunk_;
      }
  
      public static final int LASTCHUNK_FIELD_NUMBER = 7;
      private boolean lastChunk_ = false;
      /**
       * <code>optional bool lastChunk = 7;</code>
       * @return Whether the lastChunk field is set.
       */
      @java.lang.Override
      public boolean hasLastChunk() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * <code>optional bool lastChunk = 7;</code>
       * @return The lastChunk.
       */
      @java.lang.Override
      public boolean getLastChunk() {
        return lastChunk_;
      }
  
      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 (!hasSeqNr()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasQualifier()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasAck()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasTimestamp()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasMessage()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getMessage().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.writeInt64(1, seqNr_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, qualifier_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeBool(3, ack_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeInt64(4, timestamp_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          output.writeMessage(5, getMessage());
        }
        if (((bitField0_ & 0x00000020) != 0)) {
          output.writeBool(6, firstChunk_);
        }
        if (((bitField0_ & 0x00000040) != 0)) {
          output.writeBool(7, lastChunk_);
        }
        getUnknownFields().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
            .computeInt64Size(1, seqNr_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, qualifier_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(3, ack_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt64Size(4, timestamp_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(5, getMessage());
        }
        if (((bitField0_ & 0x00000020) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(6, firstChunk_);
        }
        if (((bitField0_ & 0x00000040) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(7, lastChunk_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent)) {
          return super.equals(obj);
        }
        akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent other = (akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent) obj;
  
        if (hasSeqNr() != other.hasSeqNr()) return false;
        if (hasSeqNr()) {
          if (getSeqNr()
              != other.getSeqNr()) return false;
        }
        if (hasQualifier() != other.hasQualifier()) return false;
        if (hasQualifier()) {
          if (!getQualifier()
              .equals(other.getQualifier())) return false;
        }
        if (hasAck() != other.hasAck()) return false;
        if (hasAck()) {
          if (getAck()
              != other.getAck()) return false;
        }
        if (hasTimestamp() != other.hasTimestamp()) return false;
        if (hasTimestamp()) {
          if (getTimestamp()
              != other.getTimestamp()) return false;
        }
        if (hasMessage() != other.hasMessage()) return false;
        if (hasMessage()) {
          if (!getMessage()
              .equals(other.getMessage())) return false;
        }
        if (hasFirstChunk() != other.hasFirstChunk()) return false;
        if (hasFirstChunk()) {
          if (getFirstChunk()
              != other.getFirstChunk()) return false;
        }
        if (hasLastChunk() != other.hasLastChunk()) return false;
        if (hasLastChunk()) {
          if (getLastChunk()
              != other.getLastChunk()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasSeqNr()) {
          hash = (37 * hash) + SEQNR_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getSeqNr());
        }
        if (hasQualifier()) {
          hash = (37 * hash) + QUALIFIER_FIELD_NUMBER;
          hash = (53 * hash) + getQualifier().hashCode();
        }
        if (hasAck()) {
          hash = (37 * hash) + ACK_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getAck());
        }
        if (hasTimestamp()) {
          hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getTimestamp());
        }
        if (hasMessage()) {
          hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
          hash = (53 * hash) + getMessage().hashCode();
        }
        if (hasFirstChunk()) {
          hash = (37 * hash) + FIRSTCHUNK_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getFirstChunk());
        }
        if (hasLastChunk()) {
          hash = (37 * hash) + LASTCHUNK_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getLastChunk());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent 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.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent 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.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent 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.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent 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;
      }
      /**
       * <pre>
       * DurableProducerQueue
       * </pre>
       *
       * Protobuf type {@code akka.cluster.typed.delivery.MessageSent}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.typed.delivery.MessageSent)
          akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSentOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_MessageSent_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_MessageSent_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.Builder.class);
        }
  
        // Construct using akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getMessageFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          seqNr_ = 0L;
          qualifier_ = "";
          ack_ = false;
          timestamp_ = 0L;
          message_ = null;
          if (messageBuilder_ != null) {
            messageBuilder_.dispose();
            messageBuilder_ = null;
          }
          firstChunk_ = false;
          lastChunk_ = false;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_MessageSent_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getDefaultInstanceForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent build() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent buildPartial() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent result = new akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.seqNr_ = seqNr_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.qualifier_ = qualifier_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.ack_ = ack_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.timestamp_ = timestamp_;
            to_bitField0_ |= 0x00000008;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.message_ = messageBuilder_ == null
                ? message_
                : messageBuilder_.build();
            to_bitField0_ |= 0x00000010;
          }
          if (((from_bitField0_ & 0x00000020) != 0)) {
            result.firstChunk_ = firstChunk_;
            to_bitField0_ |= 0x00000020;
          }
          if (((from_bitField0_ & 0x00000040) != 0)) {
            result.lastChunk_ = lastChunk_;
            to_bitField0_ |= 0x00000040;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent) {
            return mergeFrom((akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent other) {
          if (other == akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent.getDefaultInstance()) return this;
          if (other.hasSeqNr()) {
            setSeqNr(other.getSeqNr());
          }
          if (other.hasQualifier()) {
            qualifier_ = other.qualifier_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.hasAck()) {
            setAck(other.getAck());
          }
          if (other.hasTimestamp()) {
            setTimestamp(other.getTimestamp());
          }
          if (other.hasMessage()) {
            mergeMessage(other.getMessage());
          }
          if (other.hasFirstChunk()) {
            setFirstChunk(other.getFirstChunk());
          }
          if (other.hasLastChunk()) {
            setLastChunk(other.getLastChunk());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasSeqNr()) {
            return false;
          }
          if (!hasQualifier()) {
            return false;
          }
          if (!hasAck()) {
            return false;
          }
          if (!hasTimestamp()) {
            return false;
          }
          if (!hasMessage()) {
            return false;
          }
          if (!getMessage().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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  seqNr_ = input.readInt64();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 18: {
                  qualifier_ = input.readBytes();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 24: {
                  ack_ = input.readBool();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  timestamp_ = input.readInt64();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                case 42: {
                  input.readMessage(
                      getMessageFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000010;
                  break;
                } // case 42
                case 48: {
                  firstChunk_ = input.readBool();
                  bitField0_ |= 0x00000020;
                  break;
                } // case 48
                case 56: {
                  lastChunk_ = input.readBool();
                  bitField0_ |= 0x00000040;
                  break;
                } // case 56
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private long seqNr_ ;
        /**
         * <code>required int64 seqNr = 1;</code>
         * @return Whether the seqNr field is set.
         */
        @java.lang.Override
        public boolean hasSeqNr() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required int64 seqNr = 1;</code>
         * @return The seqNr.
         */
        @java.lang.Override
        public long getSeqNr() {
          return seqNr_;
        }
        /**
         * <code>required int64 seqNr = 1;</code>
         * @param value The seqNr to set.
         * @return This builder for chaining.
         */
        public Builder setSeqNr(long value) {
  
          seqNr_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 seqNr = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearSeqNr() {
          bitField0_ = (bitField0_ & ~0x00000001);
          seqNr_ = 0L;
          onChanged();
          return this;
        }
  
        private java.lang.Object qualifier_ = "";
        /**
         * <code>required string qualifier = 2;</code>
         * @return Whether the qualifier field is set.
         */
        public boolean hasQualifier() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string qualifier = 2;</code>
         * @return The qualifier.
         */
        public java.lang.String getQualifier() {
          java.lang.Object ref = qualifier_;
          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()) {
              qualifier_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string qualifier = 2;</code>
         * @return The bytes for qualifier.
         */
        public akka.protobufv3.internal.ByteString
            getQualifierBytes() {
          java.lang.Object ref = qualifier_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            qualifier_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string qualifier = 2;</code>
         * @param value The qualifier to set.
         * @return This builder for chaining.
         */
        public Builder setQualifier(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          qualifier_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required string qualifier = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearQualifier() {
          qualifier_ = getDefaultInstance().getQualifier();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>required string qualifier = 2;</code>
         * @param value The bytes for qualifier to set.
         * @return This builder for chaining.
         */
        public Builder setQualifierBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          qualifier_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
  
        private boolean ack_ ;
        /**
         * <code>required bool ack = 3;</code>
         * @return Whether the ack field is set.
         */
        @java.lang.Override
        public boolean hasAck() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>required bool ack = 3;</code>
         * @return The ack.
         */
        @java.lang.Override
        public boolean getAck() {
          return ack_;
        }
        /**
         * <code>required bool ack = 3;</code>
         * @param value The ack to set.
         * @return This builder for chaining.
         */
        public Builder setAck(boolean value) {
  
          ack_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>required bool ack = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearAck() {
          bitField0_ = (bitField0_ & ~0x00000004);
          ack_ = false;
          onChanged();
          return this;
        }
  
        private long timestamp_ ;
        /**
         * <code>required int64 timestamp = 4;</code>
         * @return Whether the timestamp field is set.
         */
        @java.lang.Override
        public boolean hasTimestamp() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>required int64 timestamp = 4;</code>
         * @return The timestamp.
         */
        @java.lang.Override
        public long getTimestamp() {
          return timestamp_;
        }
        /**
         * <code>required int64 timestamp = 4;</code>
         * @param value The timestamp to set.
         * @return This builder for chaining.
         */
        public Builder setTimestamp(long value) {
  
          timestamp_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 timestamp = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearTimestamp() {
          bitField0_ = (bitField0_ & ~0x00000008);
          timestamp_ = 0L;
          onChanged();
          return this;
        }
  
        private akka.remote.ContainerFormats.Payload message_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> messageBuilder_;
        /**
         * <code>required .Payload message = 5;</code>
         * @return Whether the message field is set.
         */
        public boolean hasMessage() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>required .Payload message = 5;</code>
         * @return The message.
         */
        public akka.remote.ContainerFormats.Payload getMessage() {
          if (messageBuilder_ == null) {
            return message_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
          } else {
            return messageBuilder_.getMessage();
          }
        }
        /**
         * <code>required .Payload message = 5;</code>
         */
        public Builder setMessage(akka.remote.ContainerFormats.Payload value) {
          if (messageBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            message_ = value;
          } else {
            messageBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>required .Payload message = 5;</code>
         */
        public Builder setMessage(
            akka.remote.ContainerFormats.Payload.Builder builderForValue) {
          if (messageBuilder_ == null) {
            message_ = builderForValue.build();
          } else {
            messageBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>required .Payload message = 5;</code>
         */
        public Builder mergeMessage(akka.remote.ContainerFormats.Payload value) {
          if (messageBuilder_ == null) {
            if (((bitField0_ & 0x00000010) != 0) &&
              message_ != null &&
              message_ != akka.remote.ContainerFormats.Payload.getDefaultInstance()) {
              getMessageBuilder().mergeFrom(value);
            } else {
              message_ = value;
            }
          } else {
            messageBuilder_.mergeFrom(value);
          }
          if (message_ != null) {
            bitField0_ |= 0x00000010;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .Payload message = 5;</code>
         */
        public Builder clearMessage() {
          bitField0_ = (bitField0_ & ~0x00000010);
          message_ = null;
          if (messageBuilder_ != null) {
            messageBuilder_.dispose();
            messageBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .Payload message = 5;</code>
         */
        public akka.remote.ContainerFormats.Payload.Builder getMessageBuilder() {
          bitField0_ |= 0x00000010;
          onChanged();
          return getMessageFieldBuilder().getBuilder();
        }
        /**
         * <code>required .Payload message = 5;</code>
         */
        public akka.remote.ContainerFormats.PayloadOrBuilder getMessageOrBuilder() {
          if (messageBuilder_ != null) {
            return messageBuilder_.getMessageOrBuilder();
          } else {
            return message_ == null ?
                akka.remote.ContainerFormats.Payload.getDefaultInstance() : message_;
          }
        }
        /**
         * <code>required .Payload message = 5;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> 
            getMessageFieldBuilder() {
          if (messageBuilder_ == null) {
            messageBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder>(
                    getMessage(),
                    getParentForChildren(),
                    isClean());
            message_ = null;
          }
          return messageBuilder_;
        }
  
        private boolean firstChunk_ ;
        /**
         * <code>optional bool firstChunk = 6;</code>
         * @return Whether the firstChunk field is set.
         */
        @java.lang.Override
        public boolean hasFirstChunk() {
          return ((bitField0_ & 0x00000020) != 0);
        }
        /**
         * <code>optional bool firstChunk = 6;</code>
         * @return The firstChunk.
         */
        @java.lang.Override
        public boolean getFirstChunk() {
          return firstChunk_;
        }
        /**
         * <code>optional bool firstChunk = 6;</code>
         * @param value The firstChunk to set.
         * @return This builder for chaining.
         */
        public Builder setFirstChunk(boolean value) {
  
          firstChunk_ = value;
          bitField0_ |= 0x00000020;
          onChanged();
          return this;
        }
        /**
         * <code>optional bool firstChunk = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearFirstChunk() {
          bitField0_ = (bitField0_ & ~0x00000020);
          firstChunk_ = false;
          onChanged();
          return this;
        }
  
        private boolean lastChunk_ ;
        /**
         * <code>optional bool lastChunk = 7;</code>
         * @return Whether the lastChunk field is set.
         */
        @java.lang.Override
        public boolean hasLastChunk() {
          return ((bitField0_ & 0x00000040) != 0);
        }
        /**
         * <code>optional bool lastChunk = 7;</code>
         * @return The lastChunk.
         */
        @java.lang.Override
        public boolean getLastChunk() {
          return lastChunk_;
        }
        /**
         * <code>optional bool lastChunk = 7;</code>
         * @param value The lastChunk to set.
         * @return This builder for chaining.
         */
        public Builder setLastChunk(boolean value) {
  
          lastChunk_ = value;
          bitField0_ |= 0x00000040;
          onChanged();
          return this;
        }
        /**
         * <code>optional bool lastChunk = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearLastChunk() {
          bitField0_ = (bitField0_ & ~0x00000040);
          lastChunk_ = 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.cluster.typed.delivery.MessageSent)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.typed.delivery.MessageSent)
      private static final akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent();
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<MessageSent>
          PARSER = new akka.protobufv3.internal.AbstractParser<MessageSent>() {
        @java.lang.Override
        public MessageSent parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<MessageSent> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<MessageSent> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.MessageSent getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface CleanupOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.typed.delivery.Cleanup)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @return A list containing the qualifiers.
       */
      java.util.List<java.lang.String>
          getQualifiersList();
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @return The count of qualifiers.
       */
      int getQualifiersCount();
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @param index The index of the element to return.
       * @return The qualifiers at the given index.
       */
      java.lang.String getQualifiers(int index);
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the qualifiers at the given index.
       */
      akka.protobufv3.internal.ByteString
          getQualifiersBytes(int index);
    }
    /**
     * <pre>
     * DurableProducerQueue
     * </pre>
     *
     * Protobuf type {@code akka.cluster.typed.delivery.Cleanup}
     */
    public static final class Cleanup extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.typed.delivery.Cleanup)
        CleanupOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Cleanup.newBuilder() to construct.
      private Cleanup(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Cleanup() {
        qualifiers_ =
            akka.protobufv3.internal.LazyStringArrayList.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Cleanup();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Cleanup_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Cleanup_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.Builder.class);
      }
  
      public static final int QUALIFIERS_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private akka.protobufv3.internal.LazyStringArrayList qualifiers_ =
          akka.protobufv3.internal.LazyStringArrayList.emptyList();
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @return A list containing the qualifiers.
       */
      public akka.protobufv3.internal.ProtocolStringList
          getQualifiersList() {
        return qualifiers_;
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @return The count of qualifiers.
       */
      public int getQualifiersCount() {
        return qualifiers_.size();
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @param index The index of the element to return.
       * @return The qualifiers at the given index.
       */
      public java.lang.String getQualifiers(int index) {
        return qualifiers_.get(index);
      }
      /**
       * <code>repeated string qualifiers = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the qualifiers at the given index.
       */
      public akka.protobufv3.internal.ByteString
          getQualifiersBytes(int index) {
        return qualifiers_.getByteString(index);
      }
  
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < qualifiers_.size(); i++) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, qualifiers_.getRaw(i));
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < qualifiers_.size(); i++) {
            dataSize += computeStringSizeNoTag(qualifiers_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getQualifiersList().size();
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup)) {
          return super.equals(obj);
        }
        akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup other = (akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup) obj;
  
        if (!getQualifiersList()
            .equals(other.getQualifiersList())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getQualifiersCount() > 0) {
          hash = (37 * hash) + QUALIFIERS_FIELD_NUMBER;
          hash = (53 * hash) + getQualifiersList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup 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.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup 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.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup 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.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup 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;
      }
      /**
       * <pre>
       * DurableProducerQueue
       * </pre>
       *
       * Protobuf type {@code akka.cluster.typed.delivery.Cleanup}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.typed.delivery.Cleanup)
          akka.cluster.typed.internal.protobuf.ReliableDelivery.CleanupOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Cleanup_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Cleanup_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.class, akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.Builder.class);
        }
  
        // Construct using akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          qualifiers_ =
              akka.protobufv3.internal.LazyStringArrayList.emptyList();
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.internal_static_akka_cluster_typed_delivery_Cleanup_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup getDefaultInstanceForType() {
          return akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup build() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup buildPartial() {
          akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup result = new akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            qualifiers_.makeImmutable();
            result.qualifiers_ = qualifiers_;
          }
        }
  
        @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.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup) {
            return mergeFrom((akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup other) {
          if (other == akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup.getDefaultInstance()) return this;
          if (!other.qualifiers_.isEmpty()) {
            if (qualifiers_.isEmpty()) {
              qualifiers_ = other.qualifiers_;
              bitField0_ |= 0x00000001;
            } else {
              ensureQualifiersIsMutable();
              qualifiers_.addAll(other.qualifiers_);
            }
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  akka.protobufv3.internal.ByteString bs = input.readBytes();
                  ensureQualifiersIsMutable();
                  qualifiers_.add(bs);
                  break;
                } // case 10
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.protobufv3.internal.LazyStringArrayList qualifiers_ =
            akka.protobufv3.internal.LazyStringArrayList.emptyList();
        private void ensureQualifiersIsMutable() {
          if (!qualifiers_.isModifiable()) {
            qualifiers_ = new akka.protobufv3.internal.LazyStringArrayList(qualifiers_);
          }
          bitField0_ |= 0x00000001;
        }
        /**
         * <code>repeated string qualifiers = 1;</code>
         * @return A list containing the qualifiers.
         */
        public akka.protobufv3.internal.ProtocolStringList
            getQualifiersList() {
          qualifiers_.makeImmutable();
          return qualifiers_;
        }
        /**
         * <code>repeated string qualifiers = 1;</code>
         * @return The count of qualifiers.
         */
        public int getQualifiersCount() {
          return qualifiers_.size();
        }
        /**
         * <code>repeated string qualifiers = 1;</code>
         * @param index The index of the element to return.
         * @return The qualifiers at the given index.
         */
        public java.lang.String getQualifiers(int index) {
          return qualifiers_.get(index);
        }
        /**
         * <code>repeated string qualifiers = 1;</code>
         * @param index The index of the value to return.
         * @return The bytes of the qualifiers at the given index.
         */
        public akka.protobufv3.internal.ByteString
            getQualifiersBytes(int index) {
          return qualifiers_.getByteString(index);
        }
        /**
         * <code>repeated string qualifiers = 1;</code>
         * @param index The index to set the value at.
         * @param value The qualifiers to set.
         * @return This builder for chaining.
         */
        public Builder setQualifiers(
            int index, java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureQualifiersIsMutable();
          qualifiers_.set(index, value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string qualifiers = 1;</code>
         * @param value The qualifiers to add.
         * @return This builder for chaining.
         */
        public Builder addQualifiers(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureQualifiersIsMutable();
          qualifiers_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string qualifiers = 1;</code>
         * @param values The qualifiers to add.
         * @return This builder for chaining.
         */
        public Builder addAllQualifiers(
            java.lang.Iterable<java.lang.String> values) {
          ensureQualifiersIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, qualifiers_);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string qualifiers = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearQualifiers() {
          qualifiers_ =
            akka.protobufv3.internal.LazyStringArrayList.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string qualifiers = 1;</code>
         * @param value The bytes of the qualifiers to add.
         * @return This builder for chaining.
         */
        public Builder addQualifiersBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          ensureQualifiersIsMutable();
          qualifiers_.add(value);
          bitField0_ |= 0x00000001;
          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.cluster.typed.delivery.Cleanup)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.typed.delivery.Cleanup)
      private static final akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup();
      }
  
      public static akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Cleanup>
          PARSER = new akka.protobufv3.internal.AbstractParser<Cleanup>() {
        @java.lang.Override
        public Cleanup parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Cleanup> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Cleanup> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.typed.internal.protobuf.ReliableDelivery.Cleanup getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_typed_delivery_SequencedMessage_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_typed_delivery_SequencedMessage_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_typed_delivery_RegisterConsumer_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_typed_delivery_RegisterConsumer_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_typed_delivery_Request_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_typed_delivery_Request_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_typed_delivery_Resend_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_typed_delivery_Resend_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_typed_delivery_Ack_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_typed_delivery_Ack_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_typed_delivery_State_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_typed_delivery_State_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_typed_delivery_Confirmed_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_typed_delivery_Confirmed_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_typed_delivery_MessageSent_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_typed_delivery_MessageSent_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_typed_delivery_Cleanup_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_typed_delivery_Cleanup_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\026ReliableDelivery.proto\022\033akka.cluster.t" +
        "yped.delivery\032\026ContainerFormats.proto\"\262\001" +
        "\n\020SequencedMessage\022\022\n\nproducerId\030\001 \002(\t\022\r" +
        "\n\005seqNr\030\002 \002(\003\022\r\n\005first\030\003 \002(\010\022\013\n\003ack\030\004 \002(" +
        "\010\022\035\n\025producerControllerRef\030\005 \002(\t\022\031\n\007mess" +
        "age\030\006 \002(\0132\010.Payload\022\022\n\nfirstChunk\030\007 \001(\010\022" +
        "\021\n\tlastChunk\030\010 \001(\010\"1\n\020RegisterConsumer\022\035" +
        "\n\025consumerControllerRef\030\001 \002(\t\"f\n\007Request" +
        "\022\026\n\016confirmedSeqNr\030\001 \002(\003\022\030\n\020requestUpToS" +
        "eqNr\030\002 \002(\003\022\025\n\rsupportResend\030\003 \002(\010\022\022\n\nvia" +
        "Timeout\030\004 \002(\010\"\033\n\006Resend\022\021\n\tfromSeqNr\030\001 \002" +
        "(\003\"\035\n\003Ack\022\026\n\016confirmedSeqNr\030\001 \002(\003\"\266\001\n\005St" +
        "ate\022\024\n\014currentSeqNr\030\001 \002(\003\022\035\n\025highestConf" +
        "irmedSeqNr\030\002 \002(\003\0229\n\tconfirmed\030\003 \003(\0132&.ak" +
        "ka.cluster.typed.delivery.Confirmed\022=\n\013u" +
        "nconfirmed\030\004 \003(\0132(.akka.cluster.typed.de" +
        "livery.MessageSent\"@\n\tConfirmed\022\r\n\005seqNr" +
        "\030\001 \002(\003\022\021\n\tqualifier\030\002 \002(\t\022\021\n\ttimestamp\030\003" +
        " \002(\003\"\221\001\n\013MessageSent\022\r\n\005seqNr\030\001 \002(\003\022\021\n\tq" +
        "ualifier\030\002 \002(\t\022\013\n\003ack\030\003 \002(\010\022\021\n\ttimestamp" +
        "\030\004 \002(\003\022\031\n\007message\030\005 \002(\0132\010.Payload\022\022\n\nfir" +
        "stChunk\030\006 \001(\010\022\021\n\tlastChunk\030\007 \001(\010\"\035\n\007Clea" +
        "nup\022\022\n\nqualifiers\030\001 \003(\tB(\n$akka.cluster." +
        "typed.internal.protobufH\001"
      };
      descriptor = akka.protobufv3.internal.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new akka.protobufv3.internal.Descriptors.FileDescriptor[] {
            akka.remote.ContainerFormats.getDescriptor(),
          });
      internal_static_akka_cluster_typed_delivery_SequencedMessage_descriptor =
        getDescriptor().getMessageTypes().get(0);
      internal_static_akka_cluster_typed_delivery_SequencedMessage_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_typed_delivery_SequencedMessage_descriptor,
          new java.lang.String[] { "ProducerId", "SeqNr", "First", "Ack", "ProducerControllerRef", "Message", "FirstChunk", "LastChunk", });
      internal_static_akka_cluster_typed_delivery_RegisterConsumer_descriptor =
        getDescriptor().getMessageTypes().get(1);
      internal_static_akka_cluster_typed_delivery_RegisterConsumer_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_typed_delivery_RegisterConsumer_descriptor,
          new java.lang.String[] { "ConsumerControllerRef", });
      internal_static_akka_cluster_typed_delivery_Request_descriptor =
        getDescriptor().getMessageTypes().get(2);
      internal_static_akka_cluster_typed_delivery_Request_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_typed_delivery_Request_descriptor,
          new java.lang.String[] { "ConfirmedSeqNr", "RequestUpToSeqNr", "SupportResend", "ViaTimeout", });
      internal_static_akka_cluster_typed_delivery_Resend_descriptor =
        getDescriptor().getMessageTypes().get(3);
      internal_static_akka_cluster_typed_delivery_Resend_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_typed_delivery_Resend_descriptor,
          new java.lang.String[] { "FromSeqNr", });
      internal_static_akka_cluster_typed_delivery_Ack_descriptor =
        getDescriptor().getMessageTypes().get(4);
      internal_static_akka_cluster_typed_delivery_Ack_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_typed_delivery_Ack_descriptor,
          new java.lang.String[] { "ConfirmedSeqNr", });
      internal_static_akka_cluster_typed_delivery_State_descriptor =
        getDescriptor().getMessageTypes().get(5);
      internal_static_akka_cluster_typed_delivery_State_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_typed_delivery_State_descriptor,
          new java.lang.String[] { "CurrentSeqNr", "HighestConfirmedSeqNr", "Confirmed", "Unconfirmed", });
      internal_static_akka_cluster_typed_delivery_Confirmed_descriptor =
        getDescriptor().getMessageTypes().get(6);
      internal_static_akka_cluster_typed_delivery_Confirmed_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_typed_delivery_Confirmed_descriptor,
          new java.lang.String[] { "SeqNr", "Qualifier", "Timestamp", });
      internal_static_akka_cluster_typed_delivery_MessageSent_descriptor =
        getDescriptor().getMessageTypes().get(7);
      internal_static_akka_cluster_typed_delivery_MessageSent_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_typed_delivery_MessageSent_descriptor,
          new java.lang.String[] { "SeqNr", "Qualifier", "Ack", "Timestamp", "Message", "FirstChunk", "LastChunk", });
      internal_static_akka_cluster_typed_delivery_Cleanup_descriptor =
        getDescriptor().getMessageTypes().get(8);
      internal_static_akka_cluster_typed_delivery_Cleanup_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_typed_delivery_Cleanup_descriptor,
          new java.lang.String[] { "Qualifiers", });
      akka.remote.ContainerFormats.getDescriptor();
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  