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

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

package akka.persistence.typed.serialization;

public final class ReplicatedEventSourcing {
  private ReplicatedEventSourcing() {}

  public static void registerAllExtensions(
      akka.protobufv3.internal.ExtensionRegistryLite registry) {}

  public static void registerAllExtensions(akka.protobufv3.internal.ExtensionRegistry registry) {
    registerAllExtensions((akka.protobufv3.internal.ExtensionRegistryLite) registry);
  }
  /** Protobuf enum {@code ORSetDeltaOp} */
  public enum ORSetDeltaOp implements akka.protobufv3.internal.ProtocolMessageEnum {
    /** <code>Add = 0;</code> */
    Add(0),
    /** <code>Remove = 1;</code> */
    Remove(1),
    /** <code>Full = 2;</code> */
    Full(2),
    ;

    /** <code>Add = 0;</code> */
    public static final int Add_VALUE = 0;
    /** <code>Remove = 1;</code> */
    public static final int Remove_VALUE = 1;
    /** <code>Full = 2;</code> */
    public static final int Full_VALUE = 2;

    public final int getNumber() {
      return value;
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static ORSetDeltaOp valueOf(int value) {
      return forNumber(value);
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     */
    public static ORSetDeltaOp forNumber(int value) {
      switch (value) {
        case 0:
          return Add;
        case 1:
          return Remove;
        case 2:
          return Full;
        default:
          return null;
      }
    }

    public static akka.protobufv3.internal.Internal.EnumLiteMap<ORSetDeltaOp>
        internalGetValueMap() {
      return internalValueMap;
    }

    private static final akka.protobufv3.internal.Internal.EnumLiteMap<ORSetDeltaOp>
        internalValueMap =
            new akka.protobufv3.internal.Internal.EnumLiteMap<ORSetDeltaOp>() {
              public ORSetDeltaOp findValueByNumber(int number) {
                return ORSetDeltaOp.forNumber(number);
              }
            };

    public final akka.protobufv3.internal.Descriptors.EnumValueDescriptor getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }

    public final akka.protobufv3.internal.Descriptors.EnumDescriptor getDescriptorForType() {
      return getDescriptor();
    }

    public static final akka.protobufv3.internal.Descriptors.EnumDescriptor getDescriptor() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing.getDescriptor()
          .getEnumTypes()
          .get(0);
    }

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

    public static ORSetDeltaOp valueOf(
        akka.protobufv3.internal.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }

    private final int value;

    private ORSetDeltaOp(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:ORSetDeltaOp)
  }

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

