/*
 * Copyright (C) 2020-2021 Lightbend Inc. <https://www.lightbend.com>
 */

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

package akka.cluster.pubsub.protobuf.msg;

public final class DistributedPubSubMessages {
  private DistributedPubSubMessages() {}
  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 StatusOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Status)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version> 
        getVersionsList();
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version getVersions(int index);
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    int getVersionsCount();
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    java.util.List<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder> 
        getVersionsOrBuilderList();
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder getVersionsOrBuilder(
        int index);

    /**
     * <code>optional bool replyToStatus = 2;</code>
     * @return Whether the replyToStatus field is set.
     */
    boolean hasReplyToStatus();
    /**
     * <code>optional bool replyToStatus = 2;</code>
     * @return The replyToStatus.
     */
    boolean getReplyToStatus();
  }
  /**
   * Protobuf type {@code Status}
   */
  public  static final class Status extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Status)
      StatusOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Status.newBuilder() to construct.
    private Status(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Status() {
      versions_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new Status();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Status(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                versions_ = new java.util.ArrayList<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version>();
                mutable_bitField0_ |= 0x00000001;
              }
              versions_.add(
                  input.readMessage(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.PARSER, extensionRegistry));
              break;
            }
            case 16: {
              bitField0_ |= 0x00000001;
              replyToStatus_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          versions_ = java.util.Collections.unmodifiableList(versions_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Status_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Status_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Builder.class);
    }

    public interface VersionOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Status.Version)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>required .Address address = 1;</code>
       * @return Whether the address field is set.
       */
      boolean hasAddress();
      /**
       * <code>required .Address address = 1;</code>
       * @return The address.
       */
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address getAddress();
      /**
       * <code>required .Address address = 1;</code>
       */
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getAddressOrBuilder();

      /**
       * <code>required int64 timestamp = 2;</code>
       * @return Whether the timestamp field is set.
       */
      boolean hasTimestamp();
      /**
       * <code>required int64 timestamp = 2;</code>
       * @return The timestamp.
       */
      long getTimestamp();
    }
    /**
     * Protobuf type {@code Status.Version}
     */
    public  static final class Version extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Status.Version)
        VersionOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Version.newBuilder() to construct.
      private Version(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Version() {
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Version();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Version(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder subBuilder = null;
                if (((bitField0_ & 0x00000001) != 0)) {
                  subBuilder = address_.toBuilder();
                }
                address_ = input.readMessage(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(address_);
                  address_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000001;
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                timestamp_ = input.readInt64();
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Status_Version_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Status_Version_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder.class);
      }

      private int bitField0_;
      public static final int ADDRESS_FIELD_NUMBER = 1;
      private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address address_;
      /**
       * <code>required .Address address = 1;</code>
       * @return Whether the address field is set.
       */
      public boolean hasAddress() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .Address address = 1;</code>
       * @return The address.
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address getAddress() {
        return address_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance() : address_;
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getAddressOrBuilder() {
        return address_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance() : address_;
      }

      public static final int TIMESTAMP_FIELD_NUMBER = 2;
      private long timestamp_;
      /**
       * <code>required int64 timestamp = 2;</code>
       * @return Whether the timestamp field is set.
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 timestamp = 2;</code>
       * @return The timestamp.
       */
      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 (!hasAddress()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasTimestamp()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getAddress().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getAddress());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeInt64(2, timestamp_);
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getAddress());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt64Size(2, timestamp_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version)) {
          return super.equals(obj);
        }
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version) obj;

        if (hasAddress() != other.hasAddress()) return false;
        if (hasAddress()) {
          if (!getAddress()
              .equals(other.getAddress())) return false;
        }
        if (hasTimestamp() != other.hasTimestamp()) return false;
        if (hasTimestamp()) {
          if (getTimestamp()
              != other.getTimestamp()) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasAddress()) {
          hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
          hash = (53 * hash) + getAddress().hashCode();
        }
        if (hasTimestamp()) {
          hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getTimestamp());
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version 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.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version 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.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version 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.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version 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.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Status.Version}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Status.Version)
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Status_Version_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Status_Version_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder.class);
        }

        // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getAddressFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (addressBuilder_ == null) {
            address_ = null;
          } else {
            addressBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          timestamp_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Status_Version_descriptor;
        }

        @java.lang.Override
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version getDefaultInstanceForType() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version build() {
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version buildPartial() {
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            if (addressBuilder_ == null) {
              result.address_ = address_;
            } else {
              result.address_ = addressBuilder_.build();
            }
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.timestamp_ = timestamp_;
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version) {
            return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version other) {
          if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.getDefaultInstance()) return this;
          if (other.hasAddress()) {
            mergeAddress(other.getAddress());
          }
          if (other.hasTimestamp()) {
            setTimestamp(other.getTimestamp());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasAddress()) {
            return false;
          }
          if (!hasTimestamp()) {
            return false;
          }
          if (!getAddress().isInitialized()) {
            return false;
          }
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address address_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder> addressBuilder_;
        /**
         * <code>required .Address address = 1;</code>
         * @return Whether the address field is set.
         */
        public boolean hasAddress() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .Address address = 1;</code>
         * @return The address.
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address getAddress() {
          if (addressBuilder_ == null) {
            return address_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance() : address_;
          } else {
            return addressBuilder_.getMessage();
          }
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public Builder setAddress(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address value) {
          if (addressBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            address_ = value;
            onChanged();
          } else {
            addressBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public Builder setAddress(
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder builderForValue) {
          if (addressBuilder_ == null) {
            address_ = builderForValue.build();
            onChanged();
          } else {
            addressBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public Builder mergeAddress(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address value) {
          if (addressBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
                address_ != null &&
                address_ != akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance()) {
              address_ =
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.newBuilder(address_).mergeFrom(value).buildPartial();
            } else {
              address_ = value;
            }
            onChanged();
          } else {
            addressBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public Builder clearAddress() {
          if (addressBuilder_ == null) {
            address_ = null;
            onChanged();
          } else {
            addressBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder getAddressBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getAddressFieldBuilder().getBuilder();
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getAddressOrBuilder() {
          if (addressBuilder_ != null) {
            return addressBuilder_.getMessageOrBuilder();
          } else {
            return address_ == null ?
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance() : address_;
          }
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder> 
            getAddressFieldBuilder() {
          if (addressBuilder_ == null) {
            addressBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder>(
                    getAddress(),
                    getParentForChildren(),
                    isClean());
            address_ = null;
          }
          return addressBuilder_;
        }

        private long timestamp_ ;
        /**
         * <code>required int64 timestamp = 2;</code>
         * @return Whether the timestamp field is set.
         */
        public boolean hasTimestamp() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required int64 timestamp = 2;</code>
         * @return The timestamp.
         */
        public long getTimestamp() {
          return timestamp_;
        }
        /**
         * <code>required int64 timestamp = 2;</code>
         * @param value The timestamp to set.
         * @return This builder for chaining.
         */
        public Builder setTimestamp(long value) {
          bitField0_ |= 0x00000002;
          timestamp_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 timestamp = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearTimestamp() {
          bitField0_ = (bitField0_ & ~0x00000002);
          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:Status.Version)
      }

      // @@protoc_insertion_point(class_scope:Status.Version)
      private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version();
      }

      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Version>
          PARSER = new akka.protobufv3.internal.AbstractParser<Version>() {
        @java.lang.Override
        public Version parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return new Version(input, extensionRegistry);
        }
      };

      public static akka.protobufv3.internal.Parser<Version> parser() {
        return PARSER;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Parser<Version> getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int VERSIONS_FIELD_NUMBER = 1;
    private java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version> versions_;
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    public java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version> getVersionsList() {
      return versions_;
    }
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    public java.util.List<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder> 
        getVersionsOrBuilderList() {
      return versions_;
    }
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    public int getVersionsCount() {
      return versions_.size();
    }
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version getVersions(int index) {
      return versions_.get(index);
    }
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder getVersionsOrBuilder(
        int index) {
      return versions_.get(index);
    }

    public static final int REPLYTOSTATUS_FIELD_NUMBER = 2;
    private boolean replyToStatus_;
    /**
     * <code>optional bool replyToStatus = 2;</code>
     * @return Whether the replyToStatus field is set.
     */
    public boolean hasReplyToStatus() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional bool replyToStatus = 2;</code>
     * @return The replyToStatus.
     */
    public boolean getReplyToStatus() {
      return replyToStatus_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      for (int i = 0; i < getVersionsCount(); i++) {
        if (!getVersions(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 {
      for (int i = 0; i < versions_.size(); i++) {
        output.writeMessage(1, versions_.get(i));
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeBool(2, replyToStatus_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < versions_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, versions_.get(i));
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBoolSize(2, replyToStatus_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status)) {
        return super.equals(obj);
      }
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status) obj;

      if (!getVersionsList()
          .equals(other.getVersionsList())) return false;
      if (hasReplyToStatus() != other.hasReplyToStatus()) return false;
      if (hasReplyToStatus()) {
        if (getReplyToStatus()
            != other.getReplyToStatus()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getVersionsCount() > 0) {
        hash = (37 * hash) + VERSIONS_FIELD_NUMBER;
        hash = (53 * hash) + getVersionsList().hashCode();
      }
      if (hasReplyToStatus()) {
        hash = (37 * hash) + REPLYTOSTATUS_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
            getReplyToStatus());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status 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.pubsub.protobuf.msg.DistributedPubSubMessages.Status parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status 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.pubsub.protobuf.msg.DistributedPubSubMessages.Status parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status 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.pubsub.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status 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.pubsub.protobuf.msg.DistributedPubSubMessages.Status prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Status}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Status)
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.StatusOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Status_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Status_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Builder.class);
      }

      // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getVersionsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (versionsBuilder_ == null) {
          versions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          versionsBuilder_.clear();
        }
        replyToStatus_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Status_descriptor;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status getDefaultInstanceForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status build() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status buildPartial() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (versionsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            versions_ = java.util.Collections.unmodifiableList(versions_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.versions_ = versions_;
        } else {
          result.versions_ = versionsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.replyToStatus_ = replyToStatus_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status) {
          return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status other) {
        if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.getDefaultInstance()) return this;
        if (versionsBuilder_ == null) {
          if (!other.versions_.isEmpty()) {
            if (versions_.isEmpty()) {
              versions_ = other.versions_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureVersionsIsMutable();
              versions_.addAll(other.versions_);
            }
            onChanged();
          }
        } else {
          if (!other.versions_.isEmpty()) {
            if (versionsBuilder_.isEmpty()) {
              versionsBuilder_.dispose();
              versionsBuilder_ = null;
              versions_ = other.versions_;
              bitField0_ = (bitField0_ & ~0x00000001);
              versionsBuilder_ = 
                akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getVersionsFieldBuilder() : null;
            } else {
              versionsBuilder_.addAllMessages(other.versions_);
            }
          }
        }
        if (other.hasReplyToStatus()) {
          setReplyToStatus(other.getReplyToStatus());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getVersionsCount(); i++) {
          if (!getVersions(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 {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version> versions_ =
        java.util.Collections.emptyList();
      private void ensureVersionsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          versions_ = new java.util.ArrayList<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version>(versions_);
          bitField0_ |= 0x00000001;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder> versionsBuilder_;

      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version> getVersionsList() {
        if (versionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(versions_);
        } else {
          return versionsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public int getVersionsCount() {
        if (versionsBuilder_ == null) {
          return versions_.size();
        } else {
          return versionsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version getVersions(int index) {
        if (versionsBuilder_ == null) {
          return versions_.get(index);
        } else {
          return versionsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder setVersions(
          int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version value) {
        if (versionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureVersionsIsMutable();
          versions_.set(index, value);
          onChanged();
        } else {
          versionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder setVersions(
          int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder builderForValue) {
        if (versionsBuilder_ == null) {
          ensureVersionsIsMutable();
          versions_.set(index, builderForValue.build());
          onChanged();
        } else {
          versionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder addVersions(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version value) {
        if (versionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureVersionsIsMutable();
          versions_.add(value);
          onChanged();
        } else {
          versionsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder addVersions(
          int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version value) {
        if (versionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureVersionsIsMutable();
          versions_.add(index, value);
          onChanged();
        } else {
          versionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder addVersions(
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder builderForValue) {
        if (versionsBuilder_ == null) {
          ensureVersionsIsMutable();
          versions_.add(builderForValue.build());
          onChanged();
        } else {
          versionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder addVersions(
          int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder builderForValue) {
        if (versionsBuilder_ == null) {
          ensureVersionsIsMutable();
          versions_.add(index, builderForValue.build());
          onChanged();
        } else {
          versionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder addAllVersions(
          java.lang.Iterable<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version> values) {
        if (versionsBuilder_ == null) {
          ensureVersionsIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, versions_);
          onChanged();
        } else {
          versionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder clearVersions() {
        if (versionsBuilder_ == null) {
          versions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          versionsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder removeVersions(int index) {
        if (versionsBuilder_ == null) {
          ensureVersionsIsMutable();
          versions_.remove(index);
          onChanged();
        } else {
          versionsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder getVersionsBuilder(
          int index) {
        return getVersionsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder getVersionsOrBuilder(
          int index) {
        if (versionsBuilder_ == null) {
          return versions_.get(index);  } else {
          return versionsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public java.util.List<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder> 
           getVersionsOrBuilderList() {
        if (versionsBuilder_ != null) {
          return versionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(versions_);
        }
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder addVersionsBuilder() {
        return getVersionsFieldBuilder().addBuilder(
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.getDefaultInstance());
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder addVersionsBuilder(
          int index) {
        return getVersionsFieldBuilder().addBuilder(
            index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.getDefaultInstance());
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder> 
           getVersionsBuilderList() {
        return getVersionsFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder> 
          getVersionsFieldBuilder() {
        if (versionsBuilder_ == null) {
          versionsBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder>(
                  versions_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          versions_ = null;
        }
        return versionsBuilder_;
      }

      private boolean replyToStatus_ ;
      /**
       * <code>optional bool replyToStatus = 2;</code>
       * @return Whether the replyToStatus field is set.
       */
      public boolean hasReplyToStatus() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional bool replyToStatus = 2;</code>
       * @return The replyToStatus.
       */
      public boolean getReplyToStatus() {
        return replyToStatus_;
      }
      /**
       * <code>optional bool replyToStatus = 2;</code>
       * @param value The replyToStatus to set.
       * @return This builder for chaining.
       */
      public Builder setReplyToStatus(boolean value) {
        bitField0_ |= 0x00000002;
        replyToStatus_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool replyToStatus = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearReplyToStatus() {
        bitField0_ = (bitField0_ & ~0x00000002);
        replyToStatus_ = 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:Status)
    }

    // @@protoc_insertion_point(class_scope:Status)
    private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status();
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Status>
        PARSER = new akka.protobufv3.internal.AbstractParser<Status>() {
      @java.lang.Override
      public Status parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new Status(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<Status> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<Status> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Status getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DeltaOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Delta)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> 
        getBucketsList();
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket getBuckets(int index);
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    int getBucketsCount();
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    java.util.List<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder> 
        getBucketsOrBuilderList();
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder getBucketsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code Delta}
   */
  public  static final class Delta extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Delta)
      DeltaOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Delta.newBuilder() to construct.
    private Delta(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Delta() {
      buckets_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new Delta();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Delta(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                buckets_ = new java.util.ArrayList<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket>();
                mutable_bitField0_ |= 0x00000001;
              }
              buckets_.add(
                  input.readMessage(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.PARSER, extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          buckets_ = java.util.Collections.unmodifiableList(buckets_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Builder.class);
    }

    public interface EntryOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Delta.Entry)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>required string key = 1;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required string key = 1;</code>
       * @return The key.
       */
      java.lang.String getKey();
      /**
       * <code>required string key = 1;</code>
       * @return The bytes for key.
       */
      akka.protobufv3.internal.ByteString
          getKeyBytes();

      /**
       * <code>required int64 version = 2;</code>
       * @return Whether the version field is set.
       */
      boolean hasVersion();
      /**
       * <code>required int64 version = 2;</code>
       * @return The version.
       */
      long getVersion();

      /**
       * <code>optional string ref = 3;</code>
       * @return Whether the ref field is set.
       */
      boolean hasRef();
      /**
       * <code>optional string ref = 3;</code>
       * @return The ref.
       */
      java.lang.String getRef();
      /**
       * <code>optional string ref = 3;</code>
       * @return The bytes for ref.
       */
      akka.protobufv3.internal.ByteString
          getRefBytes();
    }
    /**
     * Protobuf type {@code Delta.Entry}
     */
    public  static final class Entry extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Delta.Entry)
        EntryOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Entry.newBuilder() to construct.
      private Entry(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Entry() {
        key_ = "";
        ref_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Entry();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                akka.protobufv3.internal.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000001;
                key_ = bs;
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                version_ = input.readInt64();
                break;
              }
              case 26: {
                akka.protobufv3.internal.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000004;
                ref_ = bs;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Entry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder.class);
      }

      private int bitField0_;
      public static final int KEY_FIELD_NUMBER = 1;
      private volatile java.lang.Object key_;
      /**
       * <code>required string key = 1;</code>
       * @return Whether the key field is set.
       */
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string key = 1;</code>
       * @return The key.
       */
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = 
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            key_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string key = 1;</code>
       * @return The bytes for key.
       */
      public akka.protobufv3.internal.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }

      public static final int VERSION_FIELD_NUMBER = 2;
      private long version_;
      /**
       * <code>required int64 version = 2;</code>
       * @return Whether the version field is set.
       */
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 version = 2;</code>
       * @return The version.
       */
      public long getVersion() {
        return version_;
      }

      public static final int REF_FIELD_NUMBER = 3;
      private volatile java.lang.Object ref_;
      /**
       * <code>optional string ref = 3;</code>
       * @return Whether the ref field is set.
       */
      public boolean hasRef() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional string ref = 3;</code>
       * @return The ref.
       */
      public java.lang.String getRef() {
        java.lang.Object ref = ref_;
        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()) {
            ref_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string ref = 3;</code>
       * @return The bytes for ref.
       */
      public akka.protobufv3.internal.ByteString
          getRefBytes() {
        java.lang.Object ref = ref_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ref_ = 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 (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasVersion()) {
          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, key_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeInt64(2, version_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 3, ref_);
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, key_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt64Size(2, version_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(3, ref_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry)) {
          return super.equals(obj);
        }
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry) obj;

        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey()
              .equals(other.getKey())) return false;
        }
        if (hasVersion() != other.hasVersion()) return false;
        if (hasVersion()) {
          if (getVersion()
              != other.getVersion()) return false;
        }
        if (hasRef() != other.hasRef()) return false;
        if (hasRef()) {
          if (!getRef()
              .equals(other.getRef())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        if (hasVersion()) {
          hash = (37 * hash) + VERSION_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getVersion());
        }
        if (hasRef()) {
          hash = (37 * hash) + REF_FIELD_NUMBER;
          hash = (53 * hash) + getRef().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Delta.Entry}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Delta.Entry)
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Entry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder.class);
        }

        // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          key_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          version_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          ref_ = "";
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Entry_descriptor;
        }

        @java.lang.Override
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry getDefaultInstanceForType() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry build() {
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry buildPartial() {
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.key_ = key_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.version_ = version_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            to_bitField0_ |= 0x00000004;
          }
          result.ref_ = ref_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry) {
            return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry other) {
          if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.getDefaultInstance()) return this;
          if (other.hasKey()) {
            bitField0_ |= 0x00000001;
            key_ = other.key_;
            onChanged();
          }
          if (other.hasVersion()) {
            setVersion(other.getVersion());
          }
          if (other.hasRef()) {
            bitField0_ |= 0x00000004;
            ref_ = other.ref_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasKey()) {
            return false;
          }
          if (!hasVersion()) {
            return false;
          }
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object key_ = "";
        /**
         * <code>required string key = 1;</code>
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string key = 1;</code>
         * @return The key.
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs =
                (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              key_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         * @return The bytes for key.
         */
        public akka.protobufv3.internal.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         * @param value The key to set.
         * @return This builder for chaining.
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         * @param value The bytes for key to set.
         * @return This builder for chaining.
         */
        public Builder setKeyBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = value;
          onChanged();
          return this;
        }

        private long version_ ;
        /**
         * <code>required int64 version = 2;</code>
         * @return Whether the version field is set.
         */
        public boolean hasVersion() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required int64 version = 2;</code>
         * @return The version.
         */
        public long getVersion() {
          return version_;
        }
        /**
         * <code>required int64 version = 2;</code>
         * @param value The version to set.
         * @return This builder for chaining.
         */
        public Builder setVersion(long value) {
          bitField0_ |= 0x00000002;
          version_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 version = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearVersion() {
          bitField0_ = (bitField0_ & ~0x00000002);
          version_ = 0L;
          onChanged();
          return this;
        }

        private java.lang.Object ref_ = "";
        /**
         * <code>optional string ref = 3;</code>
         * @return Whether the ref field is set.
         */
        public boolean hasRef() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional string ref = 3;</code>
         * @return The ref.
         */
        public java.lang.String getRef() {
          java.lang.Object ref = ref_;
          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()) {
              ref_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string ref = 3;</code>
         * @return The bytes for ref.
         */
        public akka.protobufv3.internal.ByteString
            getRefBytes() {
          java.lang.Object ref = ref_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            ref_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>optional string ref = 3;</code>
         * @param value The ref to set.
         * @return This builder for chaining.
         */
        public Builder setRef(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
          ref_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string ref = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearRef() {
          bitField0_ = (bitField0_ & ~0x00000004);
          ref_ = getDefaultInstance().getRef();
          onChanged();
          return this;
        }
        /**
         * <code>optional string ref = 3;</code>
         * @param value The bytes for ref to set.
         * @return This builder for chaining.
         */
        public Builder setRefBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
          ref_ = value;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:Delta.Entry)
      }

      // @@protoc_insertion_point(class_scope:Delta.Entry)
      private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry();
      }

      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Entry>
          PARSER = new akka.protobufv3.internal.AbstractParser<Entry>() {
        @java.lang.Override
        public Entry parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return new Entry(input, extensionRegistry);
        }
      };

      public static akka.protobufv3.internal.Parser<Entry> parser() {
        return PARSER;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Parser<Entry> getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface BucketOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Delta.Bucket)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>required .Address owner = 1;</code>
       * @return Whether the owner field is set.
       */
      boolean hasOwner();
      /**
       * <code>required .Address owner = 1;</code>
       * @return The owner.
       */
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address getOwner();
      /**
       * <code>required .Address owner = 1;</code>
       */
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getOwnerOrBuilder();

      /**
       * <code>required int64 version = 2;</code>
       * @return Whether the version field is set.
       */
      boolean hasVersion();
      /**
       * <code>required int64 version = 2;</code>
       * @return The version.
       */
      long getVersion();

      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry> 
          getContentList();
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry getContent(int index);
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      int getContentCount();
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      java.util.List<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder> 
          getContentOrBuilderList();
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder getContentOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code Delta.Bucket}
     */
    public  static final class Bucket extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Delta.Bucket)
        BucketOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Bucket.newBuilder() to construct.
      private Bucket(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Bucket() {
        content_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Bucket();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Bucket(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder subBuilder = null;
                if (((bitField0_ & 0x00000001) != 0)) {
                  subBuilder = owner_.toBuilder();
                }
                owner_ = input.readMessage(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(owner_);
                  owner_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000001;
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                version_ = input.readInt64();
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                  content_ = new java.util.ArrayList<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry>();
                  mutable_bitField0_ |= 0x00000004;
                }
                content_.add(
                    input.readMessage(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.PARSER, extensionRegistry));
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000004) != 0)) {
            content_ = java.util.Collections.unmodifiableList(content_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Bucket_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Bucket_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder.class);
      }

      private int bitField0_;
      public static final int OWNER_FIELD_NUMBER = 1;
      private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address owner_;
      /**
       * <code>required .Address owner = 1;</code>
       * @return Whether the owner field is set.
       */
      public boolean hasOwner() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .Address owner = 1;</code>
       * @return The owner.
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address getOwner() {
        return owner_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance() : owner_;
      }
      /**
       * <code>required .Address owner = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getOwnerOrBuilder() {
        return owner_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance() : owner_;
      }

      public static final int VERSION_FIELD_NUMBER = 2;
      private long version_;
      /**
       * <code>required int64 version = 2;</code>
       * @return Whether the version field is set.
       */
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 version = 2;</code>
       * @return The version.
       */
      public long getVersion() {
        return version_;
      }

      public static final int CONTENT_FIELD_NUMBER = 3;
      private java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry> content_;
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      public java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry> getContentList() {
        return content_;
      }
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      public java.util.List<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder> 
          getContentOrBuilderList() {
        return content_;
      }
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      public int getContentCount() {
        return content_.size();
      }
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry getContent(int index) {
        return content_.get(index);
      }
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder getContentOrBuilder(
          int index) {
        return content_.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 (!hasOwner()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasVersion()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getOwner().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getContentCount(); i++) {
          if (!getContent(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.writeMessage(1, getOwner());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeInt64(2, version_);
        }
        for (int i = 0; i < content_.size(); i++) {
          output.writeMessage(3, content_.get(i));
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getOwner());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt64Size(2, version_);
        }
        for (int i = 0; i < content_.size(); i++) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(3, content_.get(i));
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket)) {
          return super.equals(obj);
        }
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket) obj;

        if (hasOwner() != other.hasOwner()) return false;
        if (hasOwner()) {
          if (!getOwner()
              .equals(other.getOwner())) return false;
        }
        if (hasVersion() != other.hasVersion()) return false;
        if (hasVersion()) {
          if (getVersion()
              != other.getVersion()) return false;
        }
        if (!getContentList()
            .equals(other.getContentList())) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasOwner()) {
          hash = (37 * hash) + OWNER_FIELD_NUMBER;
          hash = (53 * hash) + getOwner().hashCode();
        }
        if (hasVersion()) {
          hash = (37 * hash) + VERSION_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getVersion());
        }
        if (getContentCount() > 0) {
          hash = (37 * hash) + CONTENT_FIELD_NUMBER;
          hash = (53 * hash) + getContentList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Delta.Bucket}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Delta.Bucket)
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Bucket_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Bucket_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder.class);
        }

        // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getOwnerFieldBuilder();
            getContentFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (ownerBuilder_ == null) {
            owner_ = null;
          } else {
            ownerBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          version_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          if (contentBuilder_ == null) {
            content_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            contentBuilder_.clear();
          }
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Bucket_descriptor;
        }

        @java.lang.Override
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket getDefaultInstanceForType() {
          return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket build() {
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket buildPartial() {
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            if (ownerBuilder_ == null) {
              result.owner_ = owner_;
            } else {
              result.owner_ = ownerBuilder_.build();
            }
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.version_ = version_;
            to_bitField0_ |= 0x00000002;
          }
          if (contentBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0)) {
              content_ = java.util.Collections.unmodifiableList(content_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.content_ = content_;
          } else {
            result.content_ = contentBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket) {
            return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket other) {
          if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.getDefaultInstance()) return this;
          if (other.hasOwner()) {
            mergeOwner(other.getOwner());
          }
          if (other.hasVersion()) {
            setVersion(other.getVersion());
          }
          if (contentBuilder_ == null) {
            if (!other.content_.isEmpty()) {
              if (content_.isEmpty()) {
                content_ = other.content_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureContentIsMutable();
                content_.addAll(other.content_);
              }
              onChanged();
            }
          } else {
            if (!other.content_.isEmpty()) {
              if (contentBuilder_.isEmpty()) {
                contentBuilder_.dispose();
                contentBuilder_ = null;
                content_ = other.content_;
                bitField0_ = (bitField0_ & ~0x00000004);
                contentBuilder_ = 
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getContentFieldBuilder() : null;
              } else {
                contentBuilder_.addAllMessages(other.content_);
              }
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasOwner()) {
            return false;
          }
          if (!hasVersion()) {
            return false;
          }
          if (!getOwner().isInitialized()) {
            return false;
          }
          for (int i = 0; i < getContentCount(); i++) {
            if (!getContent(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 {
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address owner_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder> ownerBuilder_;
        /**
         * <code>required .Address owner = 1;</code>
         * @return Whether the owner field is set.
         */
        public boolean hasOwner() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .Address owner = 1;</code>
         * @return The owner.
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address getOwner() {
          if (ownerBuilder_ == null) {
            return owner_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance() : owner_;
          } else {
            return ownerBuilder_.getMessage();
          }
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public Builder setOwner(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address value) {
          if (ownerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            owner_ = value;
            onChanged();
          } else {
            ownerBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public Builder setOwner(
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder builderForValue) {
          if (ownerBuilder_ == null) {
            owner_ = builderForValue.build();
            onChanged();
          } else {
            ownerBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public Builder mergeOwner(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address value) {
          if (ownerBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
                owner_ != null &&
                owner_ != akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance()) {
              owner_ =
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.newBuilder(owner_).mergeFrom(value).buildPartial();
            } else {
              owner_ = value;
            }
            onChanged();
          } else {
            ownerBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public Builder clearOwner() {
          if (ownerBuilder_ == null) {
            owner_ = null;
            onChanged();
          } else {
            ownerBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder getOwnerBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getOwnerFieldBuilder().getBuilder();
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getOwnerOrBuilder() {
          if (ownerBuilder_ != null) {
            return ownerBuilder_.getMessageOrBuilder();
          } else {
            return owner_ == null ?
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance() : owner_;
          }
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder> 
            getOwnerFieldBuilder() {
          if (ownerBuilder_ == null) {
            ownerBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder>(
                    getOwner(),
                    getParentForChildren(),
                    isClean());
            owner_ = null;
          }
          return ownerBuilder_;
        }

        private long version_ ;
        /**
         * <code>required int64 version = 2;</code>
         * @return Whether the version field is set.
         */
        public boolean hasVersion() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required int64 version = 2;</code>
         * @return The version.
         */
        public long getVersion() {
          return version_;
        }
        /**
         * <code>required int64 version = 2;</code>
         * @param value The version to set.
         * @return This builder for chaining.
         */
        public Builder setVersion(long value) {
          bitField0_ |= 0x00000002;
          version_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 version = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearVersion() {
          bitField0_ = (bitField0_ & ~0x00000002);
          version_ = 0L;
          onChanged();
          return this;
        }

        private java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry> content_ =
          java.util.Collections.emptyList();
        private void ensureContentIsMutable() {
          if (!((bitField0_ & 0x00000004) != 0)) {
            content_ = new java.util.ArrayList<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry>(content_);
            bitField0_ |= 0x00000004;
           }
        }

        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder> contentBuilder_;

        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry> getContentList() {
          if (contentBuilder_ == null) {
            return java.util.Collections.unmodifiableList(content_);
          } else {
            return contentBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public int getContentCount() {
          if (contentBuilder_ == null) {
            return content_.size();
          } else {
            return contentBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry getContent(int index) {
          if (contentBuilder_ == null) {
            return content_.get(index);
          } else {
            return contentBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder setContent(
            int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry value) {
          if (contentBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureContentIsMutable();
            content_.set(index, value);
            onChanged();
          } else {
            contentBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder setContent(
            int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder builderForValue) {
          if (contentBuilder_ == null) {
            ensureContentIsMutable();
            content_.set(index, builderForValue.build());
            onChanged();
          } else {
            contentBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder addContent(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry value) {
          if (contentBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureContentIsMutable();
            content_.add(value);
            onChanged();
          } else {
            contentBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder addContent(
            int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry value) {
          if (contentBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureContentIsMutable();
            content_.add(index, value);
            onChanged();
          } else {
            contentBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder addContent(
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder builderForValue) {
          if (contentBuilder_ == null) {
            ensureContentIsMutable();
            content_.add(builderForValue.build());
            onChanged();
          } else {
            contentBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder addContent(
            int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder builderForValue) {
          if (contentBuilder_ == null) {
            ensureContentIsMutable();
            content_.add(index, builderForValue.build());
            onChanged();
          } else {
            contentBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder addAllContent(
            java.lang.Iterable<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry> values) {
          if (contentBuilder_ == null) {
            ensureContentIsMutable();
            akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                values, content_);
            onChanged();
          } else {
            contentBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder clearContent() {
          if (contentBuilder_ == null) {
            content_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            contentBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder removeContent(int index) {
          if (contentBuilder_ == null) {
            ensureContentIsMutable();
            content_.remove(index);
            onChanged();
          } else {
            contentBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder getContentBuilder(
            int index) {
          return getContentFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder getContentOrBuilder(
            int index) {
          if (contentBuilder_ == null) {
            return content_.get(index);  } else {
            return contentBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public java.util.List<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder> 
             getContentOrBuilderList() {
          if (contentBuilder_ != null) {
            return contentBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(content_);
          }
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder addContentBuilder() {
          return getContentFieldBuilder().addBuilder(
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder addContentBuilder(
            int index) {
          return getContentFieldBuilder().addBuilder(
              index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder> 
             getContentBuilderList() {
          return getContentFieldBuilder().getBuilderList();
        }
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder> 
            getContentFieldBuilder() {
          if (contentBuilder_ == null) {
            contentBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder>(
                    content_,
                    ((bitField0_ & 0x00000004) != 0),
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          return contentBuilder_;
        }
        @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:Delta.Bucket)
      }

      // @@protoc_insertion_point(class_scope:Delta.Bucket)
      private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket();
      }

      public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Bucket>
          PARSER = new akka.protobufv3.internal.AbstractParser<Bucket>() {
        @java.lang.Override
        public Bucket parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return new Bucket(input, extensionRegistry);
        }
      };

      public static akka.protobufv3.internal.Parser<Bucket> parser() {
        return PARSER;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Parser<Bucket> getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int BUCKETS_FIELD_NUMBER = 1;
    private java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> buckets_;
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    public java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> getBucketsList() {
      return buckets_;
    }
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    public java.util.List<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder> 
        getBucketsOrBuilderList() {
      return buckets_;
    }
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    public int getBucketsCount() {
      return buckets_.size();
    }
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket getBuckets(int index) {
      return buckets_.get(index);
    }
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder getBucketsOrBuilder(
        int index) {
      return buckets_.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;

      for (int i = 0; i < getBucketsCount(); i++) {
        if (!getBuckets(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 {
      for (int i = 0; i < buckets_.size(); i++) {
        output.writeMessage(1, buckets_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < buckets_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, buckets_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta)) {
        return super.equals(obj);
      }
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta) obj;

      if (!getBucketsList()
          .equals(other.getBucketsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getBucketsCount() > 0) {
        hash = (37 * hash) + BUCKETS_FIELD_NUMBER;
        hash = (53 * hash) + getBucketsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta 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.pubsub.protobuf.msg.DistributedPubSubMessages.Delta prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Delta}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Delta)
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.DeltaOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Builder.class);
      }

      // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getBucketsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (bucketsBuilder_ == null) {
          buckets_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          bucketsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_descriptor;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta getDefaultInstanceForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta build() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta buildPartial() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta(this);
        int from_bitField0_ = bitField0_;
        if (bucketsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            buckets_ = java.util.Collections.unmodifiableList(buckets_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.buckets_ = buckets_;
        } else {
          result.buckets_ = bucketsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta) {
          return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta other) {
        if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.getDefaultInstance()) return this;
        if (bucketsBuilder_ == null) {
          if (!other.buckets_.isEmpty()) {
            if (buckets_.isEmpty()) {
              buckets_ = other.buckets_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureBucketsIsMutable();
              buckets_.addAll(other.buckets_);
            }
            onChanged();
          }
        } else {
          if (!other.buckets_.isEmpty()) {
            if (bucketsBuilder_.isEmpty()) {
              bucketsBuilder_.dispose();
              bucketsBuilder_ = null;
              buckets_ = other.buckets_;
              bitField0_ = (bitField0_ & ~0x00000001);
              bucketsBuilder_ = 
                akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getBucketsFieldBuilder() : null;
            } else {
              bucketsBuilder_.addAllMessages(other.buckets_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getBucketsCount(); i++) {
          if (!getBuckets(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 {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> buckets_ =
        java.util.Collections.emptyList();
      private void ensureBucketsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          buckets_ = new java.util.ArrayList<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket>(buckets_);
          bitField0_ |= 0x00000001;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder> bucketsBuilder_;

      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> getBucketsList() {
        if (bucketsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(buckets_);
        } else {
          return bucketsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public int getBucketsCount() {
        if (bucketsBuilder_ == null) {
          return buckets_.size();
        } else {
          return bucketsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket getBuckets(int index) {
        if (bucketsBuilder_ == null) {
          return buckets_.get(index);
        } else {
          return bucketsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder setBuckets(
          int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket value) {
        if (bucketsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBucketsIsMutable();
          buckets_.set(index, value);
          onChanged();
        } else {
          bucketsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder setBuckets(
          int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder builderForValue) {
        if (bucketsBuilder_ == null) {
          ensureBucketsIsMutable();
          buckets_.set(index, builderForValue.build());
          onChanged();
        } else {
          bucketsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder addBuckets(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket value) {
        if (bucketsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBucketsIsMutable();
          buckets_.add(value);
          onChanged();
        } else {
          bucketsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder addBuckets(
          int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket value) {
        if (bucketsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBucketsIsMutable();
          buckets_.add(index, value);
          onChanged();
        } else {
          bucketsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder addBuckets(
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder builderForValue) {
        if (bucketsBuilder_ == null) {
          ensureBucketsIsMutable();
          buckets_.add(builderForValue.build());
          onChanged();
        } else {
          bucketsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder addBuckets(
          int index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder builderForValue) {
        if (bucketsBuilder_ == null) {
          ensureBucketsIsMutable();
          buckets_.add(index, builderForValue.build());
          onChanged();
        } else {
          bucketsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder addAllBuckets(
          java.lang.Iterable<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> values) {
        if (bucketsBuilder_ == null) {
          ensureBucketsIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, buckets_);
          onChanged();
        } else {
          bucketsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder clearBuckets() {
        if (bucketsBuilder_ == null) {
          buckets_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          bucketsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder removeBuckets(int index) {
        if (bucketsBuilder_ == null) {
          ensureBucketsIsMutable();
          buckets_.remove(index);
          onChanged();
        } else {
          bucketsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder getBucketsBuilder(
          int index) {
        return getBucketsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder getBucketsOrBuilder(
          int index) {
        if (bucketsBuilder_ == null) {
          return buckets_.get(index);  } else {
          return bucketsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public java.util.List<? extends akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder> 
           getBucketsOrBuilderList() {
        if (bucketsBuilder_ != null) {
          return bucketsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(buckets_);
        }
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder addBucketsBuilder() {
        return getBucketsFieldBuilder().addBuilder(
            akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.getDefaultInstance());
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder addBucketsBuilder(
          int index) {
        return getBucketsFieldBuilder().addBuilder(
            index, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.getDefaultInstance());
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public java.util.List<akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder> 
           getBucketsBuilderList() {
        return getBucketsFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder> 
          getBucketsFieldBuilder() {
        if (bucketsBuilder_ == null) {
          bucketsBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder>(
                  buckets_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          buckets_ = null;
        }
        return bucketsBuilder_;
      }
      @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:Delta)
    }

    // @@protoc_insertion_point(class_scope:Delta)
    private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta();
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Delta>
        PARSER = new akka.protobufv3.internal.AbstractParser<Delta>() {
      @java.lang.Override
      public Delta parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new Delta(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<Delta> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<Delta> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Delta getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AddressOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Address)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string system = 1;</code>
     * @return Whether the system field is set.
     */
    boolean hasSystem();
    /**
     * <code>required string system = 1;</code>
     * @return The system.
     */
    java.lang.String getSystem();
    /**
     * <code>required string system = 1;</code>
     * @return The bytes for system.
     */
    akka.protobufv3.internal.ByteString
        getSystemBytes();

    /**
     * <code>required string hostname = 2;</code>
     * @return Whether the hostname field is set.
     */
    boolean hasHostname();
    /**
     * <code>required string hostname = 2;</code>
     * @return The hostname.
     */
    java.lang.String getHostname();
    /**
     * <code>required string hostname = 2;</code>
     * @return The bytes for hostname.
     */
    akka.protobufv3.internal.ByteString
        getHostnameBytes();

    /**
     * <code>required uint32 port = 3;</code>
     * @return Whether the port field is set.
     */
    boolean hasPort();
    /**
     * <code>required uint32 port = 3;</code>
     * @return The port.
     */
    int getPort();

    /**
     * <code>optional string protocol = 4;</code>
     * @return Whether the protocol field is set.
     */
    boolean hasProtocol();
    /**
     * <code>optional string protocol = 4;</code>
     * @return The protocol.
     */
    java.lang.String getProtocol();
    /**
     * <code>optional string protocol = 4;</code>
     * @return The bytes for protocol.
     */
    akka.protobufv3.internal.ByteString
        getProtocolBytes();
  }
  /**
   * <pre>
   **
   * Defines a remote address.
   * </pre>
   *
   * Protobuf type {@code Address}
   */
  public  static final class Address extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Address)
      AddressOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Address.newBuilder() to construct.
    private Address(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Address() {
      system_ = "";
      hostname_ = "";
      protocol_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new Address();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Address(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              system_ = bs;
              break;
            }
            case 18: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              hostname_ = bs;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              port_ = input.readUInt32();
              break;
            }
            case 34: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              protocol_ = bs;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Address_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Address_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder.class);
    }

    private int bitField0_;
    public static final int SYSTEM_FIELD_NUMBER = 1;
    private volatile java.lang.Object system_;
    /**
     * <code>required string system = 1;</code>
     * @return Whether the system field is set.
     */
    public boolean hasSystem() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string system = 1;</code>
     * @return The system.
     */
    public java.lang.String getSystem() {
      java.lang.Object ref = system_;
      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()) {
          system_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string system = 1;</code>
     * @return The bytes for system.
     */
    public akka.protobufv3.internal.ByteString
        getSystemBytes() {
      java.lang.Object ref = system_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        system_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int HOSTNAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object hostname_;
    /**
     * <code>required string hostname = 2;</code>
     * @return Whether the hostname field is set.
     */
    public boolean hasHostname() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string hostname = 2;</code>
     * @return The hostname.
     */
    public java.lang.String getHostname() {
      java.lang.Object ref = hostname_;
      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()) {
          hostname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string hostname = 2;</code>
     * @return The bytes for hostname.
     */
    public akka.protobufv3.internal.ByteString
        getHostnameBytes() {
      java.lang.Object ref = hostname_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hostname_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int PORT_FIELD_NUMBER = 3;
    private int port_;
    /**
     * <code>required uint32 port = 3;</code>
     * @return Whether the port field is set.
     */
    public boolean hasPort() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required uint32 port = 3;</code>
     * @return The port.
     */
    public int getPort() {
      return port_;
    }

    public static final int PROTOCOL_FIELD_NUMBER = 4;
    private volatile java.lang.Object protocol_;
    /**
     * <code>optional string protocol = 4;</code>
     * @return Whether the protocol field is set.
     */
    public boolean hasProtocol() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional string protocol = 4;</code>
     * @return The protocol.
     */
    public java.lang.String getProtocol() {
      java.lang.Object ref = protocol_;
      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()) {
          protocol_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string protocol = 4;</code>
     * @return The bytes for protocol.
     */
    public akka.protobufv3.internal.ByteString
        getProtocolBytes() {
      java.lang.Object ref = protocol_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        protocol_ = 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 (!hasSystem()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasHostname()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPort()) {
        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, system_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, hostname_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, port_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 4, protocol_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, system_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, hostname_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeUInt32Size(3, port_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(4, protocol_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address)) {
        return super.equals(obj);
      }
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address) obj;

      if (hasSystem() != other.hasSystem()) return false;
      if (hasSystem()) {
        if (!getSystem()
            .equals(other.getSystem())) return false;
      }
      if (hasHostname() != other.hasHostname()) return false;
      if (hasHostname()) {
        if (!getHostname()
            .equals(other.getHostname())) return false;
      }
      if (hasPort() != other.hasPort()) return false;
      if (hasPort()) {
        if (getPort()
            != other.getPort()) return false;
      }
      if (hasProtocol() != other.hasProtocol()) return false;
      if (hasProtocol()) {
        if (!getProtocol()
            .equals(other.getProtocol())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSystem()) {
        hash = (37 * hash) + SYSTEM_FIELD_NUMBER;
        hash = (53 * hash) + getSystem().hashCode();
      }
      if (hasHostname()) {
        hash = (37 * hash) + HOSTNAME_FIELD_NUMBER;
        hash = (53 * hash) + getHostname().hashCode();
      }
      if (hasPort()) {
        hash = (37 * hash) + PORT_FIELD_NUMBER;
        hash = (53 * hash) + getPort();
      }
      if (hasProtocol()) {
        hash = (37 * hash) + PROTOCOL_FIELD_NUMBER;
        hash = (53 * hash) + getProtocol().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address 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.pubsub.protobuf.msg.DistributedPubSubMessages.Address parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address 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.pubsub.protobuf.msg.DistributedPubSubMessages.Address parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address 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.pubsub.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address 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.pubsub.protobuf.msg.DistributedPubSubMessages.Address 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>
     **
     * Defines a remote address.
     * </pre>
     *
     * Protobuf type {@code Address}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Address)
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Address_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Address_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.Builder.class);
      }

      // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        system_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        hostname_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        port_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        protocol_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Address_descriptor;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address getDefaultInstanceForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address build() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address buildPartial() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.system_ = system_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.hostname_ = hostname_;
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.port_ = port_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          to_bitField0_ |= 0x00000008;
        }
        result.protocol_ = protocol_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address) {
          return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address other) {
        if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance()) return this;
        if (other.hasSystem()) {
          bitField0_ |= 0x00000001;
          system_ = other.system_;
          onChanged();
        }
        if (other.hasHostname()) {
          bitField0_ |= 0x00000002;
          hostname_ = other.hostname_;
          onChanged();
        }
        if (other.hasPort()) {
          setPort(other.getPort());
        }
        if (other.hasProtocol()) {
          bitField0_ |= 0x00000008;
          protocol_ = other.protocol_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasSystem()) {
          return false;
        }
        if (!hasHostname()) {
          return false;
        }
        if (!hasPort()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object system_ = "";
      /**
       * <code>required string system = 1;</code>
       * @return Whether the system field is set.
       */
      public boolean hasSystem() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string system = 1;</code>
       * @return The system.
       */
      public java.lang.String getSystem() {
        java.lang.Object ref = system_;
        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()) {
            system_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string system = 1;</code>
       * @return The bytes for system.
       */
      public akka.protobufv3.internal.ByteString
          getSystemBytes() {
        java.lang.Object ref = system_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          system_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string system = 1;</code>
       * @param value The system to set.
       * @return This builder for chaining.
       */
      public Builder setSystem(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        system_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string system = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSystem() {
        bitField0_ = (bitField0_ & ~0x00000001);
        system_ = getDefaultInstance().getSystem();
        onChanged();
        return this;
      }
      /**
       * <code>required string system = 1;</code>
       * @param value The bytes for system to set.
       * @return This builder for chaining.
       */
      public Builder setSystemBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        system_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object hostname_ = "";
      /**
       * <code>required string hostname = 2;</code>
       * @return Whether the hostname field is set.
       */
      public boolean hasHostname() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string hostname = 2;</code>
       * @return The hostname.
       */
      public java.lang.String getHostname() {
        java.lang.Object ref = hostname_;
        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()) {
            hostname_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string hostname = 2;</code>
       * @return The bytes for hostname.
       */
      public akka.protobufv3.internal.ByteString
          getHostnameBytes() {
        java.lang.Object ref = hostname_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hostname_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string hostname = 2;</code>
       * @param value The hostname to set.
       * @return This builder for chaining.
       */
      public Builder setHostname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        hostname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string hostname = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearHostname() {
        bitField0_ = (bitField0_ & ~0x00000002);
        hostname_ = getDefaultInstance().getHostname();
        onChanged();
        return this;
      }
      /**
       * <code>required string hostname = 2;</code>
       * @param value The bytes for hostname to set.
       * @return This builder for chaining.
       */
      public Builder setHostnameBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        hostname_ = value;
        onChanged();
        return this;
      }

      private int port_ ;
      /**
       * <code>required uint32 port = 3;</code>
       * @return Whether the port field is set.
       */
      public boolean hasPort() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required uint32 port = 3;</code>
       * @return The port.
       */
      public int getPort() {
        return port_;
      }
      /**
       * <code>required uint32 port = 3;</code>
       * @param value The port to set.
       * @return This builder for chaining.
       */
      public Builder setPort(int value) {
        bitField0_ |= 0x00000004;
        port_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint32 port = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearPort() {
        bitField0_ = (bitField0_ & ~0x00000004);
        port_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object protocol_ = "";
      /**
       * <code>optional string protocol = 4;</code>
       * @return Whether the protocol field is set.
       */
      public boolean hasProtocol() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional string protocol = 4;</code>
       * @return The protocol.
       */
      public java.lang.String getProtocol() {
        java.lang.Object ref = protocol_;
        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()) {
            protocol_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string protocol = 4;</code>
       * @return The bytes for protocol.
       */
      public akka.protobufv3.internal.ByteString
          getProtocolBytes() {
        java.lang.Object ref = protocol_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          protocol_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>optional string protocol = 4;</code>
       * @param value The protocol to set.
       * @return This builder for chaining.
       */
      public Builder setProtocol(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        protocol_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string protocol = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearProtocol() {
        bitField0_ = (bitField0_ & ~0x00000008);
        protocol_ = getDefaultInstance().getProtocol();
        onChanged();
        return this;
      }
      /**
       * <code>optional string protocol = 4;</code>
       * @param value The bytes for protocol to set.
       * @return This builder for chaining.
       */
      public Builder setProtocolBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        protocol_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:Address)
    }

    // @@protoc_insertion_point(class_scope:Address)
    private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address();
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Address>
        PARSER = new akka.protobufv3.internal.AbstractParser<Address>() {
      @java.lang.Override
      public Address parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new Address(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<Address> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<Address> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Address getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SendOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Send)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string path = 1;</code>
     * @return Whether the path field is set.
     */
    boolean hasPath();
    /**
     * <code>required string path = 1;</code>
     * @return The path.
     */
    java.lang.String getPath();
    /**
     * <code>required string path = 1;</code>
     * @return The bytes for path.
     */
    akka.protobufv3.internal.ByteString
        getPathBytes();

    /**
     * <code>required bool localAffinity = 2;</code>
     * @return Whether the localAffinity field is set.
     */
    boolean hasLocalAffinity();
    /**
     * <code>required bool localAffinity = 2;</code>
     * @return The localAffinity.
     */
    boolean getLocalAffinity();

    /**
     * <code>required .Payload payload = 3;</code>
     * @return Whether the payload field is set.
     */
    boolean hasPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     * @return The payload.
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder();
  }
  /**
   * <pre>
   **
   * Send normally local, but it is also used by the ClusterClient.
   * </pre>
   *
   * Protobuf type {@code Send}
   */
  public  static final class Send extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Send)
      SendOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Send.newBuilder() to construct.
    private Send(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Send() {
      path_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new Send();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Send(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              path_ = bs;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              localAffinity_ = input.readBool();
              break;
            }
            case 26: {
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) != 0)) {
                subBuilder = payload_.toBuilder();
              }
              payload_ = input.readMessage(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(payload_);
                payload_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Send_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Send_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send.Builder.class);
    }

    private int bitField0_;
    public static final int PATH_FIELD_NUMBER = 1;
    private volatile java.lang.Object path_;
    /**
     * <code>required string path = 1;</code>
     * @return Whether the path field is set.
     */
    public boolean hasPath() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string path = 1;</code>
     * @return The path.
     */
    public java.lang.String getPath() {
      java.lang.Object ref = path_;
      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()) {
          path_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string path = 1;</code>
     * @return The bytes for path.
     */
    public akka.protobufv3.internal.ByteString
        getPathBytes() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        path_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int LOCALAFFINITY_FIELD_NUMBER = 2;
    private boolean localAffinity_;
    /**
     * <code>required bool localAffinity = 2;</code>
     * @return Whether the localAffinity field is set.
     */
    public boolean hasLocalAffinity() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required bool localAffinity = 2;</code>
     * @return The localAffinity.
     */
    public boolean getLocalAffinity() {
      return localAffinity_;
    }

    public static final int PAYLOAD_FIELD_NUMBER = 3;
    private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload payload_;
    /**
     * <code>required .Payload payload = 3;</code>
     * @return Whether the payload field is set.
     */
    public boolean hasPayload() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required .Payload payload = 3;</code>
     * @return The payload.
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
      return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
    }
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
      return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
    }

    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 (!hasPath()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasLocalAffinity()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPayload()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getPayload().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, path_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeBool(2, localAffinity_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getPayload());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, path_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBoolSize(2, localAffinity_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(3, getPayload());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send)) {
        return super.equals(obj);
      }
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send) obj;

      if (hasPath() != other.hasPath()) return false;
      if (hasPath()) {
        if (!getPath()
            .equals(other.getPath())) return false;
      }
      if (hasLocalAffinity() != other.hasLocalAffinity()) return false;
      if (hasLocalAffinity()) {
        if (getLocalAffinity()
            != other.getLocalAffinity()) return false;
      }
      if (hasPayload() != other.hasPayload()) return false;
      if (hasPayload()) {
        if (!getPayload()
            .equals(other.getPayload())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasPath()) {
        hash = (37 * hash) + PATH_FIELD_NUMBER;
        hash = (53 * hash) + getPath().hashCode();
      }
      if (hasLocalAffinity()) {
        hash = (37 * hash) + LOCALAFFINITY_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
            getLocalAffinity());
      }
      if (hasPayload()) {
        hash = (37 * hash) + PAYLOAD_FIELD_NUMBER;
        hash = (53 * hash) + getPayload().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send 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.pubsub.protobuf.msg.DistributedPubSubMessages.Send parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send 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.pubsub.protobuf.msg.DistributedPubSubMessages.Send parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send 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.pubsub.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send 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.pubsub.protobuf.msg.DistributedPubSubMessages.Send 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>
     **
     * Send normally local, but it is also used by the ClusterClient.
     * </pre>
     *
     * Protobuf type {@code Send}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Send)
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Send_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Send_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send.Builder.class);
      }

      // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getPayloadFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        path_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        localAffinity_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (payloadBuilder_ == null) {
          payload_ = null;
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Send_descriptor;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send getDefaultInstanceForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send build() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send buildPartial() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.path_ = path_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.localAffinity_ = localAffinity_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          if (payloadBuilder_ == null) {
            result.payload_ = payload_;
          } else {
            result.payload_ = payloadBuilder_.build();
          }
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send) {
          return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send other) {
        if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send.getDefaultInstance()) return this;
        if (other.hasPath()) {
          bitField0_ |= 0x00000001;
          path_ = other.path_;
          onChanged();
        }
        if (other.hasLocalAffinity()) {
          setLocalAffinity(other.getLocalAffinity());
        }
        if (other.hasPayload()) {
          mergePayload(other.getPayload());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasPath()) {
          return false;
        }
        if (!hasLocalAffinity()) {
          return false;
        }
        if (!hasPayload()) {
          return false;
        }
        if (!getPayload().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object path_ = "";
      /**
       * <code>required string path = 1;</code>
       * @return Whether the path field is set.
       */
      public boolean hasPath() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string path = 1;</code>
       * @return The path.
       */
      public java.lang.String getPath() {
        java.lang.Object ref = path_;
        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()) {
            path_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string path = 1;</code>
       * @return The bytes for path.
       */
      public akka.protobufv3.internal.ByteString
          getPathBytes() {
        java.lang.Object ref = path_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          path_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string path = 1;</code>
       * @param value The path to set.
       * @return This builder for chaining.
       */
      public Builder setPath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        path_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearPath() {
        bitField0_ = (bitField0_ & ~0x00000001);
        path_ = getDefaultInstance().getPath();
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 1;</code>
       * @param value The bytes for path to set.
       * @return This builder for chaining.
       */
      public Builder setPathBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        path_ = value;
        onChanged();
        return this;
      }

      private boolean localAffinity_ ;
      /**
       * <code>required bool localAffinity = 2;</code>
       * @return Whether the localAffinity field is set.
       */
      public boolean hasLocalAffinity() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required bool localAffinity = 2;</code>
       * @return The localAffinity.
       */
      public boolean getLocalAffinity() {
        return localAffinity_;
      }
      /**
       * <code>required bool localAffinity = 2;</code>
       * @param value The localAffinity to set.
       * @return This builder for chaining.
       */
      public Builder setLocalAffinity(boolean value) {
        bitField0_ |= 0x00000002;
        localAffinity_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bool localAffinity = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearLocalAffinity() {
        bitField0_ = (bitField0_ & ~0x00000002);
        localAffinity_ = false;
        onChanged();
        return this;
      }

      private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload payload_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> payloadBuilder_;
      /**
       * <code>required .Payload payload = 3;</code>
       * @return Whether the payload field is set.
       */
      public boolean hasPayload() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required .Payload payload = 3;</code>
       * @return The payload.
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
        if (payloadBuilder_ == null) {
          return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
        } else {
          return payloadBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          payload_ = value;
          onChanged();
        } else {
          payloadBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder builderForValue) {
        if (payloadBuilder_ == null) {
          payload_ = builderForValue.build();
          onChanged();
        } else {
          payloadBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder mergePayload(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
              payload_ != null &&
              payload_ != akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance()) {
            payload_ =
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.newBuilder(payload_).mergeFrom(value).buildPartial();
          } else {
            payload_ = value;
          }
          onChanged();
        } else {
          payloadBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder clearPayload() {
        if (payloadBuilder_ == null) {
          payload_ = null;
          onChanged();
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder getPayloadBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getPayloadFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
        if (payloadBuilder_ != null) {
          return payloadBuilder_.getMessageOrBuilder();
        } else {
          return payload_ == null ?
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> 
          getPayloadFieldBuilder() {
        if (payloadBuilder_ == null) {
          payloadBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder>(
                  getPayload(),
                  getParentForChildren(),
                  isClean());
          payload_ = null;
        }
        return payloadBuilder_;
      }
      @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:Send)
    }

    // @@protoc_insertion_point(class_scope:Send)
    private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send();
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Send>
        PARSER = new akka.protobufv3.internal.AbstractParser<Send>() {
      @java.lang.Override
      public Send parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new Send(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<Send> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<Send> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Send getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SendToAllOrBuilder extends
      // @@protoc_insertion_point(interface_extends:SendToAll)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string path = 1;</code>
     * @return Whether the path field is set.
     */
    boolean hasPath();
    /**
     * <code>required string path = 1;</code>
     * @return The path.
     */
    java.lang.String getPath();
    /**
     * <code>required string path = 1;</code>
     * @return The bytes for path.
     */
    akka.protobufv3.internal.ByteString
        getPathBytes();

    /**
     * <code>required bool allButSelf = 2;</code>
     * @return Whether the allButSelf field is set.
     */
    boolean hasAllButSelf();
    /**
     * <code>required bool allButSelf = 2;</code>
     * @return The allButSelf.
     */
    boolean getAllButSelf();

    /**
     * <code>required .Payload payload = 3;</code>
     * @return Whether the payload field is set.
     */
    boolean hasPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     * @return The payload.
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder();
  }
  /**
   * <pre>
   **
   * SendToAll normally local, but it is also used by the ClusterClient.
   * </pre>
   *
   * Protobuf type {@code SendToAll}
   */
  public  static final class SendToAll extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:SendToAll)
      SendToAllOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SendToAll.newBuilder() to construct.
    private SendToAll(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SendToAll() {
      path_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new SendToAll();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SendToAll(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              path_ = bs;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              allButSelf_ = input.readBool();
              break;
            }
            case 26: {
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) != 0)) {
                subBuilder = payload_.toBuilder();
              }
              payload_ = input.readMessage(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(payload_);
                payload_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_SendToAll_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_SendToAll_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll.Builder.class);
    }

    private int bitField0_;
    public static final int PATH_FIELD_NUMBER = 1;
    private volatile java.lang.Object path_;
    /**
     * <code>required string path = 1;</code>
     * @return Whether the path field is set.
     */
    public boolean hasPath() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string path = 1;</code>
     * @return The path.
     */
    public java.lang.String getPath() {
      java.lang.Object ref = path_;
      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()) {
          path_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string path = 1;</code>
     * @return The bytes for path.
     */
    public akka.protobufv3.internal.ByteString
        getPathBytes() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        path_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int ALLBUTSELF_FIELD_NUMBER = 2;
    private boolean allButSelf_;
    /**
     * <code>required bool allButSelf = 2;</code>
     * @return Whether the allButSelf field is set.
     */
    public boolean hasAllButSelf() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required bool allButSelf = 2;</code>
     * @return The allButSelf.
     */
    public boolean getAllButSelf() {
      return allButSelf_;
    }

    public static final int PAYLOAD_FIELD_NUMBER = 3;
    private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload payload_;
    /**
     * <code>required .Payload payload = 3;</code>
     * @return Whether the payload field is set.
     */
    public boolean hasPayload() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required .Payload payload = 3;</code>
     * @return The payload.
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
      return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
    }
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
      return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
    }

    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 (!hasPath()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasAllButSelf()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPayload()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getPayload().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, path_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeBool(2, allButSelf_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getPayload());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, path_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBoolSize(2, allButSelf_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(3, getPayload());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll)) {
        return super.equals(obj);
      }
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll) obj;

      if (hasPath() != other.hasPath()) return false;
      if (hasPath()) {
        if (!getPath()
            .equals(other.getPath())) return false;
      }
      if (hasAllButSelf() != other.hasAllButSelf()) return false;
      if (hasAllButSelf()) {
        if (getAllButSelf()
            != other.getAllButSelf()) return false;
      }
      if (hasPayload() != other.hasPayload()) return false;
      if (hasPayload()) {
        if (!getPayload()
            .equals(other.getPayload())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasPath()) {
        hash = (37 * hash) + PATH_FIELD_NUMBER;
        hash = (53 * hash) + getPath().hashCode();
      }
      if (hasAllButSelf()) {
        hash = (37 * hash) + ALLBUTSELF_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
            getAllButSelf());
      }
      if (hasPayload()) {
        hash = (37 * hash) + PAYLOAD_FIELD_NUMBER;
        hash = (53 * hash) + getPayload().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll 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.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll 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.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll 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.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll 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.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll 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>
     **
     * SendToAll normally local, but it is also used by the ClusterClient.
     * </pre>
     *
     * Protobuf type {@code SendToAll}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:SendToAll)
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAllOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_SendToAll_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_SendToAll_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll.Builder.class);
      }

      // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getPayloadFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        path_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        allButSelf_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (payloadBuilder_ == null) {
          payload_ = null;
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_SendToAll_descriptor;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll getDefaultInstanceForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll build() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll buildPartial() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.path_ = path_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.allButSelf_ = allButSelf_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          if (payloadBuilder_ == null) {
            result.payload_ = payload_;
          } else {
            result.payload_ = payloadBuilder_.build();
          }
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll) {
          return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll other) {
        if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll.getDefaultInstance()) return this;
        if (other.hasPath()) {
          bitField0_ |= 0x00000001;
          path_ = other.path_;
          onChanged();
        }
        if (other.hasAllButSelf()) {
          setAllButSelf(other.getAllButSelf());
        }
        if (other.hasPayload()) {
          mergePayload(other.getPayload());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasPath()) {
          return false;
        }
        if (!hasAllButSelf()) {
          return false;
        }
        if (!hasPayload()) {
          return false;
        }
        if (!getPayload().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object path_ = "";
      /**
       * <code>required string path = 1;</code>
       * @return Whether the path field is set.
       */
      public boolean hasPath() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string path = 1;</code>
       * @return The path.
       */
      public java.lang.String getPath() {
        java.lang.Object ref = path_;
        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()) {
            path_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string path = 1;</code>
       * @return The bytes for path.
       */
      public akka.protobufv3.internal.ByteString
          getPathBytes() {
        java.lang.Object ref = path_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          path_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string path = 1;</code>
       * @param value The path to set.
       * @return This builder for chaining.
       */
      public Builder setPath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        path_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearPath() {
        bitField0_ = (bitField0_ & ~0x00000001);
        path_ = getDefaultInstance().getPath();
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 1;</code>
       * @param value The bytes for path to set.
       * @return This builder for chaining.
       */
      public Builder setPathBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        path_ = value;
        onChanged();
        return this;
      }

      private boolean allButSelf_ ;
      /**
       * <code>required bool allButSelf = 2;</code>
       * @return Whether the allButSelf field is set.
       */
      public boolean hasAllButSelf() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required bool allButSelf = 2;</code>
       * @return The allButSelf.
       */
      public boolean getAllButSelf() {
        return allButSelf_;
      }
      /**
       * <code>required bool allButSelf = 2;</code>
       * @param value The allButSelf to set.
       * @return This builder for chaining.
       */
      public Builder setAllButSelf(boolean value) {
        bitField0_ |= 0x00000002;
        allButSelf_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bool allButSelf = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAllButSelf() {
        bitField0_ = (bitField0_ & ~0x00000002);
        allButSelf_ = false;
        onChanged();
        return this;
      }

      private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload payload_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> payloadBuilder_;
      /**
       * <code>required .Payload payload = 3;</code>
       * @return Whether the payload field is set.
       */
      public boolean hasPayload() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required .Payload payload = 3;</code>
       * @return The payload.
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
        if (payloadBuilder_ == null) {
          return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
        } else {
          return payloadBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          payload_ = value;
          onChanged();
        } else {
          payloadBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder builderForValue) {
        if (payloadBuilder_ == null) {
          payload_ = builderForValue.build();
          onChanged();
        } else {
          payloadBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder mergePayload(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
              payload_ != null &&
              payload_ != akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance()) {
            payload_ =
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.newBuilder(payload_).mergeFrom(value).buildPartial();
          } else {
            payload_ = value;
          }
          onChanged();
        } else {
          payloadBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder clearPayload() {
        if (payloadBuilder_ == null) {
          payload_ = null;
          onChanged();
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder getPayloadBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getPayloadFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
        if (payloadBuilder_ != null) {
          return payloadBuilder_.getMessageOrBuilder();
        } else {
          return payload_ == null ?
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> 
          getPayloadFieldBuilder() {
        if (payloadBuilder_ == null) {
          payloadBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder>(
                  getPayload(),
                  getParentForChildren(),
                  isClean());
          payload_ = null;
        }
        return payloadBuilder_;
      }
      @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:SendToAll)
    }

    // @@protoc_insertion_point(class_scope:SendToAll)
    private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll();
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<SendToAll>
        PARSER = new akka.protobufv3.internal.AbstractParser<SendToAll>() {
      @java.lang.Override
      public SendToAll parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new SendToAll(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<SendToAll> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<SendToAll> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToAll getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PublishOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Publish)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string topic = 1;</code>
     * @return Whether the topic field is set.
     */
    boolean hasTopic();
    /**
     * <code>required string topic = 1;</code>
     * @return The topic.
     */
    java.lang.String getTopic();
    /**
     * <code>required string topic = 1;</code>
     * @return The bytes for topic.
     */
    akka.protobufv3.internal.ByteString
        getTopicBytes();

    /**
     * <code>required .Payload payload = 3;</code>
     * @return Whether the payload field is set.
     */
    boolean hasPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     * @return The payload.
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder();
  }
  /**
   * <pre>
   **
   * Publish normally local, but it is also used by the ClusterClient.
   * </pre>
   *
   * Protobuf type {@code Publish}
   */
  public  static final class Publish extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Publish)
      PublishOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Publish.newBuilder() to construct.
    private Publish(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Publish() {
      topic_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new Publish();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Publish(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              topic_ = bs;
              break;
            }
            case 26: {
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) != 0)) {
                subBuilder = payload_.toBuilder();
              }
              payload_ = input.readMessage(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(payload_);
                payload_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Publish_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Publish_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish.Builder.class);
    }

    private int bitField0_;
    public static final int TOPIC_FIELD_NUMBER = 1;
    private volatile java.lang.Object topic_;
    /**
     * <code>required string topic = 1;</code>
     * @return Whether the topic field is set.
     */
    public boolean hasTopic() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string topic = 1;</code>
     * @return The topic.
     */
    public java.lang.String getTopic() {
      java.lang.Object ref = topic_;
      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()) {
          topic_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string topic = 1;</code>
     * @return The bytes for topic.
     */
    public akka.protobufv3.internal.ByteString
        getTopicBytes() {
      java.lang.Object ref = topic_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        topic_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int PAYLOAD_FIELD_NUMBER = 3;
    private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload payload_;
    /**
     * <code>required .Payload payload = 3;</code>
     * @return Whether the payload field is set.
     */
    public boolean hasPayload() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .Payload payload = 3;</code>
     * @return The payload.
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
      return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
    }
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
      return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
    }

    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 (!hasTopic()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPayload()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getPayload().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, topic_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(3, getPayload());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, topic_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(3, getPayload());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish)) {
        return super.equals(obj);
      }
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish) obj;

      if (hasTopic() != other.hasTopic()) return false;
      if (hasTopic()) {
        if (!getTopic()
            .equals(other.getTopic())) return false;
      }
      if (hasPayload() != other.hasPayload()) return false;
      if (hasPayload()) {
        if (!getPayload()
            .equals(other.getPayload())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTopic()) {
        hash = (37 * hash) + TOPIC_FIELD_NUMBER;
        hash = (53 * hash) + getTopic().hashCode();
      }
      if (hasPayload()) {
        hash = (37 * hash) + PAYLOAD_FIELD_NUMBER;
        hash = (53 * hash) + getPayload().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish 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.pubsub.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish 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.pubsub.protobuf.msg.DistributedPubSubMessages.Publish parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish 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.pubsub.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish 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.pubsub.protobuf.msg.DistributedPubSubMessages.Publish 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>
     **
     * Publish normally local, but it is also used by the ClusterClient.
     * </pre>
     *
     * Protobuf type {@code Publish}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Publish)
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PublishOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Publish_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Publish_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish.Builder.class);
      }

      // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getPayloadFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        topic_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (payloadBuilder_ == null) {
          payload_ = null;
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Publish_descriptor;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish getDefaultInstanceForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish build() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish buildPartial() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.topic_ = topic_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (payloadBuilder_ == null) {
            result.payload_ = payload_;
          } else {
            result.payload_ = payloadBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish) {
          return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish other) {
        if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish.getDefaultInstance()) return this;
        if (other.hasTopic()) {
          bitField0_ |= 0x00000001;
          topic_ = other.topic_;
          onChanged();
        }
        if (other.hasPayload()) {
          mergePayload(other.getPayload());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasTopic()) {
          return false;
        }
        if (!hasPayload()) {
          return false;
        }
        if (!getPayload().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object topic_ = "";
      /**
       * <code>required string topic = 1;</code>
       * @return Whether the topic field is set.
       */
      public boolean hasTopic() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string topic = 1;</code>
       * @return The topic.
       */
      public java.lang.String getTopic() {
        java.lang.Object ref = topic_;
        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()) {
            topic_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string topic = 1;</code>
       * @return The bytes for topic.
       */
      public akka.protobufv3.internal.ByteString
          getTopicBytes() {
        java.lang.Object ref = topic_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          topic_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string topic = 1;</code>
       * @param value The topic to set.
       * @return This builder for chaining.
       */
      public Builder setTopic(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        topic_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string topic = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTopic() {
        bitField0_ = (bitField0_ & ~0x00000001);
        topic_ = getDefaultInstance().getTopic();
        onChanged();
        return this;
      }
      /**
       * <code>required string topic = 1;</code>
       * @param value The bytes for topic to set.
       * @return This builder for chaining.
       */
      public Builder setTopicBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        topic_ = value;
        onChanged();
        return this;
      }

      private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload payload_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> payloadBuilder_;
      /**
       * <code>required .Payload payload = 3;</code>
       * @return Whether the payload field is set.
       */
      public boolean hasPayload() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .Payload payload = 3;</code>
       * @return The payload.
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
        if (payloadBuilder_ == null) {
          return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
        } else {
          return payloadBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          payload_ = value;
          onChanged();
        } else {
          payloadBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder builderForValue) {
        if (payloadBuilder_ == null) {
          payload_ = builderForValue.build();
          onChanged();
        } else {
          payloadBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder mergePayload(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
              payload_ != null &&
              payload_ != akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance()) {
            payload_ =
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.newBuilder(payload_).mergeFrom(value).buildPartial();
          } else {
            payload_ = value;
          }
          onChanged();
        } else {
          payloadBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder clearPayload() {
        if (payloadBuilder_ == null) {
          payload_ = null;
          onChanged();
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder getPayloadBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getPayloadFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
        if (payloadBuilder_ != null) {
          return payloadBuilder_.getMessageOrBuilder();
        } else {
          return payload_ == null ?
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> 
          getPayloadFieldBuilder() {
        if (payloadBuilder_ == null) {
          payloadBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder>(
                  getPayload(),
                  getParentForChildren(),
                  isClean());
          payload_ = null;
        }
        return payloadBuilder_;
      }
      @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:Publish)
    }

    // @@protoc_insertion_point(class_scope:Publish)
    private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish();
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Publish>
        PARSER = new akka.protobufv3.internal.AbstractParser<Publish>() {
      @java.lang.Override
      public Publish parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new Publish(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<Publish> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<Publish> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Publish getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SendToOneSubscriberOrBuilder extends
      // @@protoc_insertion_point(interface_extends:SendToOneSubscriber)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .Payload payload = 1;</code>
     * @return Whether the payload field is set.
     */
    boolean hasPayload();
    /**
     * <code>required .Payload payload = 1;</code>
     * @return The payload.
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload();
    /**
     * <code>required .Payload payload = 1;</code>
     */
    akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder();
  }
  /**
   * <pre>
   **
   * Send a message to only one subscriber of a group.
   * </pre>
   *
   * Protobuf type {@code SendToOneSubscriber}
   */
  public  static final class SendToOneSubscriber extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:SendToOneSubscriber)
      SendToOneSubscriberOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SendToOneSubscriber.newBuilder() to construct.
    private SendToOneSubscriber(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SendToOneSubscriber() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new SendToOneSubscriber();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SendToOneSubscriber(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = payload_.toBuilder();
              }
              payload_ = input.readMessage(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(payload_);
                payload_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_SendToOneSubscriber_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_SendToOneSubscriber_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber.Builder.class);
    }

    private int bitField0_;
    public static final int PAYLOAD_FIELD_NUMBER = 1;
    private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload payload_;
    /**
     * <code>required .Payload payload = 1;</code>
     * @return Whether the payload field is set.
     */
    public boolean hasPayload() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .Payload payload = 1;</code>
     * @return The payload.
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
      return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
    }
    /**
     * <code>required .Payload payload = 1;</code>
     */
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
      return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
    }

    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 (!hasPayload()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getPayload().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getPayload());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getPayload());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber)) {
        return super.equals(obj);
      }
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber) obj;

      if (hasPayload() != other.hasPayload()) return false;
      if (hasPayload()) {
        if (!getPayload()
            .equals(other.getPayload())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasPayload()) {
        hash = (37 * hash) + PAYLOAD_FIELD_NUMBER;
        hash = (53 * hash) + getPayload().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber 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.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber 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.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber 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.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber 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.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber 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>
     **
     * Send a message to only one subscriber of a group.
     * </pre>
     *
     * Protobuf type {@code SendToOneSubscriber}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:SendToOneSubscriber)
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriberOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_SendToOneSubscriber_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_SendToOneSubscriber_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber.Builder.class);
      }

      // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getPayloadFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (payloadBuilder_ == null) {
          payload_ = null;
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_SendToOneSubscriber_descriptor;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber getDefaultInstanceForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber build() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber buildPartial() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (payloadBuilder_ == null) {
            result.payload_ = payload_;
          } else {
            result.payload_ = payloadBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber) {
          return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber other) {
        if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber.getDefaultInstance()) return this;
        if (other.hasPayload()) {
          mergePayload(other.getPayload());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasPayload()) {
          return false;
        }
        if (!getPayload().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload payload_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> payloadBuilder_;
      /**
       * <code>required .Payload payload = 1;</code>
       * @return Whether the payload field is set.
       */
      public boolean hasPayload() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .Payload payload = 1;</code>
       * @return The payload.
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
        if (payloadBuilder_ == null) {
          return payload_ == null ? akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
        } else {
          return payloadBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload payload = 1;</code>
       */
      public Builder setPayload(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          payload_ = value;
          onChanged();
        } else {
          payloadBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Payload payload = 1;</code>
       */
      public Builder setPayload(
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder builderForValue) {
        if (payloadBuilder_ == null) {
          payload_ = builderForValue.build();
          onChanged();
        } else {
          payloadBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Payload payload = 1;</code>
       */
      public Builder mergePayload(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              payload_ != null &&
              payload_ != akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance()) {
            payload_ =
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.newBuilder(payload_).mergeFrom(value).buildPartial();
          } else {
            payload_ = value;
          }
          onChanged();
        } else {
          payloadBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Payload payload = 1;</code>
       */
      public Builder clearPayload() {
        if (payloadBuilder_ == null) {
          payload_ = null;
          onChanged();
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .Payload payload = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder getPayloadBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getPayloadFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload payload = 1;</code>
       */
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
        if (payloadBuilder_ != null) {
          return payloadBuilder_.getMessageOrBuilder();
        } else {
          return payload_ == null ?
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance() : payload_;
        }
      }
      /**
       * <code>required .Payload payload = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> 
          getPayloadFieldBuilder() {
        if (payloadBuilder_ == null) {
          payloadBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder>(
                  getPayload(),
                  getParentForChildren(),
                  isClean());
          payload_ = null;
        }
        return payloadBuilder_;
      }
      @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:SendToOneSubscriber)
    }

    // @@protoc_insertion_point(class_scope:SendToOneSubscriber)
    private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber();
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<SendToOneSubscriber>
        PARSER = new akka.protobufv3.internal.AbstractParser<SendToOneSubscriber>() {
      @java.lang.Override
      public SendToOneSubscriber parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new SendToOneSubscriber(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<SendToOneSubscriber> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<SendToOneSubscriber> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.SendToOneSubscriber getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PayloadOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Payload)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return Whether the enclosedMessage field is set.
     */
    boolean hasEnclosedMessage();
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return The enclosedMessage.
     */
    akka.protobufv3.internal.ByteString getEnclosedMessage();

    /**
     * <code>required int32 serializerId = 2;</code>
     * @return Whether the serializerId field is set.
     */
    boolean hasSerializerId();
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return The serializerId.
     */
    int getSerializerId();

    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return Whether the messageManifest field is set.
     */
    boolean hasMessageManifest();
    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return The messageManifest.
     */
    akka.protobufv3.internal.ByteString getMessageManifest();
  }
  /**
   * Protobuf type {@code Payload}
   */
  public  static final class Payload extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Payload)
      PayloadOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Payload.newBuilder() to construct.
    private Payload(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Payload() {
      enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
      messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new Payload();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Payload(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              bitField0_ |= 0x00000001;
              enclosedMessage_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              serializerId_ = input.readInt32();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000004;
              messageManifest_ = input.readBytes();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Payload_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Payload_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder.class);
    }

    private int bitField0_;
    public static final int ENCLOSEDMESSAGE_FIELD_NUMBER = 1;
    private akka.protobufv3.internal.ByteString enclosedMessage_;
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return Whether the enclosedMessage field is set.
     */
    public boolean hasEnclosedMessage() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return The enclosedMessage.
     */
    public akka.protobufv3.internal.ByteString getEnclosedMessage() {
      return enclosedMessage_;
    }

    public static final int SERIALIZERID_FIELD_NUMBER = 2;
    private int serializerId_;
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return Whether the serializerId field is set.
     */
    public boolean hasSerializerId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return The serializerId.
     */
    public int getSerializerId() {
      return serializerId_;
    }

    public static final int MESSAGEMANIFEST_FIELD_NUMBER = 4;
    private akka.protobufv3.internal.ByteString messageManifest_;
    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return Whether the messageManifest field is set.
     */
    public boolean hasMessageManifest() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return The messageManifest.
     */
    public akka.protobufv3.internal.ByteString getMessageManifest() {
      return messageManifest_;
    }

    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 (!hasEnclosedMessage()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSerializerId()) {
        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.writeBytes(1, enclosedMessage_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, serializerId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBytes(4, messageManifest_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBytesSize(1, enclosedMessage_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeInt32Size(2, serializerId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBytesSize(4, messageManifest_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload)) {
        return super.equals(obj);
      }
      akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload other = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload) obj;

      if (hasEnclosedMessage() != other.hasEnclosedMessage()) return false;
      if (hasEnclosedMessage()) {
        if (!getEnclosedMessage()
            .equals(other.getEnclosedMessage())) return false;
      }
      if (hasSerializerId() != other.hasSerializerId()) return false;
      if (hasSerializerId()) {
        if (getSerializerId()
            != other.getSerializerId()) return false;
      }
      if (hasMessageManifest() != other.hasMessageManifest()) return false;
      if (hasMessageManifest()) {
        if (!getMessageManifest()
            .equals(other.getMessageManifest())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasEnclosedMessage()) {
        hash = (37 * hash) + ENCLOSEDMESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getEnclosedMessage().hashCode();
      }
      if (hasSerializerId()) {
        hash = (37 * hash) + SERIALIZERID_FIELD_NUMBER;
        hash = (53 * hash) + getSerializerId();
      }
      if (hasMessageManifest()) {
        hash = (37 * hash) + MESSAGEMANIFEST_FIELD_NUMBER;
        hash = (53 * hash) + getMessageManifest().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload 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.pubsub.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload 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.pubsub.protobuf.msg.DistributedPubSubMessages.Payload parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload 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.pubsub.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload 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.pubsub.protobuf.msg.DistributedPubSubMessages.Payload prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Payload}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Payload)
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Payload_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Payload_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.class, akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.Builder.class);
      }

      // Construct using akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        serializerId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.internal_static_Payload_descriptor;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getDefaultInstanceForType() {
        return akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload build() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload buildPartial() {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload result = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.enclosedMessage_ = enclosedMessage_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.serializerId_ = serializerId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          to_bitField0_ |= 0x00000004;
        }
        result.messageManifest_ = messageManifest_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload) {
          return mergeFrom((akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload other) {
        if (other == akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance()) return this;
        if (other.hasEnclosedMessage()) {
          setEnclosedMessage(other.getEnclosedMessage());
        }
        if (other.hasSerializerId()) {
          setSerializerId(other.getSerializerId());
        }
        if (other.hasMessageManifest()) {
          setMessageManifest(other.getMessageManifest());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasEnclosedMessage()) {
          return false;
        }
        if (!hasSerializerId()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.protobufv3.internal.ByteString enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return Whether the enclosedMessage field is set.
       */
      public boolean hasEnclosedMessage() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return The enclosedMessage.
       */
      public akka.protobufv3.internal.ByteString getEnclosedMessage() {
        return enclosedMessage_;
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @param value The enclosedMessage to set.
       * @return This builder for chaining.
       */
      public Builder setEnclosedMessage(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        enclosedMessage_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEnclosedMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        enclosedMessage_ = getDefaultInstance().getEnclosedMessage();
        onChanged();
        return this;
      }

      private int serializerId_ ;
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return Whether the serializerId field is set.
       */
      public boolean hasSerializerId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return The serializerId.
       */
      public int getSerializerId() {
        return serializerId_;
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @param value The serializerId to set.
       * @return This builder for chaining.
       */
      public Builder setSerializerId(int value) {
        bitField0_ |= 0x00000002;
        serializerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSerializerId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        serializerId_ = 0;
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.ByteString messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return Whether the messageManifest field is set.
       */
      public boolean hasMessageManifest() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return The messageManifest.
       */
      public akka.protobufv3.internal.ByteString getMessageManifest() {
        return messageManifest_;
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @param value The messageManifest to set.
       * @return This builder for chaining.
       */
      public Builder setMessageManifest(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        messageManifest_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearMessageManifest() {
        bitField0_ = (bitField0_ & ~0x00000004);
        messageManifest_ = getDefaultInstance().getMessageManifest();
        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:Payload)
    }

    // @@protoc_insertion_point(class_scope:Payload)
    private static final akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload();
    }

    public static akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Payload>
        PARSER = new akka.protobufv3.internal.AbstractParser<Payload>() {
      @java.lang.Override
      public Payload parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new Payload(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<Payload> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<Payload> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.pubsub.protobuf.msg.DistributedPubSubMessages.Payload getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Status_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Status_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Status_Version_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Status_Version_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Delta_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Delta_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Delta_Entry_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Delta_Entry_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Delta_Bucket_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Delta_Bucket_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Address_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Address_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Send_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Send_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_SendToAll_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_SendToAll_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Publish_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Publish_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_SendToOneSubscriber_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_SendToOneSubscriber_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Payload_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Payload_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\037DistributedPubSubMessages.proto\"{\n\006Sta" +
      "tus\022!\n\010versions\030\001 \003(\0132\017.Status.Version\022\025" +
      "\n\rreplyToStatus\030\002 \001(\010\0327\n\007Version\022\031\n\007addr" +
      "ess\030\001 \002(\0132\010.Address\022\021\n\ttimestamp\030\002 \002(\003\"\256" +
      "\001\n\005Delta\022\036\n\007buckets\030\001 \003(\0132\r.Delta.Bucket" +
      "\0322\n\005Entry\022\013\n\003key\030\001 \002(\t\022\017\n\007version\030\002 \002(\003\022" +
      "\013\n\003ref\030\003 \001(\t\032Q\n\006Bucket\022\027\n\005owner\030\001 \002(\0132\010." +
      "Address\022\017\n\007version\030\002 \002(\003\022\035\n\007content\030\003 \003(" +
      "\0132\014.Delta.Entry\"K\n\007Address\022\016\n\006system\030\001 \002" +
      "(\t\022\020\n\010hostname\030\002 \002(\t\022\014\n\004port\030\003 \002(\r\022\020\n\010pr" +
      "otocol\030\004 \001(\t\"F\n\004Send\022\014\n\004path\030\001 \002(\t\022\025\n\rlo" +
      "calAffinity\030\002 \002(\010\022\031\n\007payload\030\003 \002(\0132\010.Pay" +
      "load\"H\n\tSendToAll\022\014\n\004path\030\001 \002(\t\022\022\n\nallBu" +
      "tSelf\030\002 \002(\010\022\031\n\007payload\030\003 \002(\0132\010.Payload\"3" +
      "\n\007Publish\022\r\n\005topic\030\001 \002(\t\022\031\n\007payload\030\003 \002(" +
      "\0132\010.Payload\"0\n\023SendToOneSubscriber\022\031\n\007pa" +
      "yload\030\001 \002(\0132\010.Payload\"Q\n\007Payload\022\027\n\017encl" +
      "osedMessage\030\001 \002(\014\022\024\n\014serializerId\030\002 \002(\005\022" +
      "\027\n\017messageManifest\030\004 \001(\014B$\n akka.cluster" +
      ".pubsub.protobuf.msgH\001"
    };
    descriptor = akka.protobufv3.internal.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new akka.protobufv3.internal.Descriptors.FileDescriptor[] {
        });
    internal_static_Status_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_Status_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Status_descriptor,
        new java.lang.String[] { "Versions", "ReplyToStatus", });
    internal_static_Status_Version_descriptor =
      internal_static_Status_descriptor.getNestedTypes().get(0);
    internal_static_Status_Version_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Status_Version_descriptor,
        new java.lang.String[] { "Address", "Timestamp", });
    internal_static_Delta_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_Delta_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Delta_descriptor,
        new java.lang.String[] { "Buckets", });
    internal_static_Delta_Entry_descriptor =
      internal_static_Delta_descriptor.getNestedTypes().get(0);
    internal_static_Delta_Entry_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Delta_Entry_descriptor,
        new java.lang.String[] { "Key", "Version", "Ref", });
    internal_static_Delta_Bucket_descriptor =
      internal_static_Delta_descriptor.getNestedTypes().get(1);
    internal_static_Delta_Bucket_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Delta_Bucket_descriptor,
        new java.lang.String[] { "Owner", "Version", "Content", });
    internal_static_Address_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_Address_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Address_descriptor,
        new java.lang.String[] { "System", "Hostname", "Port", "Protocol", });
    internal_static_Send_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_Send_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Send_descriptor,
        new java.lang.String[] { "Path", "LocalAffinity", "Payload", });
    internal_static_SendToAll_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_SendToAll_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_SendToAll_descriptor,
        new java.lang.String[] { "Path", "AllButSelf", "Payload", });
    internal_static_Publish_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_Publish_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Publish_descriptor,
        new java.lang.String[] { "Topic", "Payload", });
    internal_static_SendToOneSubscriber_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_SendToOneSubscriber_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_SendToOneSubscriber_descriptor,
        new java.lang.String[] { "Payload", });
    internal_static_Payload_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_Payload_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Payload_descriptor,
        new java.lang.String[] { "EnclosedMessage", "SerializerId", "MessageManifest", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