    /**
     * <code>required bytes value = 1;</code>
     *
     * @return Whether the value field is set.
     */
    boolean hasValue();
    /**
     * <code>required bytes value = 1;</code>
     *
     * @return The value.
     */
    akka.protobufv3.internal.ByteString getValue();
  }
  /** Protobuf type {@code Counter} */
  public static final class Counter extends akka.protobufv3.internal.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:Counter)
      CounterOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use Counter.newBuilder() to construct.
    private Counter(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private Counter() {
      value_ = akka.protobufv3.internal.ByteString.EMPTY;
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    private Counter(
        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;
                value_ = 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.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_Counter_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_Counter_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter.class,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter.Builder.class);
    }

    private int bitField0_;
    public static final int VALUE_FIELD_NUMBER = 1;
    private akka.protobufv3.internal.ByteString value_;
    /**
     * <code>required bytes value = 1;</code>
     *
     * @return Whether the value field is set.
     */
    public boolean hasValue() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required bytes value = 1;</code>
     *
     * @return The value.
     */
    public akka.protobufv3.internal.ByteString getValue() {
      return value_;
    }

    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 (!hasValue()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
        return true;
      }
      if (!(obj instanceof akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter)) {
        return super.equals(obj);
      }
      akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter other =
          (akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter) obj;

      if (hasValue() != other.hasValue()) return false;
      if (hasValue()) {
        if (!getValue().equals(other.getValue())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

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

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter parseFrom(
        java.nio.ByteBuffer data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter parseFrom(
        java.nio.ByteBuffer data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter parseFrom(
        byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter parseFrom(
        byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter parseFrom(
        java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter 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.persistence.typed.serialization.ReplicatedEventSourcing.Counter
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter
        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.persistence.typed.serialization.ReplicatedEventSourcing.Counter parseFrom(
        akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter 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.persistence.typed.serialization.ReplicatedEventSourcing.Counter 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 Counter} */
    public static final class Builder
        extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:Counter)
        akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_Counter_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_Counter_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter.class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter.Builder.class);
      }

      // Construct using
      // akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter.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();
        value_ = akka.protobufv3.internal.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_Counter_descriptor;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter
          getDefaultInstanceForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter
            .getDefaultInstance();
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter build() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter result =
            buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter buildPartial() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter result =
            new akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.value_ = value_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }

      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
        return super.setField(field, value);
      }

      @java.lang.Override
      public Builder clearField(akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }

      @java.lang.Override
      public Builder clearOneof(akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }

      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index,
          java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }

      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field, java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }

      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter) {
          return mergeFrom(
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter) other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter other) {
        if (other
            == akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter
                .getDefaultInstance()) return this;
        if (other.hasValue()) {
          setValue(other.getValue());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter)
                  e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int bitField0_;

      private akka.protobufv3.internal.ByteString value_ =
          akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>required bytes value = 1;</code>
       *
       * @return Whether the value field is set.
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required bytes value = 1;</code>
       *
       * @return The value.
       */
      public akka.protobufv3.internal.ByteString getValue() {
        return value_;
      }
      /**
       * <code>required bytes value = 1;</code>
       *
       * @param value The value to set.
       * @return This builder for chaining.
       */
      public Builder setValue(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes value = 1;</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000001);
        value_ = getDefaultInstance().getValue();
        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:Counter)
    }

    // @@protoc_insertion_point(class_scope:Counter)
    private static final akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE = new akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter();
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.Counter
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

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

    /**
     * <code>required bytes delta = 1;</code>
     *
     * @return Whether the delta field is set.
     */
    boolean hasDelta();
    /**
     * <code>required bytes delta = 1;</code>
     *
     * @return The delta.
     */
    akka.protobufv3.internal.ByteString getDelta();
  }
  /** Protobuf type {@code CounterUpdate} */
  public static final class CounterUpdate extends akka.protobufv3.internal.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:CounterUpdate)
      CounterUpdateOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use CounterUpdate.newBuilder() to construct.
    private CounterUpdate(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private CounterUpdate() {
      delta_ = akka.protobufv3.internal.ByteString.EMPTY;
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    private CounterUpdate(
        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;
                delta_ = 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.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_CounterUpdate_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_CounterUpdate_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate.class,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate.Builder
                  .class);
    }

    private int bitField0_;
    public static final int DELTA_FIELD_NUMBER = 1;
    private akka.protobufv3.internal.ByteString delta_;
    /**
     * <code>required bytes delta = 1;</code>
     *
     * @return Whether the delta field is set.
     */
    public boolean hasDelta() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required bytes delta = 1;</code>
     *
     * @return The delta.
     */
    public akka.protobufv3.internal.ByteString getDelta() {
      return delta_;
    }

    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 (!hasDelta()) {
        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, delta_);
      }
      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, delta_);
      }
      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.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate)) {
        return super.equals(obj);
      }
      akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate other =
          (akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate) obj;

      if (hasDelta() != other.hasDelta()) return false;
      if (hasDelta()) {
        if (!getDelta().equals(other.getDelta())) 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 (hasDelta()) {
        hash = (37 * hash) + DELTA_FIELD_NUMBER;
        hash = (53 * hash) + getDelta().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        parseFrom(java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        parseFrom(akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        parseFrom(byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        parseFrom(byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        parseFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        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.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        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.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        parseFrom(akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        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.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate 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 CounterUpdate} */
    public static final class Builder
        extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:CounterUpdate)
        akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdateOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_CounterUpdate_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_CounterUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate.class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate.Builder
                    .class);
      }

      // Construct using
      // akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate.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();
        delta_ = akka.protobufv3.internal.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_CounterUpdate_descriptor;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
          getDefaultInstanceForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
            .getDefaultInstance();
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate build() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate result =
            buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
          buildPartial() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate result =
            new akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.delta_ = delta_;
        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.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate) {
          return mergeFrom(
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate) other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate other) {
        if (other
            == akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
                .getDefaultInstance()) return this;
        if (other.hasDelta()) {
          setDelta(other.getDelta());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasDelta()) {
          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.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate parsedMessage =
            null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate)
                  e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int bitField0_;

      private akka.protobufv3.internal.ByteString delta_ =
          akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>required bytes delta = 1;</code>
       *
       * @return Whether the delta field is set.
       */
      public boolean hasDelta() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required bytes delta = 1;</code>
       *
       * @return The delta.
       */
      public akka.protobufv3.internal.ByteString getDelta() {
        return delta_;
      }
      /**
       * <code>required bytes delta = 1;</code>
       *
       * @param value The delta to set.
       * @return This builder for chaining.
       */
      public Builder setDelta(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        delta_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes delta = 1;</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearDelta() {
        bitField0_ = (bitField0_ & ~0x00000001);
        delta_ = getDefaultInstance().getDelta();
        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:CounterUpdate)
    }

    // @@protoc_insertion_point(class_scope:CounterUpdate)
    private static final akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE =
          new akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate();
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.CounterUpdate
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

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

    /**
     * <code>required string originDc = 1;</code>
     *
     * @return Whether the originDc field is set.
     */
    boolean hasOriginDc();
    /**
     * <code>required string originDc = 1;</code>
     *
     * @return The originDc.
     */
    java.lang.String getOriginDc();
    /**
     * <code>required string originDc = 1;</code>
     *
     * @return The bytes for originDc.
     */
    akka.protobufv3.internal.ByteString getOriginDcBytes();

    /**
     * <code>required .VersionVector vvector = 2;</code>
     *
     * @return Whether the vvector field is set.
     */
    boolean hasVvector();
    /**
     * <code>required .VersionVector vvector = 2;</code>
     *
     * @return The vvector.
     */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector getVvector();
    /** <code>required .VersionVector vvector = 2;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
        getVvectorOrBuilder();

    /** <code>repeated .VersionVector dots = 3;</code> */
    java.util.List<akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector>
        getDotsList();
    /** <code>repeated .VersionVector dots = 3;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector getDots(int index);
    /** <code>repeated .VersionVector dots = 3;</code> */
    int getDotsCount();
    /** <code>repeated .VersionVector dots = 3;</code> */
    java.util.List<
            ? extends
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
        getDotsOrBuilderList();
    /** <code>repeated .VersionVector dots = 3;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
        getDotsOrBuilder(int index);

    /**
     * <code>repeated string stringElements = 4;</code>
     *
     * @return A list containing the stringElements.
     */
    java.util.List<java.lang.String> getStringElementsList();
    /**
     * <code>repeated string stringElements = 4;</code>
     *
     * @return The count of stringElements.
     */
    int getStringElementsCount();
    /**
     * <code>repeated string stringElements = 4;</code>
     *
     * @param index The index of the element to return.
     * @return The stringElements at the given index.
     */
    java.lang.String getStringElements(int index);
    /**
     * <code>repeated string stringElements = 4;</code>
     *
     * @param index The index of the value to return.
     * @return The bytes of the stringElements at the given index.
     */
    akka.protobufv3.internal.ByteString getStringElementsBytes(int index);

    /**
     * <code>repeated sint32 intElements = 5 [packed = true];</code>
     *
     * @return A list containing the intElements.
     */
    java.util.List<java.lang.Integer> getIntElementsList();
    /**
     * <code>repeated sint32 intElements = 5 [packed = true];</code>
     *
     * @return The count of intElements.
     */
    int getIntElementsCount();
    /**
     * <code>repeated sint32 intElements = 5 [packed = true];</code>
     *
     * @param index The index of the element to return.
     * @return The intElements at the given index.
     */
    int getIntElements(int index);

    /**
     * <code>repeated sint64 longElements = 6 [packed = true];</code>
     *
     * @return A list containing the longElements.
     */
    java.util.List<java.lang.Long> getLongElementsList();
    /**
     * <code>repeated sint64 longElements = 6 [packed = true];</code>
     *
     * @return The count of longElements.
     */
    int getLongElementsCount();
    /**
     * <code>repeated sint64 longElements = 6 [packed = true];</code>
     *
     * @param index The index of the element to return.
     * @return The longElements at the given index.
     */
    long getLongElements(int index);

    /** <code>repeated .Payload otherElements = 7;</code> */
    java.util.List<akka.remote.ContainerFormats.Payload> getOtherElementsList();
    /** <code>repeated .Payload otherElements = 7;</code> */
    akka.remote.ContainerFormats.Payload getOtherElements(int index);
    /** <code>repeated .Payload otherElements = 7;</code> */
    int getOtherElementsCount();
    /** <code>repeated .Payload otherElements = 7;</code> */
    java.util.List<? extends akka.remote.ContainerFormats.PayloadOrBuilder>
        getOtherElementsOrBuilderList();
    /** <code>repeated .Payload otherElements = 7;</code> */
    akka.remote.ContainerFormats.PayloadOrBuilder getOtherElementsOrBuilder(int index);
  }
  /** Protobuf type {@code ORSet} */
  public static final class ORSet extends akka.protobufv3.internal.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:ORSet)
      ORSetOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use ORSet.newBuilder() to construct.
    private ORSet(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private ORSet() {
      originDc_ = "";
      dots_ = java.util.Collections.emptyList();
      stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
      intElements_ = emptyIntList();
      longElements_ = emptyLongList();
      otherElements_ = java.util.Collections.emptyList();
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    private ORSet(
        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;
                originDc_ = bs;
                break;
              }
            case 18:
              {
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
                    subBuilder = null;
                if (((bitField0_ & 0x00000002) != 0)) {
                  subBuilder = vvector_.toBuilder();
                }
                vvector_ =
                    input.readMessage(
                        akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                            .PARSER,
                        extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(vvector_);
                  vvector_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
            case 26:
              {
                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                  dots_ =
                      new java.util.ArrayList<
                          akka.persistence.typed.serialization.ReplicatedEventSourcing
                              .VersionVector>();
                  mutable_bitField0_ |= 0x00000004;
                }
                dots_.add(
                    input.readMessage(
                        akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                            .PARSER,
                        extensionRegistry));
                break;
              }
            case 34:
              {
                akka.protobufv3.internal.ByteString bs = input.readBytes();
                if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                  stringElements_ = new akka.protobufv3.internal.LazyStringArrayList();
                  mutable_bitField0_ |= 0x00000008;
                }
                stringElements_.add(bs);
                break;
              }
            case 40:
              {
                if (!((mutable_bitField0_ & 0x00000010) != 0)) {
                  intElements_ = newIntList();
                  mutable_bitField0_ |= 0x00000010;
                }
                intElements_.addInt(input.readSInt32());
                break;
              }
            case 42:
              {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) {
                  intElements_ = newIntList();
                  mutable_bitField0_ |= 0x00000010;
                }
                while (input.getBytesUntilLimit() > 0) {
                  intElements_.addInt(input.readSInt32());
                }
                input.popLimit(limit);
                break;
              }
            case 48:
              {
                if (!((mutable_bitField0_ & 0x00000020) != 0)) {
                  longElements_ = newLongList();
                  mutable_bitField0_ |= 0x00000020;
                }
                longElements_.addLong(input.readSInt64());
                break;
              }
            case 50:
              {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                if (!((mutable_bitField0_ & 0x00000020) != 0) && input.getBytesUntilLimit() > 0) {
                  longElements_ = newLongList();
                  mutable_bitField0_ |= 0x00000020;
                }
                while (input.getBytesUntilLimit() > 0) {
                  longElements_.addLong(input.readSInt64());
                }
                input.popLimit(limit);
                break;
              }
            case 58:
              {
                if (!((mutable_bitField0_ & 0x00000040) != 0)) {
                  otherElements_ = new java.util.ArrayList<akka.remote.ContainerFormats.Payload>();
                  mutable_bitField0_ |= 0x00000040;
                }
                otherElements_.add(
                    input.readMessage(
                        akka.remote.ContainerFormats.Payload.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)) {
          dots_ = java.util.Collections.unmodifiableList(dots_);
        }
        if (((mutable_bitField0_ & 0x00000008) != 0)) {
          stringElements_ = stringElements_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000010) != 0)) {
          intElements_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000020) != 0)) {
          longElements_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000040) != 0)) {
          otherElements_ = java.util.Collections.unmodifiableList(otherElements_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }

    public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_ORSet_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_ORSet_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.class,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.Builder.class);
    }

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

    public static final int VVECTOR_FIELD_NUMBER = 2;
    private akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector vvector_;
    /**
     * <code>required .VersionVector vvector = 2;</code>
     *
     * @return Whether the vvector field is set.
     */
    public boolean hasVvector() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .VersionVector vvector = 2;</code>
     *
     * @return The vvector.
     */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector getVvector() {
      return vvector_ == null
          ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
              .getDefaultInstance()
          : vvector_;
    }
    /** <code>required .VersionVector vvector = 2;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
        getVvectorOrBuilder() {
      return vvector_ == null
          ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
              .getDefaultInstance()
          : vvector_;
    }

    public static final int DOTS_FIELD_NUMBER = 3;
    private java.util.List<
            akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector>
        dots_;
    /** <code>repeated .VersionVector dots = 3;</code> */
    public java.util.List<
            akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector>
        getDotsList() {
      return dots_;
    }
    /** <code>repeated .VersionVector dots = 3;</code> */
    public java.util.List<
            ? extends
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
        getDotsOrBuilderList() {
      return dots_;
    }
    /** <code>repeated .VersionVector dots = 3;</code> */
    public int getDotsCount() {
      return dots_.size();
    }
    /** <code>repeated .VersionVector dots = 3;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector getDots(
        int index) {
      return dots_.get(index);
    }
    /** <code>repeated .VersionVector dots = 3;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
        getDotsOrBuilder(int index) {
      return dots_.get(index);
    }

    public static final int STRINGELEMENTS_FIELD_NUMBER = 4;
    private akka.protobufv3.internal.LazyStringList stringElements_;
    /**
     * <code>repeated string stringElements = 4;</code>
     *
     * @return A list containing the stringElements.
     */
    public akka.protobufv3.internal.ProtocolStringList getStringElementsList() {
      return stringElements_;
    }
    /**
     * <code>repeated string stringElements = 4;</code>
     *
     * @return The count of stringElements.
     */
    public int getStringElementsCount() {
      return stringElements_.size();
    }
    /**
     * <code>repeated string stringElements = 4;</code>
     *
     * @param index The index of the element to return.
     * @return The stringElements at the given index.
     */
    public java.lang.String getStringElements(int index) {
      return stringElements_.get(index);
    }
    /**
     * <code>repeated string stringElements = 4;</code>
     *
     * @param index The index of the value to return.
     * @return The bytes of the stringElements at the given index.
     */
    public akka.protobufv3.internal.ByteString getStringElementsBytes(int index) {
      return stringElements_.getByteString(index);
    }

    public static final int INTELEMENTS_FIELD_NUMBER = 5;
    private akka.protobufv3.internal.Internal.IntList intElements_;
    /**
     * <code>repeated sint32 intElements = 5 [packed = true];</code>
     *
     * @return A list containing the intElements.
     */
    public java.util.List<java.lang.Integer> getIntElementsList() {
      return intElements_;
    }
    /**
     * <code>repeated sint32 intElements = 5 [packed = true];</code>
     *
     * @return The count of intElements.
     */
    public int getIntElementsCount() {
      return intElements_.size();
    }
    /**
     * <code>repeated sint32 intElements = 5 [packed = true];</code>
     *
     * @param index The index of the element to return.
     * @return The intElements at the given index.
     */
    public int getIntElements(int index) {
      return intElements_.getInt(index);
    }

    private int intElementsMemoizedSerializedSize = -1;

    public static final int LONGELEMENTS_FIELD_NUMBER = 6;
    private akka.protobufv3.internal.Internal.LongList longElements_;
    /**
     * <code>repeated sint64 longElements = 6 [packed = true];</code>
     *
     * @return A list containing the longElements.
     */
    public java.util.List<java.lang.Long> getLongElementsList() {
      return longElements_;
    }
    /**
     * <code>repeated sint64 longElements = 6 [packed = true];</code>
     *
     * @return The count of longElements.
     */
    public int getLongElementsCount() {
      return longElements_.size();
    }
    /**
     * <code>repeated sint64 longElements = 6 [packed = true];</code>
     *
     * @param index The index of the element to return.
     * @return The longElements at the given index.
     */
    public long getLongElements(int index) {
      return longElements_.getLong(index);
    }

    private int longElementsMemoizedSerializedSize = -1;

    public static final int OTHERELEMENTS_FIELD_NUMBER = 7;
    private java.util.List<akka.remote.ContainerFormats.Payload> otherElements_;
    /** <code>repeated .Payload otherElements = 7;</code> */
    public java.util.List<akka.remote.ContainerFormats.Payload> getOtherElementsList() {
      return otherElements_;
    }
    /** <code>repeated .Payload otherElements = 7;</code> */
    public java.util.List<? extends akka.remote.ContainerFormats.PayloadOrBuilder>
        getOtherElementsOrBuilderList() {
      return otherElements_;
    }
    /** <code>repeated .Payload otherElements = 7;</code> */
    public int getOtherElementsCount() {
      return otherElements_.size();
    }
    /** <code>repeated .Payload otherElements = 7;</code> */
    public akka.remote.ContainerFormats.Payload getOtherElements(int index) {
      return otherElements_.get(index);
    }
    /** <code>repeated .Payload otherElements = 7;</code> */
    public akka.remote.ContainerFormats.PayloadOrBuilder getOtherElementsOrBuilder(int index) {
      return otherElements_.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 (!hasOriginDc()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasVvector()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getVvector().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getDotsCount(); i++) {
        if (!getDots(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getOtherElementsCount(); i++) {
        if (!getOtherElements(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 {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, originDc_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getVvector());
      }
      for (int i = 0; i < dots_.size(); i++) {
        output.writeMessage(3, dots_.get(i));
      }
      for (int i = 0; i < stringElements_.size(); i++) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(
            output, 4, stringElements_.getRaw(i));
      }
      if (getIntElementsList().size() > 0) {
        output.writeUInt32NoTag(42);
        output.writeUInt32NoTag(intElementsMemoizedSerializedSize);
      }
      for (int i = 0; i < intElements_.size(); i++) {
        output.writeSInt32NoTag(intElements_.getInt(i));
      }
      if (getLongElementsList().size() > 0) {
        output.writeUInt32NoTag(50);
        output.writeUInt32NoTag(longElementsMemoizedSerializedSize);
      }
      for (int i = 0; i < longElements_.size(); i++) {
        output.writeSInt64NoTag(longElements_.getLong(i));
      }
      for (int i = 0; i < otherElements_.size(); i++) {
        output.writeMessage(7, otherElements_.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.GeneratedMessageV3.computeStringSize(1, originDc_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(2, getVvector());
      }
      for (int i = 0; i < dots_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(3, dots_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < stringElements_.size(); i++) {
          dataSize += computeStringSizeNoTag(stringElements_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getStringElementsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < intElements_.size(); i++) {
          dataSize +=
              akka.protobufv3.internal.CodedOutputStream.computeSInt32SizeNoTag(
                  intElements_.getInt(i));
        }
        size += dataSize;
        if (!getIntElementsList().isEmpty()) {
          size += 1;
          size += akka.protobufv3.internal.CodedOutputStream.computeInt32SizeNoTag(dataSize);
        }
        intElementsMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < longElements_.size(); i++) {
          dataSize +=
              akka.protobufv3.internal.CodedOutputStream.computeSInt64SizeNoTag(
                  longElements_.getLong(i));
        }
        size += dataSize;
        if (!getLongElementsList().isEmpty()) {
          size += 1;
          size += akka.protobufv3.internal.CodedOutputStream.computeInt32SizeNoTag(dataSize);
        }
        longElementsMemoizedSerializedSize = dataSize;
      }
      for (int i = 0; i < otherElements_.size(); i++) {
        size +=
            akka.protobufv3.internal.CodedOutputStream.computeMessageSize(7, otherElements_.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.persistence.typed.serialization.ReplicatedEventSourcing.ORSet)) {
        return super.equals(obj);
      }
      akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet other =
          (akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet) obj;

      if (hasOriginDc() != other.hasOriginDc()) return false;
      if (hasOriginDc()) {
        if (!getOriginDc().equals(other.getOriginDc())) return false;
      }
      if (hasVvector() != other.hasVvector()) return false;
      if (hasVvector()) {
        if (!getVvector().equals(other.getVvector())) return false;
      }
      if (!getDotsList().equals(other.getDotsList())) return false;
      if (!getStringElementsList().equals(other.getStringElementsList())) return false;
      if (!getIntElementsList().equals(other.getIntElementsList())) return false;
      if (!getLongElementsList().equals(other.getLongElementsList())) return false;
      if (!getOtherElementsList().equals(other.getOtherElementsList())) 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 (hasOriginDc()) {
        hash = (37 * hash) + ORIGINDC_FIELD_NUMBER;
        hash = (53 * hash) + getOriginDc().hashCode();
      }
      if (hasVvector()) {
        hash = (37 * hash) + VVECTOR_FIELD_NUMBER;
        hash = (53 * hash) + getVvector().hashCode();
      }
      if (getDotsCount() > 0) {
        hash = (37 * hash) + DOTS_FIELD_NUMBER;
        hash = (53 * hash) + getDotsList().hashCode();
      }
      if (getStringElementsCount() > 0) {
        hash = (37 * hash) + STRINGELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getStringElementsList().hashCode();
      }
      if (getIntElementsCount() > 0) {
        hash = (37 * hash) + INTELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getIntElementsList().hashCode();
      }
      if (getLongElementsCount() > 0) {
        hash = (37 * hash) + LONGELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getLongElementsList().hashCode();
      }
      if (getOtherElementsCount() > 0) {
        hash = (37 * hash) + OTHERELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getOtherElementsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet parseFrom(
        java.nio.ByteBuffer data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet parseFrom(
        java.nio.ByteBuffer data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet parseFrom(
        byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet parseFrom(
        byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet parseFrom(
        java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet 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.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
        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.persistence.typed.serialization.ReplicatedEventSourcing.ORSet parseFrom(
        akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet 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.persistence.typed.serialization.ReplicatedEventSourcing.ORSet 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 ORSet} */
    public static final class Builder
        extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:ORSet)
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ORSet_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ORSet_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.Builder.class);
      }

      // Construct using
      // akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }

      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
          getVvectorFieldBuilder();
          getDotsFieldBuilder();
          getOtherElementsFieldBuilder();
        }
      }

      @java.lang.Override
      public Builder clear() {
        super.clear();
        originDc_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (vvectorBuilder_ == null) {
          vvector_ = null;
        } else {
          vvectorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (dotsBuilder_ == null) {
          dots_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          dotsBuilder_.clear();
        }
        stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        intElements_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000010);
        longElements_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000020);
        if (otherElementsBuilder_ == null) {
          otherElements_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
        } else {
          otherElementsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ORSet_descriptor;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
          getDefaultInstanceForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
            .getDefaultInstance();
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet build() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet buildPartial() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet result =
            new akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.originDc_ = originDc_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (vvectorBuilder_ == null) {
            result.vvector_ = vvector_;
          } else {
            result.vvector_ = vvectorBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        if (dotsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            dots_ = java.util.Collections.unmodifiableList(dots_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.dots_ = dots_;
        } else {
          result.dots_ = dotsBuilder_.build();
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          stringElements_ = stringElements_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.stringElements_ = stringElements_;
        if (((bitField0_ & 0x00000010) != 0)) {
          intElements_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.intElements_ = intElements_;
        if (((bitField0_ & 0x00000020) != 0)) {
          longElements_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.longElements_ = longElements_;
        if (otherElementsBuilder_ == null) {
          if (((bitField0_ & 0x00000040) != 0)) {
            otherElements_ = java.util.Collections.unmodifiableList(otherElements_);
            bitField0_ = (bitField0_ & ~0x00000040);
          }
          result.otherElements_ = otherElements_;
        } else {
          result.otherElements_ = otherElementsBuilder_.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.persistence.typed.serialization.ReplicatedEventSourcing.ORSet) {
          return mergeFrom(
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet) other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet other) {
        if (other
            == akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
                .getDefaultInstance()) return this;
        if (other.hasOriginDc()) {
          bitField0_ |= 0x00000001;
          originDc_ = other.originDc_;
          onChanged();
        }
        if (other.hasVvector()) {
          mergeVvector(other.getVvector());
        }
        if (dotsBuilder_ == null) {
          if (!other.dots_.isEmpty()) {
            if (dots_.isEmpty()) {
              dots_ = other.dots_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureDotsIsMutable();
              dots_.addAll(other.dots_);
            }
            onChanged();
          }
        } else {
          if (!other.dots_.isEmpty()) {
            if (dotsBuilder_.isEmpty()) {
              dotsBuilder_.dispose();
              dotsBuilder_ = null;
              dots_ = other.dots_;
              bitField0_ = (bitField0_ & ~0x00000004);
              dotsBuilder_ =
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders
                      ? getDotsFieldBuilder()
                      : null;
            } else {
              dotsBuilder_.addAllMessages(other.dots_);
            }
          }
        }
        if (!other.stringElements_.isEmpty()) {
          if (stringElements_.isEmpty()) {
            stringElements_ = other.stringElements_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureStringElementsIsMutable();
            stringElements_.addAll(other.stringElements_);
          }
          onChanged();
        }
        if (!other.intElements_.isEmpty()) {
          if (intElements_.isEmpty()) {
            intElements_ = other.intElements_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureIntElementsIsMutable();
            intElements_.addAll(other.intElements_);
          }
          onChanged();
        }
        if (!other.longElements_.isEmpty()) {
          if (longElements_.isEmpty()) {
            longElements_ = other.longElements_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureLongElementsIsMutable();
            longElements_.addAll(other.longElements_);
          }
          onChanged();
        }
        if (otherElementsBuilder_ == null) {
          if (!other.otherElements_.isEmpty()) {
            if (otherElements_.isEmpty()) {
              otherElements_ = other.otherElements_;
              bitField0_ = (bitField0_ & ~0x00000040);
            } else {
              ensureOtherElementsIsMutable();
              otherElements_.addAll(other.otherElements_);
            }
            onChanged();
          }
        } else {
          if (!other.otherElements_.isEmpty()) {
            if (otherElementsBuilder_.isEmpty()) {
              otherElementsBuilder_.dispose();
              otherElementsBuilder_ = null;
              otherElements_ = other.otherElements_;
              bitField0_ = (bitField0_ & ~0x00000040);
              otherElementsBuilder_ =
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders
                      ? getOtherElementsFieldBuilder()
                      : null;
            } else {
              otherElementsBuilder_.addAllMessages(other.otherElements_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasOriginDc()) {
          return false;
        }
        if (!hasVvector()) {
          return false;
        }
        if (!getVvector().isInitialized()) {
          return false;
        }
        for (int i = 0; i < getDotsCount(); i++) {
          if (!getDots(i).isInitialized()) {
            return false;
          }
        }
        for (int i = 0; i < getOtherElementsCount(); i++) {
          if (!getOtherElements(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.persistence.typed.serialization.ReplicatedEventSourcing.ORSet parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet)
                  e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int bitField0_;

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

      private akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector vvector_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
          vvectorBuilder_;
      /**
       * <code>required .VersionVector vvector = 2;</code>
       *
       * @return Whether the vvector field is set.
       */
      public boolean hasVvector() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .VersionVector vvector = 2;</code>
       *
       * @return The vvector.
       */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
          getVvector() {
        if (vvectorBuilder_ == null) {
          return vvector_ == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                  .getDefaultInstance()
              : vvector_;
        } else {
          return vvectorBuilder_.getMessage();
        }
      }
      /** <code>required .VersionVector vvector = 2;</code> */
      public Builder setVvector(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (vvectorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          vvector_ = value;
          onChanged();
        } else {
          vvectorBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /** <code>required .VersionVector vvector = 2;</code> */
      public Builder setVvector(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
              builderForValue) {
        if (vvectorBuilder_ == null) {
          vvector_ = builderForValue.build();
          onChanged();
        } else {
          vvectorBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /** <code>required .VersionVector vvector = 2;</code> */
      public Builder mergeVvector(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (vvectorBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)
              && vvector_ != null
              && vvector_
                  != akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .getDefaultInstance()) {
            vvector_ =
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                    .newBuilder(vvector_)
                    .mergeFrom(value)
                    .buildPartial();
          } else {
            vvector_ = value;
          }
          onChanged();
        } else {
          vvectorBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /** <code>required .VersionVector vvector = 2;</code> */
      public Builder clearVvector() {
        if (vvectorBuilder_ == null) {
          vvector_ = null;
          onChanged();
        } else {
          vvectorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /** <code>required .VersionVector vvector = 2;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
          getVvectorBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getVvectorFieldBuilder().getBuilder();
      }
      /** <code>required .VersionVector vvector = 2;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
          getVvectorOrBuilder() {
        if (vvectorBuilder_ != null) {
          return vvectorBuilder_.getMessageOrBuilder();
        } else {
          return vvector_ == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                  .getDefaultInstance()
              : vvector_;
        }
      }
      /** <code>required .VersionVector vvector = 2;</code> */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
          getVvectorFieldBuilder() {
        if (vvectorBuilder_ == null) {
          vvectorBuilder_ =
              new akka.protobufv3.internal.SingleFieldBuilderV3<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .Builder,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .VersionVectorOrBuilder>(getVvector(), getParentForChildren(), isClean());
          vvector_ = null;
        }
        return vvectorBuilder_;
      }

      private java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector>
          dots_ = java.util.Collections.emptyList();

      private void ensureDotsIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          dots_ =
              new java.util.ArrayList<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector>(
                  dots_);
          bitField0_ |= 0x00000004;
        }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
          dotsBuilder_;

      /** <code>repeated .VersionVector dots = 3;</code> */
      public java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector>
          getDotsList() {
        if (dotsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(dots_);
        } else {
          return dotsBuilder_.getMessageList();
        }
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public int getDotsCount() {
        if (dotsBuilder_ == null) {
          return dots_.size();
        } else {
          return dotsBuilder_.getCount();
        }
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector getDots(
          int index) {
        if (dotsBuilder_ == null) {
          return dots_.get(index);
        } else {
          return dotsBuilder_.getMessage(index);
        }
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public Builder setDots(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (dotsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDotsIsMutable();
          dots_.set(index, value);
          onChanged();
        } else {
          dotsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public Builder setDots(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
              builderForValue) {
        if (dotsBuilder_ == null) {
          ensureDotsIsMutable();
          dots_.set(index, builderForValue.build());
          onChanged();
        } else {
          dotsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public Builder addDots(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (dotsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDotsIsMutable();
          dots_.add(value);
          onChanged();
        } else {
          dotsBuilder_.addMessage(value);
        }
        return this;
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public Builder addDots(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (dotsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDotsIsMutable();
          dots_.add(index, value);
          onChanged();
        } else {
          dotsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public Builder addDots(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
              builderForValue) {
        if (dotsBuilder_ == null) {
          ensureDotsIsMutable();
          dots_.add(builderForValue.build());
          onChanged();
        } else {
          dotsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public Builder addDots(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
              builderForValue) {
        if (dotsBuilder_ == null) {
          ensureDotsIsMutable();
          dots_.add(index, builderForValue.build());
          onChanged();
        } else {
          dotsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public Builder addAllDots(
          java.lang.Iterable<
                  ? extends
                      akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector>
              values) {
        if (dotsBuilder_ == null) {
          ensureDotsIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(values, dots_);
          onChanged();
        } else {
          dotsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public Builder clearDots() {
        if (dotsBuilder_ == null) {
          dots_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          dotsBuilder_.clear();
        }
        return this;
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public Builder removeDots(int index) {
        if (dotsBuilder_ == null) {
          ensureDotsIsMutable();
          dots_.remove(index);
          onChanged();
        } else {
          dotsBuilder_.remove(index);
        }
        return this;
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
          getDotsBuilder(int index) {
        return getDotsFieldBuilder().getBuilder(index);
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
          getDotsOrBuilder(int index) {
        if (dotsBuilder_ == null) {
          return dots_.get(index);
        } else {
          return dotsBuilder_.getMessageOrBuilder(index);
        }
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public java.util.List<
              ? extends
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .VersionVectorOrBuilder>
          getDotsOrBuilderList() {
        if (dotsBuilder_ != null) {
          return dotsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(dots_);
        }
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
          addDotsBuilder() {
        return getDotsFieldBuilder()
            .addBuilder(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                    .getDefaultInstance());
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
          addDotsBuilder(int index) {
        return getDotsFieldBuilder()
            .addBuilder(
                index,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                    .getDefaultInstance());
      }
      /** <code>repeated .VersionVector dots = 3;</code> */
      public java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder>
          getDotsBuilderList() {
        return getDotsFieldBuilder().getBuilderList();
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
          getDotsFieldBuilder() {
        if (dotsBuilder_ == null) {
          dotsBuilder_ =
              new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .Builder,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .VersionVectorOrBuilder>(
                  dots_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
          dots_ = null;
        }
        return dotsBuilder_;
      }

      private akka.protobufv3.internal.LazyStringList stringElements_ =
          akka.protobufv3.internal.LazyStringArrayList.EMPTY;

      private void ensureStringElementsIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          stringElements_ = new akka.protobufv3.internal.LazyStringArrayList(stringElements_);
          bitField0_ |= 0x00000008;
        }
      }
      /**
       * <code>repeated string stringElements = 4;</code>
       *
       * @return A list containing the stringElements.
       */
      public akka.protobufv3.internal.ProtocolStringList getStringElementsList() {
        return stringElements_.getUnmodifiableView();
      }
      /**
       * <code>repeated string stringElements = 4;</code>
       *
       * @return The count of stringElements.
       */
      public int getStringElementsCount() {
        return stringElements_.size();
      }
      /**
       * <code>repeated string stringElements = 4;</code>
       *
       * @param index The index of the element to return.
       * @return The stringElements at the given index.
       */
      public java.lang.String getStringElements(int index) {
        return stringElements_.get(index);
      }
      /**
       * <code>repeated string stringElements = 4;</code>
       *
       * @param index The index of the value to return.
       * @return The bytes of the stringElements at the given index.
       */
      public akka.protobufv3.internal.ByteString getStringElementsBytes(int index) {
        return stringElements_.getByteString(index);
      }
      /**
       * <code>repeated string stringElements = 4;</code>
       *
       * @param index The index to set the value at.
       * @param value The stringElements to set.
       * @return This builder for chaining.
       */
      public Builder setStringElements(int index, java.lang.String value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureStringElementsIsMutable();
        stringElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 4;</code>
       *
       * @param value The stringElements to add.
       * @return This builder for chaining.
       */
      public Builder addStringElements(java.lang.String value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureStringElementsIsMutable();
        stringElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 4;</code>
       *
       * @param values The stringElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllStringElements(java.lang.Iterable<java.lang.String> values) {
        ensureStringElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(values, stringElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 4;</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearStringElements() {
        stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 4;</code>
       *
       * @param value The bytes of the stringElements to add.
       * @return This builder for chaining.
       */
      public Builder addStringElementsBytes(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureStringElementsIsMutable();
        stringElements_.add(value);
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.Internal.IntList intElements_ = emptyIntList();

      private void ensureIntElementsIsMutable() {
        if (!((bitField0_ & 0x00000010) != 0)) {
          intElements_ = mutableCopy(intElements_);
          bitField0_ |= 0x00000010;
        }
      }
      /**
       * <code>repeated sint32 intElements = 5 [packed = true];</code>
       *
       * @return A list containing the intElements.
       */
      public java.util.List<java.lang.Integer> getIntElementsList() {
        return ((bitField0_ & 0x00000010) != 0)
            ? java.util.Collections.unmodifiableList(intElements_)
            : intElements_;
      }
      /**
       * <code>repeated sint32 intElements = 5 [packed = true];</code>
       *
       * @return The count of intElements.
       */
      public int getIntElementsCount() {
        return intElements_.size();
      }
      /**
       * <code>repeated sint32 intElements = 5 [packed = true];</code>
       *
       * @param index The index of the element to return.
       * @return The intElements at the given index.
       */
      public int getIntElements(int index) {
        return intElements_.getInt(index);
      }
      /**
       * <code>repeated sint32 intElements = 5 [packed = true];</code>
       *
       * @param index The index to set the value at.
       * @param value The intElements to set.
       * @return This builder for chaining.
       */
      public Builder setIntElements(int index, int value) {
        ensureIntElementsIsMutable();
        intElements_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 5 [packed = true];</code>
       *
       * @param value The intElements to add.
       * @return This builder for chaining.
       */
      public Builder addIntElements(int value) {
        ensureIntElementsIsMutable();
        intElements_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 5 [packed = true];</code>
       *
       * @param values The intElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllIntElements(java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureIntElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(values, intElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 5 [packed = true];</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearIntElements() {
        intElements_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.Internal.LongList longElements_ = emptyLongList();

      private void ensureLongElementsIsMutable() {
        if (!((bitField0_ & 0x00000020) != 0)) {
          longElements_ = mutableCopy(longElements_);
          bitField0_ |= 0x00000020;
        }
      }
      /**
       * <code>repeated sint64 longElements = 6 [packed = true];</code>
       *
       * @return A list containing the longElements.
       */
      public java.util.List<java.lang.Long> getLongElementsList() {
        return ((bitField0_ & 0x00000020) != 0)
            ? java.util.Collections.unmodifiableList(longElements_)
            : longElements_;
      }
      /**
       * <code>repeated sint64 longElements = 6 [packed = true];</code>
       *
       * @return The count of longElements.
       */
      public int getLongElementsCount() {
        return longElements_.size();
      }
      /**
       * <code>repeated sint64 longElements = 6 [packed = true];</code>
       *
       * @param index The index of the element to return.
       * @return The longElements at the given index.
       */
      public long getLongElements(int index) {
        return longElements_.getLong(index);
      }
      /**
       * <code>repeated sint64 longElements = 6 [packed = true];</code>
       *
       * @param index The index to set the value at.
       * @param value The longElements to set.
       * @return This builder for chaining.
       */
      public Builder setLongElements(int index, long value) {
        ensureLongElementsIsMutable();
        longElements_.setLong(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 6 [packed = true];</code>
       *
       * @param value The longElements to add.
       * @return This builder for chaining.
       */
      public Builder addLongElements(long value) {
        ensureLongElementsIsMutable();
        longElements_.addLong(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 6 [packed = true];</code>
       *
       * @param values The longElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllLongElements(java.lang.Iterable<? extends java.lang.Long> values) {
        ensureLongElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(values, longElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 6 [packed = true];</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearLongElements() {
        longElements_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }

      private java.util.List<akka.remote.ContainerFormats.Payload> otherElements_ =
          java.util.Collections.emptyList();

      private void ensureOtherElementsIsMutable() {
        if (!((bitField0_ & 0x00000040) != 0)) {
          otherElements_ =
              new java.util.ArrayList<akka.remote.ContainerFormats.Payload>(otherElements_);
          bitField0_ |= 0x00000040;
        }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.remote.ContainerFormats.Payload,
              akka.remote.ContainerFormats.Payload.Builder,
              akka.remote.ContainerFormats.PayloadOrBuilder>
          otherElementsBuilder_;

      /** <code>repeated .Payload otherElements = 7;</code> */
      public java.util.List<akka.remote.ContainerFormats.Payload> getOtherElementsList() {
        if (otherElementsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(otherElements_);
        } else {
          return otherElementsBuilder_.getMessageList();
        }
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public int getOtherElementsCount() {
        if (otherElementsBuilder_ == null) {
          return otherElements_.size();
        } else {
          return otherElementsBuilder_.getCount();
        }
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public akka.remote.ContainerFormats.Payload getOtherElements(int index) {
        if (otherElementsBuilder_ == null) {
          return otherElements_.get(index);
        } else {
          return otherElementsBuilder_.getMessage(index);
        }
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public Builder setOtherElements(int index, akka.remote.ContainerFormats.Payload value) {
        if (otherElementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOtherElementsIsMutable();
          otherElements_.set(index, value);
          onChanged();
        } else {
          otherElementsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public Builder setOtherElements(
          int index, akka.remote.ContainerFormats.Payload.Builder builderForValue) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.set(index, builderForValue.build());
          onChanged();
        } else {
          otherElementsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public Builder addOtherElements(akka.remote.ContainerFormats.Payload value) {
        if (otherElementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOtherElementsIsMutable();
          otherElements_.add(value);
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(value);
        }
        return this;
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public Builder addOtherElements(int index, akka.remote.ContainerFormats.Payload value) {
        if (otherElementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOtherElementsIsMutable();
          otherElements_.add(index, value);
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public Builder addOtherElements(
          akka.remote.ContainerFormats.Payload.Builder builderForValue) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.add(builderForValue.build());
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public Builder addOtherElements(
          int index, akka.remote.ContainerFormats.Payload.Builder builderForValue) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.add(index, builderForValue.build());
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public Builder addAllOtherElements(
          java.lang.Iterable<? extends akka.remote.ContainerFormats.Payload> values) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(values, otherElements_);
          onChanged();
        } else {
          otherElementsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public Builder clearOtherElements() {
        if (otherElementsBuilder_ == null) {
          otherElements_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
          onChanged();
        } else {
          otherElementsBuilder_.clear();
        }
        return this;
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public Builder removeOtherElements(int index) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.remove(index);
          onChanged();
        } else {
          otherElementsBuilder_.remove(index);
        }
        return this;
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public akka.remote.ContainerFormats.Payload.Builder getOtherElementsBuilder(int index) {
        return getOtherElementsFieldBuilder().getBuilder(index);
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public akka.remote.ContainerFormats.PayloadOrBuilder getOtherElementsOrBuilder(int index) {
        if (otherElementsBuilder_ == null) {
          return otherElements_.get(index);
        } else {
          return otherElementsBuilder_.getMessageOrBuilder(index);
        }
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public java.util.List<? extends akka.remote.ContainerFormats.PayloadOrBuilder>
          getOtherElementsOrBuilderList() {
        if (otherElementsBuilder_ != null) {
          return otherElementsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(otherElements_);
        }
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public akka.remote.ContainerFormats.Payload.Builder addOtherElementsBuilder() {
        return getOtherElementsFieldBuilder()
            .addBuilder(akka.remote.ContainerFormats.Payload.getDefaultInstance());
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public akka.remote.ContainerFormats.Payload.Builder addOtherElementsBuilder(int index) {
        return getOtherElementsFieldBuilder()
            .addBuilder(index, akka.remote.ContainerFormats.Payload.getDefaultInstance());
      }
      /** <code>repeated .Payload otherElements = 7;</code> */
      public java.util.List<akka.remote.ContainerFormats.Payload.Builder>
          getOtherElementsBuilderList() {
        return getOtherElementsFieldBuilder().getBuilderList();
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.remote.ContainerFormats.Payload,
              akka.remote.ContainerFormats.Payload.Builder,
              akka.remote.ContainerFormats.PayloadOrBuilder>
          getOtherElementsFieldBuilder() {
        if (otherElementsBuilder_ == null) {
          otherElementsBuilder_ =
              new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                  akka.remote.ContainerFormats.Payload,
                  akka.remote.ContainerFormats.Payload.Builder,
                  akka.remote.ContainerFormats.PayloadOrBuilder>(
                  otherElements_,
                  ((bitField0_ & 0x00000040) != 0),
                  getParentForChildren(),
                  isClean());
          otherElements_ = null;
        }
        return otherElementsBuilder_;
      }

      @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:ORSet)
    }

    // @@protoc_insertion_point(class_scope:ORSet)
    private static final akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE = new akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet();
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

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

    /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
    java.util.List<
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry>
        getEntriesList();
    /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry getEntries(
        int index);
    /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
    int getEntriesCount();
    /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
    java.util.List<
            ? extends
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                    .EntryOrBuilder>
        getEntriesOrBuilderList();
    /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.EntryOrBuilder
        getEntriesOrBuilder(int index);
  }
  /** Protobuf type {@code ORSetDeltaGroup} */
  public static final class ORSetDeltaGroup extends akka.protobufv3.internal.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:ORSetDeltaGroup)
      ORSetDeltaGroupOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use ORSetDeltaGroup.newBuilder() to construct.
    private ORSetDeltaGroup(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private ORSetDeltaGroup() {
      entries_ = java.util.Collections.emptyList();
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    private ORSetDeltaGroup(
        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)) {
                  entries_ =
                      new java.util.ArrayList<
                          akka.persistence.typed.serialization.ReplicatedEventSourcing
                              .ORSetDeltaGroup.Entry>();
                  mutable_bitField0_ |= 0x00000001;
                }
                entries_.add(
                    input.readMessage(
                        akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                            .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_ & 0x00000001) != 0)) {
          entries_ = java.util.Collections.unmodifiableList(entries_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }

    public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_ORSetDeltaGroup_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_ORSetDeltaGroup_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.class,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Builder
                  .class);
    }

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

      /**
       * <code>required .ORSetDeltaOp operation = 1;</code>
       *
       * @return Whether the operation field is set.
       */
      boolean hasOperation();
      /**
       * <code>required .ORSetDeltaOp operation = 1;</code>
       *
       * @return The operation.
       */
      akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp getOperation();

      /**
       * <code>required .ORSet underlying = 2;</code>
       *
       * @return Whether the underlying field is set.
       */
      boolean hasUnderlying();
      /**
       * <code>required .ORSet underlying = 2;</code>
       *
       * @return The underlying.
       */
      akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet getUnderlying();
      /** <code>required .ORSet underlying = 2;</code> */
      akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetOrBuilder
          getUnderlyingOrBuilder();
    }
    /** Protobuf type {@code ORSetDeltaGroup.Entry} */
    public static final class Entry extends akka.protobufv3.internal.GeneratedMessageV3
        implements
        // @@protoc_insertion_point(message_implements:ORSetDeltaGroup.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() {
        operation_ = 0;
      }

      @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 8:
                {
                  int rawValue = input.readEnum();
                  @SuppressWarnings("deprecation")
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp value =
                      akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp
                          .valueOf(rawValue);
                  if (value == null) {
                    unknownFields.mergeVarintField(1, rawValue);
                  } else {
                    bitField0_ |= 0x00000001;
                    operation_ = rawValue;
                  }
                  break;
                }
              case 18:
                {
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.Builder
                      subBuilder = null;
                  if (((bitField0_ & 0x00000002) != 0)) {
                    subBuilder = underlying_.toBuilder();
                  }
                  underlying_ =
                      input.readMessage(
                          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.PARSER,
                          extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(underlying_);
                    underlying_ = 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.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ORSetDeltaGroup_Entry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ORSetDeltaGroup_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                    .class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                    .Builder.class);
      }

      private int bitField0_;
      public static final int OPERATION_FIELD_NUMBER = 1;
      private int operation_;
      /**
       * <code>required .ORSetDeltaOp operation = 1;</code>
       *
       * @return Whether the operation field is set.
       */
      public boolean hasOperation() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .ORSetDeltaOp operation = 1;</code>
       *
       * @return The operation.
       */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp
          getOperation() {
        @SuppressWarnings("deprecation")
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp result =
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp.valueOf(
                operation_);
        return result == null
            ? akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp.Add
            : result;
      }

      public static final int UNDERLYING_FIELD_NUMBER = 2;
      private akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet underlying_;
      /**
       * <code>required .ORSet underlying = 2;</code>
       *
       * @return Whether the underlying field is set.
       */
      public boolean hasUnderlying() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .ORSet underlying = 2;</code>
       *
       * @return The underlying.
       */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet getUnderlying() {
        return underlying_ == null
            ? akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
                .getDefaultInstance()
            : underlying_;
      }
      /** <code>required .ORSet underlying = 2;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetOrBuilder
          getUnderlyingOrBuilder() {
        return underlying_ == null
            ? akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
                .getDefaultInstance()
            : underlying_;
      }

      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 (!hasOperation()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasUnderlying()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getUnderlying().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.writeEnum(1, operation_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getUnderlying());
        }
        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.computeEnumSize(1, operation_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(2, getUnderlying());
        }
        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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry)) {
          return super.equals(obj);
        }
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry other =
            (akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry)
                obj;

        if (hasOperation() != other.hasOperation()) return false;
        if (hasOperation()) {
          if (operation_ != other.operation_) return false;
        }
        if (hasUnderlying() != other.hasUnderlying()) return false;
        if (hasUnderlying()) {
          if (!getUnderlying().equals(other.getUnderlying())) 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 (hasOperation()) {
          hash = (37 * hash) + OPERATION_FIELD_NUMBER;
          hash = (53 * hash) + operation_;
        }
        if (hasUnderlying()) {
          hash = (37 * hash) + UNDERLYING_FIELD_NUMBER;
          hash = (53 * hash) + getUnderlying().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .Entry
          parseFrom(java.nio.ByteBuffer data)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .Entry
          parseFrom(
              java.nio.ByteBuffer data,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .Entry
          parseFrom(akka.protobufv3.internal.ByteString data)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .Entry
          parseFrom(byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .Entry
          parseFrom(byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .Entry
          parseFrom(java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .Entry
          parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .Entry
          parseFrom(akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.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 ORSetDeltaGroup.Entry} */
      public static final class Builder
          extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
          implements
          // @@protoc_insertion_point(builder_implements:ORSetDeltaGroup.Entry)
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .EntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing
              .internal_static_ORSetDeltaGroup_Entry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing
              .internal_static_ORSetDeltaGroup_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                      .class,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                      .Builder.class);
        }

        // Construct using
        // akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.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) {
            getUnderlyingFieldBuilder();
          }
        }

        @java.lang.Override
        public Builder clear() {
          super.clear();
          operation_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          if (underlyingBuilder_ == null) {
            underlying_ = null;
          } else {
            underlyingBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing
              .internal_static_ORSetDeltaGroup_Entry_descriptor;
        }

        @java.lang.Override
        public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
            getDefaultInstanceForType() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
              .getDefaultInstance();
        }

        @java.lang.Override
        public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
            build() {
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
              result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
            buildPartial() {
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
              result =
                  new akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                      .Entry(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.operation_ = operation_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            if (underlyingBuilder_ == null) {
              result.underlying_ = underlying_;
            } else {
              result.underlying_ = underlyingBuilder_.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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry) {
            return mergeFrom(
                (akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry)
                    other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                other) {
          if (other
              == akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                  .getDefaultInstance()) return this;
          if (other.hasOperation()) {
            setOperation(other.getOperation());
          }
          if (other.hasUnderlying()) {
            mergeUnderlying(other.getUnderlying());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasOperation()) {
            return false;
          }
          if (!hasUnderlying()) {
            return false;
          }
          if (!getUnderlying().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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
              parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage =
                (akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry)
                    e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private int bitField0_;

        private int operation_ = 0;
        /**
         * <code>required .ORSetDeltaOp operation = 1;</code>
         *
         * @return Whether the operation field is set.
         */
        public boolean hasOperation() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .ORSetDeltaOp operation = 1;</code>
         *
         * @return The operation.
         */
        public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp
            getOperation() {
          @SuppressWarnings("deprecation")
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp result =
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp.valueOf(
                  operation_);
          return result == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp.Add
              : result;
        }
        /**
         * <code>required .ORSetDeltaOp operation = 1;</code>
         *
         * @param value The operation to set.
         * @return This builder for chaining.
         */
        public Builder setOperation(
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaOp value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          operation_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>required .ORSetDeltaOp operation = 1;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearOperation() {
          bitField0_ = (bitField0_ & ~0x00000001);
          operation_ = 0;
          onChanged();
          return this;
        }

        private akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet underlying_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.Builder,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetOrBuilder>
            underlyingBuilder_;
        /**
         * <code>required .ORSet underlying = 2;</code>
         *
         * @return Whether the underlying field is set.
         */
        public boolean hasUnderlying() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .ORSet underlying = 2;</code>
         *
         * @return The underlying.
         */
        public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet getUnderlying() {
          if (underlyingBuilder_ == null) {
            return underlying_ == null
                ? akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
                    .getDefaultInstance()
                : underlying_;
          } else {
            return underlyingBuilder_.getMessage();
          }
        }
        /** <code>required .ORSet underlying = 2;</code> */
        public Builder setUnderlying(
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet value) {
          if (underlyingBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            underlying_ = value;
            onChanged();
          } else {
            underlyingBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /** <code>required .ORSet underlying = 2;</code> */
        public Builder setUnderlying(
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.Builder
                builderForValue) {
          if (underlyingBuilder_ == null) {
            underlying_ = builderForValue.build();
            onChanged();
          } else {
            underlyingBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /** <code>required .ORSet underlying = 2;</code> */
        public Builder mergeUnderlying(
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet value) {
          if (underlyingBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)
                && underlying_ != null
                && underlying_
                    != akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
                        .getDefaultInstance()) {
              underlying_ =
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.newBuilder(
                          underlying_)
                      .mergeFrom(value)
                      .buildPartial();
            } else {
              underlying_ = value;
            }
            onChanged();
          } else {
            underlyingBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /** <code>required .ORSet underlying = 2;</code> */
        public Builder clearUnderlying() {
          if (underlyingBuilder_ == null) {
            underlying_ = null;
            onChanged();
          } else {
            underlyingBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /** <code>required .ORSet underlying = 2;</code> */
        public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.Builder
            getUnderlyingBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getUnderlyingFieldBuilder().getBuilder();
        }
        /** <code>required .ORSet underlying = 2;</code> */
        public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetOrBuilder
            getUnderlyingOrBuilder() {
          if (underlyingBuilder_ != null) {
            return underlyingBuilder_.getMessageOrBuilder();
          } else {
            return underlying_ == null
                ? akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet
                    .getDefaultInstance()
                : underlying_;
          }
        }
        /** <code>required .ORSet underlying = 2;</code> */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.Builder,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetOrBuilder>
            getUnderlyingFieldBuilder() {
          if (underlyingBuilder_ == null) {
            underlyingBuilder_ =
                new akka.protobufv3.internal.SingleFieldBuilderV3<
                    akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet,
                    akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSet.Builder,
                    akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetOrBuilder>(
                    getUnderlying(), getParentForChildren(), isClean());
            underlying_ = null;
          }
          return underlyingBuilder_;
        }

        @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:ORSetDeltaGroup.Entry)
      }

      // @@protoc_insertion_point(class_scope:ORSetDeltaGroup.Entry)
      private static final akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ORSetDeltaGroup.Entry
          DEFAULT_INSTANCE;

      static {
        DEFAULT_INSTANCE =
            new akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                .Entry();
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
          getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }

    public static final int ENTRIES_FIELD_NUMBER = 1;
    private java.util.List<
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry>
        entries_;
    /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
    public java.util.List<
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry>
        getEntriesList() {
      return entries_;
    }
    /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
    public java.util.List<
            ? extends
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                    .EntryOrBuilder>
        getEntriesOrBuilderList() {
      return entries_;
    }
    /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
    public int getEntriesCount() {
      return entries_.size();
    }
    /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
        getEntries(int index) {
      return entries_.get(index);
    }
    /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
            .EntryOrBuilder
        getEntriesOrBuilder(int index) {
      return entries_.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 < getEntriesCount(); i++) {
        if (!getEntries(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 < entries_.size(); i++) {
        output.writeMessage(1, entries_.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 < entries_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(1, entries_.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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup)) {
        return super.equals(obj);
      }
      akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup other =
          (akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup) obj;

      if (!getEntriesList().equals(other.getEntriesList())) 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 (getEntriesCount() > 0) {
        hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
        hash = (53 * hash) + getEntriesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        parseFrom(java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        parseFrom(akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        parseFrom(byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        parseFrom(byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        parseFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        parseFrom(akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup 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 ORSetDeltaGroup} */
    public static final class Builder
        extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:ORSetDeltaGroup)
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroupOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ORSetDeltaGroup_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ORSetDeltaGroup_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Builder
                    .class);
      }

      // Construct using
      // akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }

      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
          getEntriesFieldBuilder();
        }
      }

      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ORSetDeltaGroup_descriptor;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
          getDefaultInstanceForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
            .getDefaultInstance();
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup build() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup result =
            buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
          buildPartial() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup result =
            new akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup(this);
        int from_bitField0_ = bitField0_;
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup) {
          return mergeFrom(
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup) other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup other) {
        if (other
            == akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                .getDefaultInstance()) return this;
        if (entriesBuilder_ == null) {
          if (!other.entries_.isEmpty()) {
            if (entries_.isEmpty()) {
              entries_ = other.entries_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureEntriesIsMutable();
              entries_.addAll(other.entries_);
            }
            onChanged();
          }
        } else {
          if (!other.entries_.isEmpty()) {
            if (entriesBuilder_.isEmpty()) {
              entriesBuilder_.dispose();
              entriesBuilder_ = null;
              entries_ = other.entries_;
              bitField0_ = (bitField0_ & ~0x00000001);
              entriesBuilder_ =
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders
                      ? getEntriesFieldBuilder()
                      : null;
            } else {
              entriesBuilder_.addAllMessages(other.entries_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getEntriesCount(); i++) {
          if (!getEntries(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.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup parsedMessage =
            null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup)
                  e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int bitField0_;

      private java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry>
          entries_ = java.util.Collections.emptyList();

      private void ensureEntriesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          entries_ =
              new java.util.ArrayList<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                      .Entry>(entries_);
          bitField0_ |= 0x00000001;
        }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                  .Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                  .EntryOrBuilder>
          entriesBuilder_;

      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry>
          getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
          getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public Builder setEntries(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
              value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.set(index, value);
          onChanged();
        } else {
          entriesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public Builder setEntries(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry.Builder
              builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.set(index, builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public Builder addEntries(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
              value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.add(value);
          onChanged();
        } else {
          entriesBuilder_.addMessage(value);
        }
        return this;
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public Builder addEntries(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
              value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.add(index, value);
          onChanged();
        } else {
          entriesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public Builder addEntries(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry.Builder
              builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public Builder addEntries(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry.Builder
              builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(index, builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public Builder addAllEntries(
          java.lang.Iterable<
                  ? extends
                      akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                          .Entry>
              values) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(values, entries_);
          onChanged();
        } else {
          entriesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public Builder clearEntries() {
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public Builder removeEntries(int index) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.remove(index);
          onChanged();
        } else {
          entriesBuilder_.remove(index);
        }
        return this;
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
              .Builder
          getEntriesBuilder(int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
              .EntryOrBuilder
          getEntriesOrBuilder(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public java.util.List<
              ? extends
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                      .EntryOrBuilder>
          getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
              .Builder
          addEntriesBuilder() {
        return getEntriesFieldBuilder()
            .addBuilder(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                    .getDefaultInstance());
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
              .Builder
          addEntriesBuilder(int index) {
        return getEntriesFieldBuilder()
            .addBuilder(
                index,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                    .getDefaultInstance());
      }
      /** <code>repeated .ORSetDeltaGroup.Entry entries = 1;</code> */
      public java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                  .Builder>
          getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                  .Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                  .EntryOrBuilder>
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ =
              new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                      .Entry,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup.Entry
                      .Builder,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
                      .EntryOrBuilder>(
                  entries_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      @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:ORSetDeltaGroup)
    }

    // @@protoc_insertion_point(class_scope:ORSetDeltaGroup)
    private static final akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ORSetDeltaGroup
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE =
          new akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup();
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.ORSetDeltaGroup
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

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

    /** <code>repeated .VersionVector.Entry entries = 1;</code> */
    java.util.List<akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry>
        getEntriesList();
    /** <code>repeated .VersionVector.Entry entries = 1;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry getEntries(
        int index);
    /** <code>repeated .VersionVector.Entry entries = 1;</code> */
    int getEntriesCount();
    /** <code>repeated .VersionVector.Entry entries = 1;</code> */
    java.util.List<
            ? extends
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                    .EntryOrBuilder>
        getEntriesOrBuilderList();
    /** <code>repeated .VersionVector.Entry entries = 1;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.EntryOrBuilder
        getEntriesOrBuilder(int index);
  }
  /** Protobuf type {@code VersionVector} */
  public static final class VersionVector extends akka.protobufv3.internal.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:VersionVector)
      VersionVectorOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use VersionVector.newBuilder() to construct.
    private VersionVector(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private VersionVector() {
      entries_ = java.util.Collections.emptyList();
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    private VersionVector(
        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)) {
                  entries_ =
                      new java.util.ArrayList<
                          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                              .Entry>();
                  mutable_bitField0_ |= 0x00000001;
                }
                entries_.add(
                    input.readMessage(
                        akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                            .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_ & 0x00000001) != 0)) {
          entries_ = java.util.Collections.unmodifiableList(entries_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }

    public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_VersionVector_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_VersionVector_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.class,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
                  .class);
    }

    public interface EntryOrBuilder
        extends
        // @@protoc_insertion_point(interface_extends:VersionVector.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();
    }
    /** Protobuf type {@code VersionVector.Entry} */
    public static final class Entry extends akka.protobufv3.internal.GeneratedMessageV3
        implements
        // @@protoc_insertion_point(message_implements:VersionVector.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_ = "";
      }

      @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;
                }
              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.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_VersionVector_Entry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_VersionVector_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                    .class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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_;
      }

      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_);
        }
        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_);
        }
        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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry)) {
          return super.equals(obj);
        }
        akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry other =
            (akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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 (!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());
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
          parseFrom(java.nio.ByteBuffer data)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
          parseFrom(
              java.nio.ByteBuffer data,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
          parseFrom(akka.protobufv3.internal.ByteString data)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
          parseFrom(byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
          parseFrom(byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
          parseFrom(java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
          parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
          parseFrom(akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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 VersionVector.Entry} */
      public static final class Builder
          extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
          implements
          // @@protoc_insertion_point(builder_implements:VersionVector.Entry)
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
              .EntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing
              .internal_static_VersionVector_Entry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing
              .internal_static_VersionVector_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                      .class,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                      .Builder.class);
        }

        // Construct using
        // akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing
              .internal_static_VersionVector_Entry_descriptor;
        }

        @java.lang.Override
        public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
            getDefaultInstanceForType() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
              .getDefaultInstance();
        }

        @java.lang.Override
        public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
            build() {
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry result =
              buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
            buildPartial() {
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry result =
              new akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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;
          }
          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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry) {
            return mergeFrom(
                (akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry)
                    other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(
            akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                other) {
          if (other
              == akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                  .getDefaultInstance()) return this;
          if (other.hasKey()) {
            bitField0_ |= 0x00000001;
            key_ = other.key_;
            onChanged();
          }
          if (other.hasVersion()) {
            setVersion(other.getVersion());
          }
          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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
              parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage =
                (akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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;
        }

        @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:VersionVector.Entry)
      }

      // @@protoc_insertion_point(class_scope:VersionVector.Entry)
      private static final akka.persistence.typed.serialization.ReplicatedEventSourcing
              .VersionVector.Entry
          DEFAULT_INSTANCE;

      static {
        DEFAULT_INSTANCE =
            new akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry();
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
          getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }

    public static final int ENTRIES_FIELD_NUMBER = 1;
    private java.util.List<
            akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry>
        entries_;
    /** <code>repeated .VersionVector.Entry entries = 1;</code> */
    public java.util.List<
            akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry>
        getEntriesList() {
      return entries_;
    }
    /** <code>repeated .VersionVector.Entry entries = 1;</code> */
    public java.util.List<
            ? extends
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                    .EntryOrBuilder>
        getEntriesOrBuilderList() {
      return entries_;
    }
    /** <code>repeated .VersionVector.Entry entries = 1;</code> */
    public int getEntriesCount() {
      return entries_.size();
    }
    /** <code>repeated .VersionVector.Entry entries = 1;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
        getEntries(int index) {
      return entries_.get(index);
    }
    /** <code>repeated .VersionVector.Entry entries = 1;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.EntryOrBuilder
        getEntriesOrBuilder(int index) {
      return entries_.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 < getEntriesCount(); i++) {
        if (!getEntries(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 < entries_.size(); i++) {
        output.writeMessage(1, entries_.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 < entries_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(1, entries_.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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector)) {
        return super.equals(obj);
      }
      akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector other =
          (akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector) obj;

      if (!getEntriesList().equals(other.getEntriesList())) 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 (getEntriesCount() > 0) {
        hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
        hash = (53 * hash) + getEntriesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        parseFrom(java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        parseFrom(akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        parseFrom(byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        parseFrom(byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        parseFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        parseFrom(akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector 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 VersionVector} */
    public static final class Builder
        extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:VersionVector)
        akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_VersionVector_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_VersionVector_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
                    .class);
      }

      // Construct using
      // akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }

      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
          getEntriesFieldBuilder();
        }
      }

      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_VersionVector_descriptor;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
          getDefaultInstanceForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
            .getDefaultInstance();
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector build() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector result =
            buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
          buildPartial() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector result =
            new akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector(this);
        int from_bitField0_ = bitField0_;
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector) {
          return mergeFrom(
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector) other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector other) {
        if (other
            == akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                .getDefaultInstance()) return this;
        if (entriesBuilder_ == null) {
          if (!other.entries_.isEmpty()) {
            if (entries_.isEmpty()) {
              entries_ = other.entries_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureEntriesIsMutable();
              entries_.addAll(other.entries_);
            }
            onChanged();
          }
        } else {
          if (!other.entries_.isEmpty()) {
            if (entriesBuilder_.isEmpty()) {
              entriesBuilder_.dispose();
              entriesBuilder_ = null;
              entries_ = other.entries_;
              bitField0_ = (bitField0_ & ~0x00000001);
              entriesBuilder_ =
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders
                      ? getEntriesFieldBuilder()
                      : null;
            } else {
              entriesBuilder_.addAllMessages(other.entries_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getEntriesCount(); i++) {
          if (!getEntries(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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector parsedMessage =
            null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector)
                  e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int bitField0_;

      private java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry>
          entries_ = java.util.Collections.emptyList();

      private void ensureEntriesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          entries_ =
              new java.util.ArrayList<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry>(
                  entries_);
          bitField0_ |= 0x00000001;
        }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                  .Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                  .EntryOrBuilder>
          entriesBuilder_;

      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry>
          getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
          getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public Builder setEntries(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.set(index, value);
          onChanged();
        } else {
          entriesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public Builder setEntries(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry.Builder
              builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.set(index, builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public Builder addEntries(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.add(value);
          onChanged();
        } else {
          entriesBuilder_.addMessage(value);
        }
        return this;
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public Builder addEntries(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.add(index, value);
          onChanged();
        } else {
          entriesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public Builder addEntries(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry.Builder
              builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public Builder addEntries(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry.Builder
              builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(index, builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public Builder addAllEntries(
          java.lang.Iterable<
                  ? extends
                      akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                          .Entry>
              values) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(values, entries_);
          onChanged();
        } else {
          entriesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public Builder clearEntries() {
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public Builder removeEntries(int index) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.remove(index);
          onChanged();
        } else {
          entriesBuilder_.remove(index);
        }
        return this;
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
              .Builder
          getEntriesBuilder(int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
              .EntryOrBuilder
          getEntriesOrBuilder(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public java.util.List<
              ? extends
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .EntryOrBuilder>
          getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
              .Builder
          addEntriesBuilder() {
        return getEntriesFieldBuilder()
            .addBuilder(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                    .getDefaultInstance());
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
              .Builder
          addEntriesBuilder(int index) {
        return getEntriesFieldBuilder()
            .addBuilder(
                index,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                    .getDefaultInstance());
      }
      /** <code>repeated .VersionVector.Entry entries = 1;</code> */
      public java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                  .Builder>
          getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                  .Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                  .EntryOrBuilder>
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ =
              new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Entry
                      .Builder,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .EntryOrBuilder>(
                  entries_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      @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:VersionVector)
    }

    // @@protoc_insertion_point(class_scope:VersionVector)
    private static final akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE =
          new akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector();
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

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

    /**
     * <code>required string originReplica = 1;</code>
     *
     * @return Whether the originReplica field is set.
     */
    boolean hasOriginReplica();
    /**
     * <code>required string originReplica = 1;</code>
     *
     * @return The originReplica.
     */
    java.lang.String getOriginReplica();
    /**
     * <code>required string originReplica = 1;</code>
     *
     * @return The bytes for originReplica.
     */
    akka.protobufv3.internal.ByteString getOriginReplicaBytes();

    /**
     * <code>required int64 originSequenceNr = 2;</code>
     *
     * @return Whether the originSequenceNr field is set.
     */
    boolean hasOriginSequenceNr();
    /**
     * <code>required int64 originSequenceNr = 2;</code>
     *
     * @return The originSequenceNr.
     */
    long getOriginSequenceNr();

    /**
     * <code>required .VersionVector versionVector = 3;</code>
     *
     * @return Whether the versionVector field is set.
     */
    boolean hasVersionVector();
    /**
     * <code>required .VersionVector versionVector = 3;</code>
     *
     * @return The versionVector.
     */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector getVersionVector();
    /** <code>required .VersionVector versionVector = 3;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
        getVersionVectorOrBuilder();

    /**
     * <code>required bool concurrent = 4;</code>
     *
     * @return Whether the concurrent field is set.
     */
    boolean hasConcurrent();
    /**
     * <code>required bool concurrent = 4;</code>
     *
     * @return The concurrent.
     */
    boolean getConcurrent();
  }
  /** Protobuf type {@code ReplicatedEventMetadata} */
  public static final class ReplicatedEventMetadata
      extends akka.protobufv3.internal.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:ReplicatedEventMetadata)
      ReplicatedEventMetadataOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use ReplicatedEventMetadata.newBuilder() to construct.
    private ReplicatedEventMetadata(
        akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private ReplicatedEventMetadata() {
      originReplica_ = "";
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    private ReplicatedEventMetadata(
        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;
                originReplica_ = bs;
                break;
              }
            case 16:
              {
                bitField0_ |= 0x00000002;
                originSequenceNr_ = input.readInt64();
                break;
              }
            case 26:
              {
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
                    subBuilder = null;
                if (((bitField0_ & 0x00000004) != 0)) {
                  subBuilder = versionVector_.toBuilder();
                }
                versionVector_ =
                    input.readMessage(
                        akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                            .PARSER,
                        extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(versionVector_);
                  versionVector_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000004;
                break;
              }
            case 32:
              {
                bitField0_ |= 0x00000008;
                concurrent_ = input.readBool();
                break;
              }
            default:
              {
                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
            .setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }

    public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_ReplicatedEventMetadata_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_ReplicatedEventMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
                  .class,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
                  .Builder.class);
    }

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

    public static final int ORIGINSEQUENCENR_FIELD_NUMBER = 2;
    private long originSequenceNr_;
    /**
     * <code>required int64 originSequenceNr = 2;</code>
     *
     * @return Whether the originSequenceNr field is set.
     */
    public boolean hasOriginSequenceNr() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int64 originSequenceNr = 2;</code>
     *
     * @return The originSequenceNr.
     */
    public long getOriginSequenceNr() {
      return originSequenceNr_;
    }

    public static final int VERSIONVECTOR_FIELD_NUMBER = 3;
    private akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        versionVector_;
    /**
     * <code>required .VersionVector versionVector = 3;</code>
     *
     * @return Whether the versionVector field is set.
     */
    public boolean hasVersionVector() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required .VersionVector versionVector = 3;</code>
     *
     * @return The versionVector.
     */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        getVersionVector() {
      return versionVector_ == null
          ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
              .getDefaultInstance()
          : versionVector_;
    }
    /** <code>required .VersionVector versionVector = 3;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
        getVersionVectorOrBuilder() {
      return versionVector_ == null
          ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
              .getDefaultInstance()
          : versionVector_;
    }

    public static final int CONCURRENT_FIELD_NUMBER = 4;
    private boolean concurrent_;
    /**
     * <code>required bool concurrent = 4;</code>
     *
     * @return Whether the concurrent field is set.
     */
    public boolean hasConcurrent() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>required bool concurrent = 4;</code>
     *
     * @return The concurrent.
     */
    public boolean getConcurrent() {
      return concurrent_;
    }

    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 (!hasOriginReplica()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasOriginSequenceNr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasVersionVector()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasConcurrent()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getVersionVector().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, originReplica_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt64(2, originSequenceNr_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getVersionVector());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeBool(4, concurrent_);
      }
      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, originReplica_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream.computeInt64Size(2, originSequenceNr_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size +=
            akka.protobufv3.internal.CodedOutputStream.computeMessageSize(3, getVersionVector());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream.computeBoolSize(4, concurrent_);
      }
      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.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata)) {
        return super.equals(obj);
      }
      akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata other =
          (akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata)
              obj;

      if (hasOriginReplica() != other.hasOriginReplica()) return false;
      if (hasOriginReplica()) {
        if (!getOriginReplica().equals(other.getOriginReplica())) return false;
      }
      if (hasOriginSequenceNr() != other.hasOriginSequenceNr()) return false;
      if (hasOriginSequenceNr()) {
        if (getOriginSequenceNr() != other.getOriginSequenceNr()) return false;
      }
      if (hasVersionVector() != other.hasVersionVector()) return false;
      if (hasVersionVector()) {
        if (!getVersionVector().equals(other.getVersionVector())) return false;
      }
      if (hasConcurrent() != other.hasConcurrent()) return false;
      if (hasConcurrent()) {
        if (getConcurrent() != other.getConcurrent()) 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 (hasOriginReplica()) {
        hash = (37 * hash) + ORIGINREPLICA_FIELD_NUMBER;
        hash = (53 * hash) + getOriginReplica().hashCode();
      }
      if (hasOriginSequenceNr()) {
        hash = (37 * hash) + ORIGINSEQUENCENR_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(getOriginSequenceNr());
      }
      if (hasVersionVector()) {
        hash = (37 * hash) + VERSIONVECTOR_FIELD_NUMBER;
        hash = (53 * hash) + getVersionVector().hashCode();
      }
      if (hasConcurrent()) {
        hash = (37 * hash) + CONCURRENT_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(getConcurrent());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        parseFrom(java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        parseFrom(akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        parseFrom(byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        parseFrom(byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        parseFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        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.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        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.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        parseFrom(akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        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.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
            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 ReplicatedEventMetadata} */
    public static final class Builder
        extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:ReplicatedEventMetadata)
        akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadataOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedEventMetadata_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedEventMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
                    .class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
                    .Builder.class);
      }

      // Construct using
      // akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }

      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
          getVersionVectorFieldBuilder();
        }
      }

      @java.lang.Override
      public Builder clear() {
        super.clear();
        originReplica_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        originSequenceNr_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (versionVectorBuilder_ == null) {
          versionVector_ = null;
        } else {
          versionVectorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        concurrent_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedEventMetadata_descriptor;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
          getDefaultInstanceForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
            .getDefaultInstance();
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
          build() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
            result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
          buildPartial() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
            result =
                new akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedEventMetadata(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.originReplica_ = originReplica_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.originSequenceNr_ = originSequenceNr_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          if (versionVectorBuilder_ == null) {
            result.versionVector_ = versionVector_;
          } else {
            result.versionVector_ = versionVectorBuilder_.build();
          }
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.concurrent_ = concurrent_;
          to_bitField0_ |= 0x00000008;
        }
        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.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata) {
          return mergeFrom(
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata)
                  other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
              other) {
        if (other
            == akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
                .getDefaultInstance()) return this;
        if (other.hasOriginReplica()) {
          bitField0_ |= 0x00000001;
          originReplica_ = other.originReplica_;
          onChanged();
        }
        if (other.hasOriginSequenceNr()) {
          setOriginSequenceNr(other.getOriginSequenceNr());
        }
        if (other.hasVersionVector()) {
          mergeVersionVector(other.getVersionVector());
        }
        if (other.hasConcurrent()) {
          setConcurrent(other.getConcurrent());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasOriginReplica()) {
          return false;
        }
        if (!hasOriginSequenceNr()) {
          return false;
        }
        if (!hasVersionVector()) {
          return false;
        }
        if (!hasConcurrent()) {
          return false;
        }
        if (!getVersionVector().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.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
            parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata)
                  e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int bitField0_;

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

      private long originSequenceNr_;
      /**
       * <code>required int64 originSequenceNr = 2;</code>
       *
       * @return Whether the originSequenceNr field is set.
       */
      public boolean hasOriginSequenceNr() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 originSequenceNr = 2;</code>
       *
       * @return The originSequenceNr.
       */
      public long getOriginSequenceNr() {
        return originSequenceNr_;
      }
      /**
       * <code>required int64 originSequenceNr = 2;</code>
       *
       * @param value The originSequenceNr to set.
       * @return This builder for chaining.
       */
      public Builder setOriginSequenceNr(long value) {
        bitField0_ |= 0x00000002;
        originSequenceNr_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 originSequenceNr = 2;</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearOriginSequenceNr() {
        bitField0_ = (bitField0_ & ~0x00000002);
        originSequenceNr_ = 0L;
        onChanged();
        return this;
      }

      private akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
          versionVector_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
          versionVectorBuilder_;
      /**
       * <code>required .VersionVector versionVector = 3;</code>
       *
       * @return Whether the versionVector field is set.
       */
      public boolean hasVersionVector() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required .VersionVector versionVector = 3;</code>
       *
       * @return The versionVector.
       */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
          getVersionVector() {
        if (versionVectorBuilder_ == null) {
          return versionVector_ == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                  .getDefaultInstance()
              : versionVector_;
        } else {
          return versionVectorBuilder_.getMessage();
        }
      }
      /** <code>required .VersionVector versionVector = 3;</code> */
      public Builder setVersionVector(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (versionVectorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          versionVector_ = value;
          onChanged();
        } else {
          versionVectorBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /** <code>required .VersionVector versionVector = 3;</code> */
      public Builder setVersionVector(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
              builderForValue) {
        if (versionVectorBuilder_ == null) {
          versionVector_ = builderForValue.build();
          onChanged();
        } else {
          versionVectorBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /** <code>required .VersionVector versionVector = 3;</code> */
      public Builder mergeVersionVector(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (versionVectorBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)
              && versionVector_ != null
              && versionVector_
                  != akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .getDefaultInstance()) {
            versionVector_ =
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                    .newBuilder(versionVector_)
                    .mergeFrom(value)
                    .buildPartial();
          } else {
            versionVector_ = value;
          }
          onChanged();
        } else {
          versionVectorBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /** <code>required .VersionVector versionVector = 3;</code> */
      public Builder clearVersionVector() {
        if (versionVectorBuilder_ == null) {
          versionVector_ = null;
          onChanged();
        } else {
          versionVectorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /** <code>required .VersionVector versionVector = 3;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
          getVersionVectorBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getVersionVectorFieldBuilder().getBuilder();
      }
      /** <code>required .VersionVector versionVector = 3;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
          getVersionVectorOrBuilder() {
        if (versionVectorBuilder_ != null) {
          return versionVectorBuilder_.getMessageOrBuilder();
        } else {
          return versionVector_ == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                  .getDefaultInstance()
              : versionVector_;
        }
      }
      /** <code>required .VersionVector versionVector = 3;</code> */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
          getVersionVectorFieldBuilder() {
        if (versionVectorBuilder_ == null) {
          versionVectorBuilder_ =
              new akka.protobufv3.internal.SingleFieldBuilderV3<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .Builder,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .VersionVectorOrBuilder>(
                  getVersionVector(), getParentForChildren(), isClean());
          versionVector_ = null;
        }
        return versionVectorBuilder_;
      }

      private boolean concurrent_;
      /**
       * <code>required bool concurrent = 4;</code>
       *
       * @return Whether the concurrent field is set.
       */
      public boolean hasConcurrent() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required bool concurrent = 4;</code>
       *
       * @return The concurrent.
       */
      public boolean getConcurrent() {
        return concurrent_;
      }
      /**
       * <code>required bool concurrent = 4;</code>
       *
       * @param value The concurrent to set.
       * @return This builder for chaining.
       */
      public Builder setConcurrent(boolean value) {
        bitField0_ |= 0x00000008;
        concurrent_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bool concurrent = 4;</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearConcurrent() {
        bitField0_ = (bitField0_ & ~0x00000008);
        concurrent_ = 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:ReplicatedEventMetadata)
    }

    // @@protoc_insertion_point(class_scope:ReplicatedEventMetadata)
    private static final akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE =
          new akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedEventMetadata();
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedEventMetadata
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedEventMetadata
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

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

    /**
     * <code>required .VersionVector version = 1;</code>
     *
     * @return Whether the version field is set.
     */
    boolean hasVersion();
    /**
     * <code>required .VersionVector version = 1;</code>
     *
     * @return The version.
     */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector getVersion();
    /** <code>required .VersionVector version = 1;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
        getVersionOrBuilder();

    /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
    java.util.List<
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                .Seen>
        getSeenPerReplicaList();
    /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata.Seen
        getSeenPerReplica(int index);
    /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
    int getSeenPerReplicaCount();
    /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
    java.util.List<
            ? extends
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedSnapshotMetadata.SeenOrBuilder>
        getSeenPerReplicaOrBuilderList();
    /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
            .SeenOrBuilder
        getSeenPerReplicaOrBuilder(int index);
  }
  /** Protobuf type {@code ReplicatedSnapshotMetadata} */
  public static final class ReplicatedSnapshotMetadata
      extends akka.protobufv3.internal.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:ReplicatedSnapshotMetadata)
      ReplicatedSnapshotMetadataOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use ReplicatedSnapshotMetadata.newBuilder() to construct.
    private ReplicatedSnapshotMetadata(
        akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private ReplicatedSnapshotMetadata() {
      seenPerReplica_ = java.util.Collections.emptyList();
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    private ReplicatedSnapshotMetadata(
        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.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
                    subBuilder = null;
                if (((bitField0_ & 0x00000001) != 0)) {
                  subBuilder = version_.toBuilder();
                }
                version_ =
                    input.readMessage(
                        akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                            .PARSER,
                        extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(version_);
                  version_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000001;
                break;
              }
            case 18:
              {
                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                  seenPerReplica_ =
                      new java.util.ArrayList<
                          akka.persistence.typed.serialization.ReplicatedEventSourcing
                              .ReplicatedSnapshotMetadata.Seen>();
                  mutable_bitField0_ |= 0x00000002;
                }
                seenPerReplica_.add(
                    input.readMessage(
                        akka.persistence.typed.serialization.ReplicatedEventSourcing
                            .ReplicatedSnapshotMetadata.Seen.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_ & 0x00000002) != 0)) {
          seenPerReplica_ = java.util.Collections.unmodifiableList(seenPerReplica_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }

    public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_ReplicatedSnapshotMetadata_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_ReplicatedSnapshotMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.class,
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.Builder.class);
    }

    public interface SeenOrBuilder
        extends
        // @@protoc_insertion_point(interface_extends:ReplicatedSnapshotMetadata.Seen)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>required string replicaId = 1;</code>
       *
       * @return Whether the replicaId field is set.
       */
      boolean hasReplicaId();
      /**
       * <code>required string replicaId = 1;</code>
       *
       * @return The replicaId.
       */
      java.lang.String getReplicaId();
      /**
       * <code>required string replicaId = 1;</code>
       *
       * @return The bytes for replicaId.
       */
      akka.protobufv3.internal.ByteString getReplicaIdBytes();

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

      private Seen() {
        replicaId_ = "";
      }

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

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
        return this.unknownFields;
      }

      private Seen(
          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;
                  replicaId_ = bs;
                  break;
                }
              case 16:
                {
                  bitField0_ |= 0x00000002;
                  sequenceNr_ = 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.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedSnapshotMetadata_Seen_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedSnapshotMetadata_Seen_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedSnapshotMetadata.Seen.class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedSnapshotMetadata.Seen.Builder.class);
      }

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

      public static final int SEQUENCENR_FIELD_NUMBER = 2;
      private long sequenceNr_;
      /**
       * <code>required int64 sequenceNr = 2;</code>
       *
       * @return Whether the sequenceNr field is set.
       */
      public boolean hasSequenceNr() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int64 sequenceNr = 2;</code>
       *
       * @return The sequenceNr.
       */
      public long getSequenceNr() {
        return sequenceNr_;
      }

      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 (!hasReplicaId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasSequenceNr()) {
          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, replicaId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeInt64(2, sequenceNr_);
        }
        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, replicaId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream.computeInt64Size(2, sequenceNr_);
        }
        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.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                .Seen)) {
          return super.equals(obj);
        }
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata.Seen
            other =
                (akka.persistence.typed.serialization.ReplicatedEventSourcing
                        .ReplicatedSnapshotMetadata.Seen)
                    obj;

        if (hasReplicaId() != other.hasReplicaId()) return false;
        if (hasReplicaId()) {
          if (!getReplicaId().equals(other.getReplicaId())) return false;
        }
        if (hasSequenceNr() != other.hasSequenceNr()) return false;
        if (hasSequenceNr()) {
          if (getSequenceNr() != other.getSequenceNr()) 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 (hasReplicaId()) {
          hash = (37 * hash) + REPLICAID_FIELD_NUMBER;
          hash = (53 * hash) + getReplicaId().hashCode();
        }
        if (hasSequenceNr()) {
          hash = (37 * hash) + SEQUENCENR_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(getSequenceNr());
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          parseFrom(java.nio.ByteBuffer data)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          parseFrom(
              java.nio.ByteBuffer data,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          parseFrom(akka.protobufv3.internal.ByteString data)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          parseFrom(
              akka.protobufv3.internal.ByteString data,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          parseFrom(byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          parseFrom(byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          parseFrom(java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          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.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
            PARSER, input);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          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.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          parseFrom(akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          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.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                  .Seen
              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 ReplicatedSnapshotMetadata.Seen} */
      public static final class Builder
          extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
          implements
          // @@protoc_insertion_point(builder_implements:ReplicatedSnapshotMetadata.Seen)
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
              .SeenOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing
              .internal_static_ReplicatedSnapshotMetadata_Seen_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing
              .internal_static_ReplicatedSnapshotMetadata_Seen_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata.Seen.class,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata.Seen.Builder.class);
        }

        // Construct using
        // akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata.Seen.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();
          replicaId_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          sequenceNr_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing
              .internal_static_ReplicatedSnapshotMetadata_Seen_descriptor;
        }

        @java.lang.Override
        public akka.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedSnapshotMetadata.Seen
            getDefaultInstanceForType() {
          return akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen.getDefaultInstance();
        }

        @java.lang.Override
        public akka.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedSnapshotMetadata.Seen
            build() {
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                  .Seen
              result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedSnapshotMetadata.Seen
            buildPartial() {
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                  .Seen
              result =
                  new akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata.Seen(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.replicaId_ = replicaId_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.sequenceNr_ = sequenceNr_;
            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.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.Seen) {
            return mergeFrom(
                (akka.persistence.typed.serialization.ReplicatedEventSourcing
                        .ReplicatedSnapshotMetadata.Seen)
                    other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                    .Seen
                other) {
          if (other
              == akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.Seen.getDefaultInstance()) return this;
          if (other.hasReplicaId()) {
            bitField0_ |= 0x00000001;
            replicaId_ = other.replicaId_;
            onChanged();
          }
          if (other.hasSequenceNr()) {
            setSequenceNr(other.getSequenceNr());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasReplicaId()) {
            return false;
          }
          if (!hasSequenceNr()) {
            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.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                  .Seen
              parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage =
                (akka.persistence.typed.serialization.ReplicatedEventSourcing
                        .ReplicatedSnapshotMetadata.Seen)
                    e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private int bitField0_;

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

        private long sequenceNr_;
        /**
         * <code>required int64 sequenceNr = 2;</code>
         *
         * @return Whether the sequenceNr field is set.
         */
        public boolean hasSequenceNr() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required int64 sequenceNr = 2;</code>
         *
         * @return The sequenceNr.
         */
        public long getSequenceNr() {
          return sequenceNr_;
        }
        /**
         * <code>required int64 sequenceNr = 2;</code>
         *
         * @param value The sequenceNr to set.
         * @return This builder for chaining.
         */
        public Builder setSequenceNr(long value) {
          bitField0_ |= 0x00000002;
          sequenceNr_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 sequenceNr = 2;</code>
         *
         * @return This builder for chaining.
         */
        public Builder clearSequenceNr() {
          bitField0_ = (bitField0_ & ~0x00000002);
          sequenceNr_ = 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:ReplicatedSnapshotMetadata.Seen)
      }

      // @@protoc_insertion_point(class_scope:ReplicatedSnapshotMetadata.Seen)
      private static final akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          DEFAULT_INSTANCE;

      static {
        DEFAULT_INSTANCE =
            new akka.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedSnapshotMetadata.Seen();
      }

      public static akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata.Seen
          getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
              .Seen
          getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
    }

    private int bitField0_;
    public static final int VERSION_FIELD_NUMBER = 1;
    private akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector version_;
    /**
     * <code>required .VersionVector version = 1;</code>
     *
     * @return Whether the version field is set.
     */
    public boolean hasVersion() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .VersionVector version = 1;</code>
     *
     * @return The version.
     */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector getVersion() {
      return version_ == null
          ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
              .getDefaultInstance()
          : version_;
    }
    /** <code>required .VersionVector version = 1;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
        getVersionOrBuilder() {
      return version_ == null
          ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
              .getDefaultInstance()
          : version_;
    }

    public static final int SEENPERREPLICA_FIELD_NUMBER = 2;
    private java.util.List<
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                .Seen>
        seenPerReplica_;
    /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
    public java.util.List<
            akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                .Seen>
        getSeenPerReplicaList() {
      return seenPerReplica_;
    }
    /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
    public java.util.List<
            ? extends
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedSnapshotMetadata.SeenOrBuilder>
        getSeenPerReplicaOrBuilderList() {
      return seenPerReplica_;
    }
    /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
    public int getSeenPerReplicaCount() {
      return seenPerReplica_.size();
    }
    /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
            .Seen
        getSeenPerReplica(int index) {
      return seenPerReplica_.get(index);
    }
    /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
            .SeenOrBuilder
        getSeenPerReplicaOrBuilder(int index) {
      return seenPerReplica_.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 (!hasVersion()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getVersion().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getSeenPerReplicaCount(); i++) {
        if (!getSeenPerReplica(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, getVersion());
      }
      for (int i = 0; i < seenPerReplica_.size(); i++) {
        output.writeMessage(2, seenPerReplica_.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, getVersion());
      }
      for (int i = 0; i < seenPerReplica_.size(); i++) {
        size +=
            akka.protobufv3.internal.CodedOutputStream.computeMessageSize(
                2, seenPerReplica_.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.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata)) {
        return super.equals(obj);
      }
      akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
          other =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata)
                  obj;

      if (hasVersion() != other.hasVersion()) return false;
      if (hasVersion()) {
        if (!getVersion().equals(other.getVersion())) return false;
      }
      if (!getSeenPerReplicaList().equals(other.getSeenPerReplicaList())) 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 (hasVersion()) {
        hash = (37 * hash) + VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getVersion().hashCode();
      }
      if (getSeenPerReplicaCount() > 0) {
        hash = (37 * hash) + SEENPERREPLICA_FIELD_NUMBER;
        hash = (53 * hash) + getSeenPerReplicaList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        parseFrom(java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        parseFrom(akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        parseFrom(byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        parseFrom(byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        parseFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        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.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        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.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        parseFrom(akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        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.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
            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 ReplicatedSnapshotMetadata} */
    public static final class Builder
        extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:ReplicatedSnapshotMetadata)
        akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadataOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedSnapshotMetadata_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedSnapshotMetadata_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedSnapshotMetadata.class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedSnapshotMetadata.Builder.class);
      }

      // Construct using
      // akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }

      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
          getVersionFieldBuilder();
          getSeenPerReplicaFieldBuilder();
        }
      }

      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (versionBuilder_ == null) {
          version_ = null;
        } else {
          versionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (seenPerReplicaBuilder_ == null) {
          seenPerReplica_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          seenPerReplicaBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedSnapshotMetadata_descriptor;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
          getDefaultInstanceForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata.getDefaultInstance();
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
          build() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
            result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
          buildPartial() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
            result =
                new akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedSnapshotMetadata(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (versionBuilder_ == null) {
            result.version_ = version_;
          } else {
            result.version_ = versionBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (seenPerReplicaBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            seenPerReplica_ = java.util.Collections.unmodifiableList(seenPerReplica_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.seenPerReplica_ = seenPerReplica_;
        } else {
          result.seenPerReplica_ = seenPerReplicaBuilder_.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.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedSnapshotMetadata) {
          return mergeFrom(
              (akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata)
                  other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
              other) {
        if (other
            == akka.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedSnapshotMetadata.getDefaultInstance()) return this;
        if (other.hasVersion()) {
          mergeVersion(other.getVersion());
        }
        if (seenPerReplicaBuilder_ == null) {
          if (!other.seenPerReplica_.isEmpty()) {
            if (seenPerReplica_.isEmpty()) {
              seenPerReplica_ = other.seenPerReplica_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureSeenPerReplicaIsMutable();
              seenPerReplica_.addAll(other.seenPerReplica_);
            }
            onChanged();
          }
        } else {
          if (!other.seenPerReplica_.isEmpty()) {
            if (seenPerReplicaBuilder_.isEmpty()) {
              seenPerReplicaBuilder_.dispose();
              seenPerReplicaBuilder_ = null;
              seenPerReplica_ = other.seenPerReplica_;
              bitField0_ = (bitField0_ & ~0x00000002);
              seenPerReplicaBuilder_ =
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders
                      ? getSeenPerReplicaFieldBuilder()
                      : null;
            } else {
              seenPerReplicaBuilder_.addAllMessages(other.seenPerReplica_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasVersion()) {
          return false;
        }
        if (!getVersion().isInitialized()) {
          return false;
        }
        for (int i = 0; i < getSeenPerReplicaCount(); i++) {
          if (!getSeenPerReplica(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.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
            parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata)
                  e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int bitField0_;

      private akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector version_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
          versionBuilder_;
      /**
       * <code>required .VersionVector version = 1;</code>
       *
       * @return Whether the version field is set.
       */
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .VersionVector version = 1;</code>
       *
       * @return The version.
       */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
          getVersion() {
        if (versionBuilder_ == null) {
          return version_ == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                  .getDefaultInstance()
              : version_;
        } else {
          return versionBuilder_.getMessage();
        }
      }
      /** <code>required .VersionVector version = 1;</code> */
      public Builder setVersion(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (versionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          version_ = value;
          onChanged();
        } else {
          versionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /** <code>required .VersionVector version = 1;</code> */
      public Builder setVersion(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
              builderForValue) {
        if (versionBuilder_ == null) {
          version_ = builderForValue.build();
          onChanged();
        } else {
          versionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /** <code>required .VersionVector version = 1;</code> */
      public Builder mergeVersion(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (versionBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)
              && version_ != null
              && version_
                  != akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .getDefaultInstance()) {
            version_ =
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                    .newBuilder(version_)
                    .mergeFrom(value)
                    .buildPartial();
          } else {
            version_ = value;
          }
          onChanged();
        } else {
          versionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /** <code>required .VersionVector version = 1;</code> */
      public Builder clearVersion() {
        if (versionBuilder_ == null) {
          version_ = null;
          onChanged();
        } else {
          versionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /** <code>required .VersionVector version = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
          getVersionBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getVersionFieldBuilder().getBuilder();
      }
      /** <code>required .VersionVector version = 1;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
          getVersionOrBuilder() {
        if (versionBuilder_ != null) {
          return versionBuilder_.getMessageOrBuilder();
        } else {
          return version_ == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                  .getDefaultInstance()
              : version_;
        }
      }
      /** <code>required .VersionVector version = 1;</code> */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
          getVersionFieldBuilder() {
        if (versionBuilder_ == null) {
          versionBuilder_ =
              new akka.protobufv3.internal.SingleFieldBuilderV3<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .Builder,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .VersionVectorOrBuilder>(getVersion(), getParentForChildren(), isClean());
          version_ = null;
        }
        return versionBuilder_;
      }

      private java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.Seen>
          seenPerReplica_ = java.util.Collections.emptyList();

      private void ensureSeenPerReplicaIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          seenPerReplica_ =
              new java.util.ArrayList<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata.Seen>(seenPerReplica_);
          bitField0_ |= 0x00000002;
        }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.Seen,
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.Seen.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.SeenOrBuilder>
          seenPerReplicaBuilder_;

      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.Seen>
          getSeenPerReplicaList() {
        if (seenPerReplicaBuilder_ == null) {
          return java.util.Collections.unmodifiableList(seenPerReplica_);
        } else {
          return seenPerReplicaBuilder_.getMessageList();
        }
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public int getSeenPerReplicaCount() {
        if (seenPerReplicaBuilder_ == null) {
          return seenPerReplica_.size();
        } else {
          return seenPerReplicaBuilder_.getCount();
        }
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
              .Seen
          getSeenPerReplica(int index) {
        if (seenPerReplicaBuilder_ == null) {
          return seenPerReplica_.get(index);
        } else {
          return seenPerReplicaBuilder_.getMessage(index);
        }
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public Builder setSeenPerReplica(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                  .Seen
              value) {
        if (seenPerReplicaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSeenPerReplicaIsMutable();
          seenPerReplica_.set(index, value);
          onChanged();
        } else {
          seenPerReplicaBuilder_.setMessage(index, value);
        }
        return this;
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public Builder setSeenPerReplica(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                  .Seen.Builder
              builderForValue) {
        if (seenPerReplicaBuilder_ == null) {
          ensureSeenPerReplicaIsMutable();
          seenPerReplica_.set(index, builderForValue.build());
          onChanged();
        } else {
          seenPerReplicaBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public Builder addSeenPerReplica(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                  .Seen
              value) {
        if (seenPerReplicaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSeenPerReplicaIsMutable();
          seenPerReplica_.add(value);
          onChanged();
        } else {
          seenPerReplicaBuilder_.addMessage(value);
        }
        return this;
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public Builder addSeenPerReplica(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                  .Seen
              value) {
        if (seenPerReplicaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSeenPerReplicaIsMutable();
          seenPerReplica_.add(index, value);
          onChanged();
        } else {
          seenPerReplicaBuilder_.addMessage(index, value);
        }
        return this;
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public Builder addSeenPerReplica(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                  .Seen.Builder
              builderForValue) {
        if (seenPerReplicaBuilder_ == null) {
          ensureSeenPerReplicaIsMutable();
          seenPerReplica_.add(builderForValue.build());
          onChanged();
        } else {
          seenPerReplicaBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public Builder addSeenPerReplica(
          int index,
          akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
                  .Seen.Builder
              builderForValue) {
        if (seenPerReplicaBuilder_ == null) {
          ensureSeenPerReplicaIsMutable();
          seenPerReplica_.add(index, builderForValue.build());
          onChanged();
        } else {
          seenPerReplicaBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public Builder addAllSeenPerReplica(
          java.lang.Iterable<
                  ? extends
                      akka.persistence.typed.serialization.ReplicatedEventSourcing
                          .ReplicatedSnapshotMetadata.Seen>
              values) {
        if (seenPerReplicaBuilder_ == null) {
          ensureSeenPerReplicaIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(values, seenPerReplica_);
          onChanged();
        } else {
          seenPerReplicaBuilder_.addAllMessages(values);
        }
        return this;
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public Builder clearSeenPerReplica() {
        if (seenPerReplicaBuilder_ == null) {
          seenPerReplica_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          seenPerReplicaBuilder_.clear();
        }
        return this;
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public Builder removeSeenPerReplica(int index) {
        if (seenPerReplicaBuilder_ == null) {
          ensureSeenPerReplicaIsMutable();
          seenPerReplica_.remove(index);
          onChanged();
        } else {
          seenPerReplicaBuilder_.remove(index);
        }
        return this;
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
              .Seen.Builder
          getSeenPerReplicaBuilder(int index) {
        return getSeenPerReplicaFieldBuilder().getBuilder(index);
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
              .SeenOrBuilder
          getSeenPerReplicaOrBuilder(int index) {
        if (seenPerReplicaBuilder_ == null) {
          return seenPerReplica_.get(index);
        } else {
          return seenPerReplicaBuilder_.getMessageOrBuilder(index);
        }
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public java.util.List<
              ? extends
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata.SeenOrBuilder>
          getSeenPerReplicaOrBuilderList() {
        if (seenPerReplicaBuilder_ != null) {
          return seenPerReplicaBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(seenPerReplica_);
        }
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
              .Seen.Builder
          addSeenPerReplicaBuilder() {
        return getSeenPerReplicaFieldBuilder()
            .addBuilder(
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedSnapshotMetadata.Seen.getDefaultInstance());
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
              .Seen.Builder
          addSeenPerReplicaBuilder(int index) {
        return getSeenPerReplicaFieldBuilder()
            .addBuilder(
                index,
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedSnapshotMetadata.Seen.getDefaultInstance());
      }
      /** <code>repeated .ReplicatedSnapshotMetadata.Seen seenPerReplica = 2;</code> */
      public java.util.List<
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.Seen.Builder>
          getSeenPerReplicaBuilderList() {
        return getSeenPerReplicaFieldBuilder().getBuilderList();
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.Seen,
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.Seen.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedSnapshotMetadata.SeenOrBuilder>
          getSeenPerReplicaFieldBuilder() {
        if (seenPerReplicaBuilder_ == null) {
          seenPerReplicaBuilder_ =
              new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata.Seen,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata.Seen.Builder,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedSnapshotMetadata.SeenOrBuilder>(
                  seenPerReplica_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          seenPerReplica_ = null;
        }
        return seenPerReplicaBuilder_;
      }

      @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:ReplicatedSnapshotMetadata)
    }

    // @@protoc_insertion_point(class_scope:ReplicatedSnapshotMetadata)
    private static final akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE =
          new akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedSnapshotMetadata();
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedSnapshotMetadata
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedSnapshotMetadata
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

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

    /**
     * <code>optional string replicaId = 1;</code>
     *
     * @return Whether the replicaId field is set.
     */
    boolean hasReplicaId();
    /**
     * <code>optional string replicaId = 1;</code>
     *
     * @return The replicaId.
     */
    java.lang.String getReplicaId();
    /**
     * <code>optional string replicaId = 1;</code>
     *
     * @return The bytes for replicaId.
     */
    akka.protobufv3.internal.ByteString getReplicaIdBytes();

    /**
     * <code>optional .VersionVector versionVector = 2;</code>
     *
     * @return Whether the versionVector field is set.
     */
    boolean hasVersionVector();
    /**
     * <code>optional .VersionVector versionVector = 2;</code>
     *
     * @return The versionVector.
     */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector getVersionVector();
    /** <code>optional .VersionVector versionVector = 2;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
        getVersionVectorOrBuilder();
  }
  /** Protobuf type {@code ReplicatedPublishedEventMetaData} */
  public static final class ReplicatedPublishedEventMetaData
      extends akka.protobufv3.internal.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:ReplicatedPublishedEventMetaData)
      ReplicatedPublishedEventMetaDataOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use ReplicatedPublishedEventMetaData.newBuilder() to construct.
    private ReplicatedPublishedEventMetaData(
        akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private ReplicatedPublishedEventMetaData() {
      replicaId_ = "";
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    private ReplicatedPublishedEventMetaData(
        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;
                replicaId_ = bs;
                break;
              }
            case 18:
              {
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
                    subBuilder = null;
                if (((bitField0_ & 0x00000002) != 0)) {
                  subBuilder = versionVector_.toBuilder();
                }
                versionVector_ =
                    input.readMessage(
                        akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                            .PARSER,
                        extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(versionVector_);
                  versionVector_ = 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.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_ReplicatedPublishedEventMetaData_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_ReplicatedPublishedEventMetaData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData.class,
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData.Builder.class);
    }

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

    public static final int VERSIONVECTOR_FIELD_NUMBER = 2;
    private akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        versionVector_;
    /**
     * <code>optional .VersionVector versionVector = 2;</code>
     *
     * @return Whether the versionVector field is set.
     */
    public boolean hasVersionVector() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional .VersionVector versionVector = 2;</code>
     *
     * @return The versionVector.
     */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
        getVersionVector() {
      return versionVector_ == null
          ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
              .getDefaultInstance()
          : versionVector_;
    }
    /** <code>optional .VersionVector versionVector = 2;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
        getVersionVectorOrBuilder() {
      return versionVector_ == null
          ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
              .getDefaultInstance()
          : versionVector_;
    }

    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 (hasVersionVector()) {
        if (!getVersionVector().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, replicaId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getVersionVector());
      }
      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, replicaId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size +=
            akka.protobufv3.internal.CodedOutputStream.computeMessageSize(2, getVersionVector());
      }
      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.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaData)) {
        return super.equals(obj);
      }
      akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedPublishedEventMetaData
          other =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedPublishedEventMetaData)
                  obj;

      if (hasReplicaId() != other.hasReplicaId()) return false;
      if (hasReplicaId()) {
        if (!getReplicaId().equals(other.getReplicaId())) return false;
      }
      if (hasVersionVector() != other.hasVersionVector()) return false;
      if (hasVersionVector()) {
        if (!getVersionVector().equals(other.getVersionVector())) 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 (hasReplicaId()) {
        hash = (37 * hash) + REPLICAID_FIELD_NUMBER;
        hash = (53 * hash) + getReplicaId().hashCode();
      }
      if (hasVersionVector()) {
        hash = (37 * hash) + VERSIONVECTOR_FIELD_NUMBER;
        hash = (53 * hash) + getVersionVector().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        parseFrom(java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        parseFrom(akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        parseFrom(byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        parseFrom(byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        parseFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        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.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        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.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        parseFrom(akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        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.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedPublishedEventMetaData
            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 ReplicatedPublishedEventMetaData} */
    public static final class Builder
        extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:ReplicatedPublishedEventMetaData)
        akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaDataOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedPublishedEventMetaData_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedPublishedEventMetaData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedPublishedEventMetaData.class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedPublishedEventMetaData.Builder.class);
      }

      // Construct using
      // akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedPublishedEventMetaData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }

      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders) {
          getVersionVectorFieldBuilder();
        }
      }

      @java.lang.Override
      public Builder clear() {
        super.clear();
        replicaId_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (versionVectorBuilder_ == null) {
          versionVector_ = null;
        } else {
          versionVectorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_ReplicatedPublishedEventMetaData_descriptor;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaData
          getDefaultInstanceForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData.getDefaultInstance();
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaData
          build() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedPublishedEventMetaData
            result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaData
          buildPartial() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedPublishedEventMetaData
            result =
                new akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedPublishedEventMetaData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.replicaId_ = replicaId_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (versionVectorBuilder_ == null) {
            result.versionVector_ = versionVector_;
          } else {
            result.versionVector_ = versionVectorBuilder_.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.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedPublishedEventMetaData) {
          return mergeFrom(
              (akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedPublishedEventMetaData)
                  other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData
              other) {
        if (other
            == akka.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedPublishedEventMetaData.getDefaultInstance()) return this;
        if (other.hasReplicaId()) {
          bitField0_ |= 0x00000001;
          replicaId_ = other.replicaId_;
          onChanged();
        }
        if (other.hasVersionVector()) {
          mergeVersionVector(other.getVersionVector());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (hasVersionVector()) {
          if (!getVersionVector().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.persistence.typed.serialization.ReplicatedEventSourcing
                .ReplicatedPublishedEventMetaData
            parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedPublishedEventMetaData)
                  e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int bitField0_;

      private java.lang.Object replicaId_ = "";
      /**
       * <code>optional string replicaId = 1;</code>
       *
       * @return Whether the replicaId field is set.
       */
      public boolean hasReplicaId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional string replicaId = 1;</code>
       *
       * @return The replicaId.
       */
      public java.lang.String getReplicaId() {
        java.lang.Object ref = replicaId_;
        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()) {
            replicaId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string replicaId = 1;</code>
       *
       * @return The bytes for replicaId.
       */
      public akka.protobufv3.internal.ByteString getReplicaIdBytes() {
        java.lang.Object ref = replicaId_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b =
              akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
          replicaId_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>optional string replicaId = 1;</code>
       *
       * @param value The replicaId to set.
       * @return This builder for chaining.
       */
      public Builder setReplicaId(java.lang.String value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        replicaId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string replicaId = 1;</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearReplicaId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        replicaId_ = getDefaultInstance().getReplicaId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string replicaId = 1;</code>
       *
       * @param value The bytes for replicaId to set.
       * @return This builder for chaining.
       */
      public Builder setReplicaIdBytes(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        replicaId_ = value;
        onChanged();
        return this;
      }

      private akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
          versionVector_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
          versionVectorBuilder_;
      /**
       * <code>optional .VersionVector versionVector = 2;</code>
       *
       * @return Whether the versionVector field is set.
       */
      public boolean hasVersionVector() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .VersionVector versionVector = 2;</code>
       *
       * @return The versionVector.
       */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
          getVersionVector() {
        if (versionVectorBuilder_ == null) {
          return versionVector_ == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                  .getDefaultInstance()
              : versionVector_;
        } else {
          return versionVectorBuilder_.getMessage();
        }
      }
      /** <code>optional .VersionVector versionVector = 2;</code> */
      public Builder setVersionVector(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (versionVectorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          versionVector_ = value;
          onChanged();
        } else {
          versionVectorBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /** <code>optional .VersionVector versionVector = 2;</code> */
      public Builder setVersionVector(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
              builderForValue) {
        if (versionVectorBuilder_ == null) {
          versionVector_ = builderForValue.build();
          onChanged();
        } else {
          versionVectorBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /** <code>optional .VersionVector versionVector = 2;</code> */
      public Builder mergeVersionVector(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector value) {
        if (versionVectorBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)
              && versionVector_ != null
              && versionVector_
                  != akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .getDefaultInstance()) {
            versionVector_ =
                akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                    .newBuilder(versionVector_)
                    .mergeFrom(value)
                    .buildPartial();
          } else {
            versionVector_ = value;
          }
          onChanged();
        } else {
          versionVectorBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /** <code>optional .VersionVector versionVector = 2;</code> */
      public Builder clearVersionVector() {
        if (versionVectorBuilder_ == null) {
          versionVector_ = null;
          onChanged();
        } else {
          versionVectorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /** <code>optional .VersionVector versionVector = 2;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder
          getVersionVectorBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getVersionVectorFieldBuilder().getBuilder();
      }
      /** <code>optional .VersionVector versionVector = 2;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder
          getVersionVectorOrBuilder() {
        if (versionVectorBuilder_ != null) {
          return versionVectorBuilder_.getMessageOrBuilder();
        } else {
          return versionVector_ == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                  .getDefaultInstance()
              : versionVector_;
        }
      }
      /** <code>optional .VersionVector versionVector = 2;</code> */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVectorOrBuilder>
          getVersionVectorFieldBuilder() {
        if (versionVectorBuilder_ == null) {
          versionVectorBuilder_ =
              new akka.protobufv3.internal.SingleFieldBuilderV3<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing.VersionVector
                      .Builder,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .VersionVectorOrBuilder>(
                  getVersionVector(), getParentForChildren(), isClean());
          versionVector_ = null;
        }
        return versionVectorBuilder_;
      }

      @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:ReplicatedPublishedEventMetaData)
    }

    // @@protoc_insertion_point(class_scope:ReplicatedPublishedEventMetaData)
    private static final akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE =
          new akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaData();
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

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

    /**
     * <code>optional string persistenceId = 1;</code>
     *
     * @return Whether the persistenceId field is set.
     */
    boolean hasPersistenceId();
    /**
     * <code>optional string persistenceId = 1;</code>
     *
     * @return The persistenceId.
     */
    java.lang.String getPersistenceId();
    /**
     * <code>optional string persistenceId = 1;</code>
     *
     * @return The bytes for persistenceId.
     */
    akka.protobufv3.internal.ByteString getPersistenceIdBytes();

    /**
     * <code>optional int64 sequenceNr = 2;</code>
     *
     * @return Whether the sequenceNr field is set.
     */
    boolean hasSequenceNr();
    /**
     * <code>optional int64 sequenceNr = 2;</code>
     *
     * @return The sequenceNr.
     */
    long getSequenceNr();

    /**
     * <code>optional .Payload payload = 3;</code>
     *
     * @return Whether the payload field is set.
     */
    boolean hasPayload();
    /**
     * <code>optional .Payload payload = 3;</code>
     *
     * @return The payload.
     */
    akka.remote.ContainerFormats.Payload getPayload();
    /** <code>optional .Payload payload = 3;</code> */
    akka.remote.ContainerFormats.PayloadOrBuilder getPayloadOrBuilder();

    /**
     * <code>optional int64 timestamp = 4;</code>
     *
     * @return Whether the timestamp field is set.
     */
    boolean hasTimestamp();
    /**
     * <code>optional int64 timestamp = 4;</code>
     *
     * @return The timestamp.
     */
    long getTimestamp();

    /**
     * <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code>
     *
     * @return Whether the metadata field is set.
     */
    boolean hasMetadata();
    /**
     * <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code>
     *
     * @return The metadata.
     */
    akka.persistence.typed.serialization.ReplicatedEventSourcing.ReplicatedPublishedEventMetaData
        getMetadata();
    /** <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code> */
    akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaDataOrBuilder
        getMetadataOrBuilder();
  }
  /** Protobuf type {@code PublishedEvent} */
  public static final class PublishedEvent extends akka.protobufv3.internal.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:PublishedEvent)
      PublishedEventOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use PublishedEvent.newBuilder() to construct.
    private PublishedEvent(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private PublishedEvent() {
      persistenceId_ = "";
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    private PublishedEvent(
        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;
                persistenceId_ = bs;
                break;
              }
            case 16:
              {
                bitField0_ |= 0x00000002;
                sequenceNr_ = input.readInt64();
                break;
              }
            case 26:
              {
                akka.remote.ContainerFormats.Payload.Builder subBuilder = null;
                if (((bitField0_ & 0x00000004) != 0)) {
                  subBuilder = payload_.toBuilder();
                }
                payload_ =
                    input.readMessage(
                        akka.remote.ContainerFormats.Payload.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(payload_);
                  payload_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000004;
                break;
              }
            case 32:
              {
                bitField0_ |= 0x00000008;
                timestamp_ = input.readInt64();
                break;
              }
            case 42:
              {
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                        .ReplicatedPublishedEventMetaData.Builder
                    subBuilder = null;
                if (((bitField0_ & 0x00000010) != 0)) {
                  subBuilder = metadata_.toBuilder();
                }
                metadata_ =
                    input.readMessage(
                        akka.persistence.typed.serialization.ReplicatedEventSourcing
                            .ReplicatedPublishedEventMetaData.PARSER,
                        extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(metadata_);
                  metadata_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000010;
                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.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_PublishedEvent_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.persistence.typed.serialization.ReplicatedEventSourcing
          .internal_static_PublishedEvent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent.class,
              akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent.Builder
                  .class);
    }

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

    public static final int SEQUENCENR_FIELD_NUMBER = 2;
    private long sequenceNr_;
    /**
     * <code>optional int64 sequenceNr = 2;</code>
     *
     * @return Whether the sequenceNr field is set.
     */
    public boolean hasSequenceNr() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional int64 sequenceNr = 2;</code>
     *
     * @return The sequenceNr.
     */
    public long getSequenceNr() {
      return sequenceNr_;
    }

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

    public static final int TIMESTAMP_FIELD_NUMBER = 4;
    private long timestamp_;
    /**
     * <code>optional int64 timestamp = 4;</code>
     *
     * @return Whether the timestamp field is set.
     */
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional int64 timestamp = 4;</code>
     *
     * @return The timestamp.
     */
    public long getTimestamp() {
      return timestamp_;
    }

    public static final int METADATA_FIELD_NUMBER = 5;
    private akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        metadata_;
    /**
     * <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code>
     *
     * @return Whether the metadata field is set.
     */
    public boolean hasMetadata() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code>
     *
     * @return The metadata.
     */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaData
        getMetadata() {
      return metadata_ == null
          ? akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaData.getDefaultInstance()
          : metadata_;
    }
    /** <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code> */
    public akka.persistence.typed.serialization.ReplicatedEventSourcing
            .ReplicatedPublishedEventMetaDataOrBuilder
        getMetadataOrBuilder() {
      return metadata_ == null
          ? akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaData.getDefaultInstance()
          : metadata_;
    }

    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()) {
        if (!getPayload().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasMetadata()) {
        if (!getMetadata().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, persistenceId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt64(2, sequenceNr_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getPayload());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeInt64(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeMessage(5, getMetadata());
      }
      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, persistenceId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream.computeInt64Size(2, sequenceNr_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(3, getPayload());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream.computeInt64Size(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream.computeMessageSize(5, getMetadata());
      }
      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.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent)) {
        return super.equals(obj);
      }
      akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent other =
          (akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent) obj;

      if (hasPersistenceId() != other.hasPersistenceId()) return false;
      if (hasPersistenceId()) {
        if (!getPersistenceId().equals(other.getPersistenceId())) return false;
      }
      if (hasSequenceNr() != other.hasSequenceNr()) return false;
      if (hasSequenceNr()) {
        if (getSequenceNr() != other.getSequenceNr()) return false;
      }
      if (hasPayload() != other.hasPayload()) return false;
      if (hasPayload()) {
        if (!getPayload().equals(other.getPayload())) return false;
      }
      if (hasTimestamp() != other.hasTimestamp()) return false;
      if (hasTimestamp()) {
        if (getTimestamp() != other.getTimestamp()) return false;
      }
      if (hasMetadata() != other.hasMetadata()) return false;
      if (hasMetadata()) {
        if (!getMetadata().equals(other.getMetadata())) 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 (hasPersistenceId()) {
        hash = (37 * hash) + PERSISTENCEID_FIELD_NUMBER;
        hash = (53 * hash) + getPersistenceId().hashCode();
      }
      if (hasSequenceNr()) {
        hash = (37 * hash) + SEQUENCENR_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(getSequenceNr());
      }
      if (hasPayload()) {
        hash = (37 * hash) + PAYLOAD_FIELD_NUMBER;
        hash = (53 * hash) + getPayload().hashCode();
      }
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(getTimestamp());
      }
      if (hasMetadata()) {
        hash = (37 * hash) + METADATA_FIELD_NUMBER;
        hash = (53 * hash) + getMetadata().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        parseFrom(java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        parseFrom(akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        parseFrom(byte[] data) throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        parseFrom(byte[] data, akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        parseFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        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.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        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.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        parseFrom(akka.protobufv3.internal.CodedInputStream input) throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        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.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent 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 PublishedEvent} */
    public static final class Builder
        extends akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:PublishedEvent)
        akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEventOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor getDescriptor() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_PublishedEvent_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_PublishedEvent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent.class,
                akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent.Builder
                    .class);
      }

      // Construct using
      // akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent.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();
          getMetadataFieldBuilder();
        }
      }

      @java.lang.Override
      public Builder clear() {
        super.clear();
        persistenceId_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNr_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (payloadBuilder_ == null) {
          payload_ = null;
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        if (metadataBuilder_ == null) {
          metadata_ = null;
        } else {
          metadataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor getDescriptorForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing
            .internal_static_PublishedEvent_descriptor;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
          getDefaultInstanceForType() {
        return akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
            .getDefaultInstance();
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent build() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent result =
            buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
          buildPartial() {
        akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent result =
            new akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.persistenceId_ = persistenceId_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.sequenceNr_ = sequenceNr_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          if (payloadBuilder_ == null) {
            result.payload_ = payload_;
          } else {
            result.payload_ = payloadBuilder_.build();
          }
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.timestamp_ = timestamp_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          if (metadataBuilder_ == null) {
            result.metadata_ = metadata_;
          } else {
            result.metadata_ = metadataBuilder_.build();
          }
          to_bitField0_ |= 0x00000010;
        }
        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.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent) {
          return mergeFrom(
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent) other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent other) {
        if (other
            == akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
                .getDefaultInstance()) return this;
        if (other.hasPersistenceId()) {
          bitField0_ |= 0x00000001;
          persistenceId_ = other.persistenceId_;
          onChanged();
        }
        if (other.hasSequenceNr()) {
          setSequenceNr(other.getSequenceNr());
        }
        if (other.hasPayload()) {
          mergePayload(other.getPayload());
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasMetadata()) {
          mergeMetadata(other.getMetadata());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (hasPayload()) {
          if (!getPayload().isInitialized()) {
            return false;
          }
        }
        if (hasMetadata()) {
          if (!getMetadata().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.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent parsedMessage =
            null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage =
              (akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent)
                  e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int bitField0_;

      private java.lang.Object persistenceId_ = "";
      /**
       * <code>optional string persistenceId = 1;</code>
       *
       * @return Whether the persistenceId field is set.
       */
      public boolean hasPersistenceId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional string persistenceId = 1;</code>
       *
       * @return The persistenceId.
       */
      public java.lang.String getPersistenceId() {
        java.lang.Object ref = persistenceId_;
        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()) {
            persistenceId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string persistenceId = 1;</code>
       *
       * @return The bytes for persistenceId.
       */
      public akka.protobufv3.internal.ByteString getPersistenceIdBytes() {
        java.lang.Object ref = persistenceId_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b =
              akka.protobufv3.internal.ByteString.copyFromUtf8((java.lang.String) ref);
          persistenceId_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>optional string persistenceId = 1;</code>
       *
       * @param value The persistenceId to set.
       * @return This builder for chaining.
       */
      public Builder setPersistenceId(java.lang.String value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        persistenceId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string persistenceId = 1;</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearPersistenceId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        persistenceId_ = getDefaultInstance().getPersistenceId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string persistenceId = 1;</code>
       *
       * @param value The bytes for persistenceId to set.
       * @return This builder for chaining.
       */
      public Builder setPersistenceIdBytes(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        persistenceId_ = value;
        onChanged();
        return this;
      }

      private long sequenceNr_;
      /**
       * <code>optional int64 sequenceNr = 2;</code>
       *
       * @return Whether the sequenceNr field is set.
       */
      public boolean hasSequenceNr() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional int64 sequenceNr = 2;</code>
       *
       * @return The sequenceNr.
       */
      public long getSequenceNr() {
        return sequenceNr_;
      }
      /**
       * <code>optional int64 sequenceNr = 2;</code>
       *
       * @param value The sequenceNr to set.
       * @return This builder for chaining.
       */
      public Builder setSequenceNr(long value) {
        bitField0_ |= 0x00000002;
        sequenceNr_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 sequenceNr = 2;</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearSequenceNr() {
        bitField0_ = (bitField0_ & ~0x00000002);
        sequenceNr_ = 0L;
        onChanged();
        return this;
      }

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

      private long timestamp_;
      /**
       * <code>optional int64 timestamp = 4;</code>
       *
       * @return Whether the timestamp field is set.
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional int64 timestamp = 4;</code>
       *
       * @return The timestamp.
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <code>optional int64 timestamp = 4;</code>
       *
       * @param value The timestamp to set.
       * @return This builder for chaining.
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000008;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 timestamp = 4;</code>
       *
       * @return This builder for chaining.
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000008);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      private akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaData
          metadata_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData,
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaDataOrBuilder>
          metadataBuilder_;
      /**
       * <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code>
       *
       * @return Whether the metadata field is set.
       */
      public boolean hasMetadata() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code>
       *
       * @return The metadata.
       */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaData
          getMetadata() {
        if (metadataBuilder_ == null) {
          return metadata_ == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData.getDefaultInstance()
              : metadata_;
        } else {
          return metadataBuilder_.getMessage();
        }
      }
      /** <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code> */
      public Builder setMetadata(
          akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData
              value) {
        if (metadataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          metadata_ = value;
          onChanged();
        } else {
          metadataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /** <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code> */
      public Builder setMetadata(
          akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData.Builder
              builderForValue) {
        if (metadataBuilder_ == null) {
          metadata_ = builderForValue.build();
          onChanged();
        } else {
          metadataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /** <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code> */
      public Builder mergeMetadata(
          akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData
              value) {
        if (metadataBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0)
              && metadata_ != null
              && metadata_
                  != akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedPublishedEventMetaData.getDefaultInstance()) {
            metadata_ =
                akka.persistence.typed.serialization.ReplicatedEventSourcing
                    .ReplicatedPublishedEventMetaData.newBuilder(metadata_)
                    .mergeFrom(value)
                    .buildPartial();
          } else {
            metadata_ = value;
          }
          onChanged();
        } else {
          metadataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /** <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code> */
      public Builder clearMetadata() {
        if (metadataBuilder_ == null) {
          metadata_ = null;
          onChanged();
        } else {
          metadataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /** <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaData.Builder
          getMetadataBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getMetadataFieldBuilder().getBuilder();
      }
      /** <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code> */
      public akka.persistence.typed.serialization.ReplicatedEventSourcing
              .ReplicatedPublishedEventMetaDataOrBuilder
          getMetadataOrBuilder() {
        if (metadataBuilder_ != null) {
          return metadataBuilder_.getMessageOrBuilder();
        } else {
          return metadata_ == null
              ? akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData.getDefaultInstance()
              : metadata_;
        }
      }
      /** <code>optional .ReplicatedPublishedEventMetaData metadata = 5;</code> */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData,
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaData.Builder,
              akka.persistence.typed.serialization.ReplicatedEventSourcing
                  .ReplicatedPublishedEventMetaDataOrBuilder>
          getMetadataFieldBuilder() {
        if (metadataBuilder_ == null) {
          metadataBuilder_ =
              new akka.protobufv3.internal.SingleFieldBuilderV3<
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedPublishedEventMetaData,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedPublishedEventMetaData.Builder,
                  akka.persistence.typed.serialization.ReplicatedEventSourcing
                      .ReplicatedPublishedEventMetaDataOrBuilder>(
                  getMetadata(), getParentForChildren(), isClean());
          metadata_ = null;
        }
        return metadataBuilder_;
      }

      @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:PublishedEvent)
    }

    // @@protoc_insertion_point(class_scope:PublishedEvent)
    private static final akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE =
          new akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent();
    }

    public static akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.persistence.typed.serialization.ReplicatedEventSourcing.PublishedEvent
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_Counter_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Counter_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_CounterUpdate_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_CounterUpdate_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_ORSet_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ORSet_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_ORSetDeltaGroup_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ORSetDeltaGroup_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_ORSetDeltaGroup_Entry_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ORSetDeltaGroup_Entry_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_VersionVector_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_VersionVector_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_VersionVector_Entry_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_VersionVector_Entry_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_ReplicatedEventMetadata_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ReplicatedEventMetadata_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_ReplicatedSnapshotMetadata_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ReplicatedSnapshotMetadata_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_ReplicatedSnapshotMetadata_Seen_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ReplicatedSnapshotMetadata_Seen_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_ReplicatedPublishedEventMetaData_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ReplicatedPublishedEventMetaData_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_PublishedEvent_descriptor;
  private static final akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_PublishedEvent_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\035ReplicatedEventSourcing.proto\032\026Contain"
          + "erFormats.proto\"\030\n\007Counter\022\r\n\005value\030\001 \002("
          + "\014\"\036\n\rCounterUpdate\022\r\n\005delta\030\001 \002(\014\"\304\001\n\005OR"
          + "Set\022\020\n\010originDc\030\001 \002(\t\022\037\n\007vvector\030\002 \002(\0132\016"
          + ".VersionVector\022\034\n\004dots\030\003 \003(\0132\016.VersionVe"
          + "ctor\022\026\n\016stringElements\030\004 \003(\t\022\027\n\013intEleme"
          + "nts\030\005 \003(\021B\002\020\001\022\030\n\014longElements\030\006 \003(\022B\002\020\001\022"
          + "\037\n\rotherElements\030\007 \003(\0132\010.Payload\"\201\001\n\017ORS"
          + "etDeltaGroup\022\'\n\007entries\030\001 \003(\0132\026.ORSetDel"
          + "taGroup.Entry\032E\n\005Entry\022 \n\toperation\030\001 \002("
          + "\0162\r.ORSetDeltaOp\022\032\n\nunderlying\030\002 \002(\0132\006.O"
          + "RSet\"]\n\rVersionVector\022%\n\007entries\030\001 \003(\0132\024"
          + ".VersionVector.Entry\032%\n\005Entry\022\013\n\003key\030\001 \002"
          + "(\t\022\017\n\007version\030\002 \002(\003\"\205\001\n\027ReplicatedEventM"
          + "etadata\022\025\n\roriginReplica\030\001 \002(\t\022\030\n\020origin"
          + "SequenceNr\030\002 \002(\003\022%\n\rversionVector\030\003 \002(\0132"
          + "\016.VersionVector\022\022\n\nconcurrent\030\004 \002(\010\"\246\001\n\032"
          + "ReplicatedSnapshotMetadata\022\037\n\007version\030\001 "
          + "\002(\0132\016.VersionVector\0228\n\016seenPerReplica\030\002 "
          + "\003(\0132 .ReplicatedSnapshotMetadata.Seen\032-\n"
          + "\004Seen\022\021\n\treplicaId\030\001 \002(\t\022\022\n\nsequenceNr\030\002"
          + " \002(\003\"\\\n ReplicatedPublishedEventMetaData"
          + "\022\021\n\treplicaId\030\001 \001(\t\022%\n\rversionVector\030\002 \001"
          + "(\0132\016.VersionVector\"\236\001\n\016PublishedEvent\022\025\n"
          + "\rpersistenceId\030\001 \001(\t\022\022\n\nsequenceNr\030\002 \001(\003"
          + "\022\031\n\007payload\030\003 \001(\0132\010.Payload\022\021\n\ttimestamp"
          + "\030\004 \001(\003\0223\n\010metadata\030\005 \001(\0132!.ReplicatedPub"
          + "lishedEventMetaData*-\n\014ORSetDeltaOp\022\007\n\003A"
          + "dd\020\000\022\n\n\006Remove\020\001\022\010\n\004Full\020\002B(\n$akka.persi"
          + "stence.typed.serializationH\001"
    };
    descriptor =
        akka.protobufv3.internal.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
            descriptorData,
            new akka.protobufv3.internal.Descriptors.FileDescriptor[] {
              akka.remote.ContainerFormats.getDescriptor(),
            });
    internal_static_Counter_descriptor = getDescriptor().getMessageTypes().get(0);
    internal_static_Counter_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_Counter_descriptor,
            new java.lang.String[] {
              "Value",
            });
    internal_static_CounterUpdate_descriptor = getDescriptor().getMessageTypes().get(1);
    internal_static_CounterUpdate_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_CounterUpdate_descriptor,
            new java.lang.String[] {
              "Delta",
            });
    internal_static_ORSet_descriptor = getDescriptor().getMessageTypes().get(2);
    internal_static_ORSet_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_ORSet_descriptor,
            new java.lang.String[] {
              "OriginDc",
              "Vvector",
              "Dots",
              "StringElements",
              "IntElements",
              "LongElements",
              "OtherElements",
            });
    internal_static_ORSetDeltaGroup_descriptor = getDescriptor().getMessageTypes().get(3);
    internal_static_ORSetDeltaGroup_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_ORSetDeltaGroup_descriptor,
            new java.lang.String[] {
              "Entries",
            });
    internal_static_ORSetDeltaGroup_Entry_descriptor =
        internal_static_ORSetDeltaGroup_descriptor.getNestedTypes().get(0);
    internal_static_ORSetDeltaGroup_Entry_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_ORSetDeltaGroup_Entry_descriptor,
            new java.lang.String[] {
              "Operation", "Underlying",
            });
    internal_static_VersionVector_descriptor = getDescriptor().getMessageTypes().get(4);
    internal_static_VersionVector_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_VersionVector_descriptor,
            new java.lang.String[] {
              "Entries",
            });
    internal_static_VersionVector_Entry_descriptor =
        internal_static_VersionVector_descriptor.getNestedTypes().get(0);
    internal_static_VersionVector_Entry_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_VersionVector_Entry_descriptor,
            new java.lang.String[] {
              "Key", "Version",
            });
    internal_static_ReplicatedEventMetadata_descriptor = getDescriptor().getMessageTypes().get(5);
    internal_static_ReplicatedEventMetadata_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_ReplicatedEventMetadata_descriptor,
            new java.lang.String[] {
              "OriginReplica", "OriginSequenceNr", "VersionVector", "Concurrent",
            });
    internal_static_ReplicatedSnapshotMetadata_descriptor =
        getDescriptor().getMessageTypes().get(6);
    internal_static_ReplicatedSnapshotMetadata_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_ReplicatedSnapshotMetadata_descriptor,
            new java.lang.String[] {
              "Version", "SeenPerReplica",
            });
    internal_static_ReplicatedSnapshotMetadata_Seen_descriptor =
        internal_static_ReplicatedSnapshotMetadata_descriptor.getNestedTypes().get(0);
    internal_static_ReplicatedSnapshotMetadata_Seen_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_ReplicatedSnapshotMetadata_Seen_descriptor,
            new java.lang.String[] {
              "ReplicaId", "SequenceNr",
            });
    internal_static_ReplicatedPublishedEventMetaData_descriptor =
        getDescriptor().getMessageTypes().get(7);
    internal_static_ReplicatedPublishedEventMetaData_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_ReplicatedPublishedEventMetaData_descriptor,
            new java.lang.String[] {
              "ReplicaId", "VersionVector",
            });
    internal_static_PublishedEvent_descriptor = getDescriptor().getMessageTypes().get(8);
    internal_static_PublishedEvent_fieldAccessorTable =
        new akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
            internal_static_PublishedEvent_descriptor,
            new java.lang.String[] {
              "PersistenceId", "SequenceNr", "Payload", "Timestamp", "Metadata",
            });
    akka.remote.ContainerFormats.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
