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

ai.promoted.proto.event.LogRequest Maven / Gradle / Ivy

There is a newer version: 3.2.0
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: proto/event/event.proto

package ai.promoted.proto.event;

/**
 * Protobuf type {@code event.LogRequest}
 */
public final class LogRequest extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:event.LogRequest)
    LogRequestOrBuilder {
private static final long serialVersionUID = 0L;
  // Use LogRequest.newBuilder() to construct.
  private LogRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private LogRequest() {
    user_ = java.util.Collections.emptyList();
    cohortMembership_ = java.util.Collections.emptyList();
    view_ = java.util.Collections.emptyList();
    autoView_ = java.util.Collections.emptyList();
    request_ = java.util.Collections.emptyList();
    insertion_ = java.util.Collections.emptyList();
    impression_ = java.util.Collections.emptyList();
    action_ = java.util.Collections.emptyList();
    deliveryLog_ = java.util.Collections.emptyList();
    diagnostics_ = java.util.Collections.emptyList();
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(
      UnusedPrivateParameter unused) {
    return new LogRequest();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private LogRequest(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    int mutable_bitField0_ = 0;
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 8: {

            platformId_ = input.readUInt64();
            break;
          }
          case 18: {
            ai.promoted.proto.common.UserInfo.Builder subBuilder = null;
            if (userInfo_ != null) {
              subBuilder = userInfo_.toBuilder();
            }
            userInfo_ = input.readMessage(ai.promoted.proto.common.UserInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(userInfo_);
              userInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 26: {
            ai.promoted.proto.common.Timing.Builder subBuilder = null;
            if (timing_ != null) {
              subBuilder = timing_.toBuilder();
            }
            timing_ = input.readMessage(ai.promoted.proto.common.Timing.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(timing_);
              timing_ = subBuilder.buildPartial();
            }

            break;
          }
          case 34: {
            ai.promoted.proto.common.ClientInfo.Builder subBuilder = null;
            if (clientInfo_ != null) {
              subBuilder = clientInfo_.toBuilder();
            }
            clientInfo_ = input.readMessage(ai.promoted.proto.common.ClientInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(clientInfo_);
              clientInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 58: {
            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
              user_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000001;
            }
            user_.add(
                input.readMessage(ai.promoted.proto.event.User.parser(), extensionRegistry));
            break;
          }
          case 66: {
            if (!((mutable_bitField0_ & 0x00000002) != 0)) {
              cohortMembership_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000002;
            }
            cohortMembership_.add(
                input.readMessage(ai.promoted.proto.event.CohortMembership.parser(), extensionRegistry));
            break;
          }
          case 90: {
            if (!((mutable_bitField0_ & 0x00000004) != 0)) {
              view_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000004;
            }
            view_.add(
                input.readMessage(ai.promoted.proto.event.View.parser(), extensionRegistry));
            break;
          }
          case 98: {
            if (!((mutable_bitField0_ & 0x00000010) != 0)) {
              request_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000010;
            }
            request_.add(
                input.readMessage(ai.promoted.proto.delivery.Request.parser(), extensionRegistry));
            break;
          }
          case 106: {
            if (!((mutable_bitField0_ & 0x00000020) != 0)) {
              insertion_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000020;
            }
            insertion_.add(
                input.readMessage(ai.promoted.proto.delivery.Insertion.parser(), extensionRegistry));
            break;
          }
          case 114: {
            if (!((mutable_bitField0_ & 0x00000040) != 0)) {
              impression_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000040;
            }
            impression_.add(
                input.readMessage(ai.promoted.proto.event.Impression.parser(), extensionRegistry));
            break;
          }
          case 122: {
            if (!((mutable_bitField0_ & 0x00000080) != 0)) {
              action_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000080;
            }
            action_.add(
                input.readMessage(ai.promoted.proto.event.Action.parser(), extensionRegistry));
            break;
          }
          case 146: {
            if (!((mutable_bitField0_ & 0x00000100) != 0)) {
              deliveryLog_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000100;
            }
            deliveryLog_.add(
                input.readMessage(ai.promoted.proto.delivery.DeliveryLog.parser(), extensionRegistry));
            break;
          }
          case 186: {
            if (!((mutable_bitField0_ & 0x00000200) != 0)) {
              diagnostics_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000200;
            }
            diagnostics_.add(
                input.readMessage(ai.promoted.proto.event.Diagnostics.parser(), extensionRegistry));
            break;
          }
          case 194: {
            ai.promoted.proto.common.Device.Builder subBuilder = null;
            if (device_ != null) {
              subBuilder = device_.toBuilder();
            }
            device_ = input.readMessage(ai.promoted.proto.common.Device.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(device_);
              device_ = subBuilder.buildPartial();
            }

            break;
          }
          case 202: {
            if (!((mutable_bitField0_ & 0x00000008) != 0)) {
              autoView_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000008;
            }
            autoView_.add(
                input.readMessage(ai.promoted.proto.event.AutoView.parser(), extensionRegistry));
            break;
          }
          default: {
            if (!parseUnknownField(
                input, unknownFields, extensionRegistry, tag)) {
              done = true;
            }
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      if (((mutable_bitField0_ & 0x00000001) != 0)) {
        user_ = java.util.Collections.unmodifiableList(user_);
      }
      if (((mutable_bitField0_ & 0x00000002) != 0)) {
        cohortMembership_ = java.util.Collections.unmodifiableList(cohortMembership_);
      }
      if (((mutable_bitField0_ & 0x00000004) != 0)) {
        view_ = java.util.Collections.unmodifiableList(view_);
      }
      if (((mutable_bitField0_ & 0x00000010) != 0)) {
        request_ = java.util.Collections.unmodifiableList(request_);
      }
      if (((mutable_bitField0_ & 0x00000020) != 0)) {
        insertion_ = java.util.Collections.unmodifiableList(insertion_);
      }
      if (((mutable_bitField0_ & 0x00000040) != 0)) {
        impression_ = java.util.Collections.unmodifiableList(impression_);
      }
      if (((mutable_bitField0_ & 0x00000080) != 0)) {
        action_ = java.util.Collections.unmodifiableList(action_);
      }
      if (((mutable_bitField0_ & 0x00000100) != 0)) {
        deliveryLog_ = java.util.Collections.unmodifiableList(deliveryLog_);
      }
      if (((mutable_bitField0_ & 0x00000200) != 0)) {
        diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_);
      }
      if (((mutable_bitField0_ & 0x00000008) != 0)) {
        autoView_ = java.util.Collections.unmodifiableList(autoView_);
      }
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return ai.promoted.proto.event.Event.internal_static_event_LogRequest_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return ai.promoted.proto.event.Event.internal_static_event_LogRequest_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            ai.promoted.proto.event.LogRequest.class, ai.promoted.proto.event.LogRequest.Builder.class);
  }

  public static final int PLATFORM_ID_FIELD_NUMBER = 1;
  private long platformId_;
  /**
   * uint64 platform_id = 1 [json_name = "platformId"];
   * @return The platformId.
   */
  @java.lang.Override
  public long getPlatformId() {
    return platformId_;
  }

  public static final int USER_INFO_FIELD_NUMBER = 2;
  private ai.promoted.proto.common.UserInfo userInfo_;
  /**
   * .common.UserInfo user_info = 2 [json_name = "userInfo"];
   * @return Whether the userInfo field is set.
   */
  @java.lang.Override
  public boolean hasUserInfo() {
    return userInfo_ != null;
  }
  /**
   * .common.UserInfo user_info = 2 [json_name = "userInfo"];
   * @return The userInfo.
   */
  @java.lang.Override
  public ai.promoted.proto.common.UserInfo getUserInfo() {
    return userInfo_ == null ? ai.promoted.proto.common.UserInfo.getDefaultInstance() : userInfo_;
  }
  /**
   * .common.UserInfo user_info = 2 [json_name = "userInfo"];
   */
  @java.lang.Override
  public ai.promoted.proto.common.UserInfoOrBuilder getUserInfoOrBuilder() {
    return getUserInfo();
  }

  public static final int TIMING_FIELD_NUMBER = 3;
  private ai.promoted.proto.common.Timing timing_;
  /**
   * .common.Timing timing = 3 [json_name = "timing"];
   * @return Whether the timing field is set.
   */
  @java.lang.Override
  public boolean hasTiming() {
    return timing_ != null;
  }
  /**
   * .common.Timing timing = 3 [json_name = "timing"];
   * @return The timing.
   */
  @java.lang.Override
  public ai.promoted.proto.common.Timing getTiming() {
    return timing_ == null ? ai.promoted.proto.common.Timing.getDefaultInstance() : timing_;
  }
  /**
   * .common.Timing timing = 3 [json_name = "timing"];
   */
  @java.lang.Override
  public ai.promoted.proto.common.TimingOrBuilder getTimingOrBuilder() {
    return getTiming();
  }

  public static final int CLIENT_INFO_FIELD_NUMBER = 4;
  private ai.promoted.proto.common.ClientInfo clientInfo_;
  /**
   * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
   * @return Whether the clientInfo field is set.
   */
  @java.lang.Override
  public boolean hasClientInfo() {
    return clientInfo_ != null;
  }
  /**
   * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
   * @return The clientInfo.
   */
  @java.lang.Override
  public ai.promoted.proto.common.ClientInfo getClientInfo() {
    return clientInfo_ == null ? ai.promoted.proto.common.ClientInfo.getDefaultInstance() : clientInfo_;
  }
  /**
   * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
   */
  @java.lang.Override
  public ai.promoted.proto.common.ClientInfoOrBuilder getClientInfoOrBuilder() {
    return getClientInfo();
  }

  public static final int DEVICE_FIELD_NUMBER = 24;
  private ai.promoted.proto.common.Device device_;
  /**
   * .common.Device device = 24 [json_name = "device"];
   * @return Whether the device field is set.
   */
  @java.lang.Override
  public boolean hasDevice() {
    return device_ != null;
  }
  /**
   * .common.Device device = 24 [json_name = "device"];
   * @return The device.
   */
  @java.lang.Override
  public ai.promoted.proto.common.Device getDevice() {
    return device_ == null ? ai.promoted.proto.common.Device.getDefaultInstance() : device_;
  }
  /**
   * .common.Device device = 24 [json_name = "device"];
   */
  @java.lang.Override
  public ai.promoted.proto.common.DeviceOrBuilder getDeviceOrBuilder() {
    return getDevice();
  }

  public static final int USER_FIELD_NUMBER = 7;
  private java.util.List user_;
  /**
   * repeated .event.User user = 7 [json_name = "user"];
   */
  @java.lang.Override
  public java.util.List getUserList() {
    return user_;
  }
  /**
   * repeated .event.User user = 7 [json_name = "user"];
   */
  @java.lang.Override
  public java.util.List 
      getUserOrBuilderList() {
    return user_;
  }
  /**
   * repeated .event.User user = 7 [json_name = "user"];
   */
  @java.lang.Override
  public int getUserCount() {
    return user_.size();
  }
  /**
   * repeated .event.User user = 7 [json_name = "user"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.User getUser(int index) {
    return user_.get(index);
  }
  /**
   * repeated .event.User user = 7 [json_name = "user"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.UserOrBuilder getUserOrBuilder(
      int index) {
    return user_.get(index);
  }

  public static final int COHORT_MEMBERSHIP_FIELD_NUMBER = 8;
  private java.util.List cohortMembership_;
  /**
   * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
   */
  @java.lang.Override
  public java.util.List getCohortMembershipList() {
    return cohortMembership_;
  }
  /**
   * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
   */
  @java.lang.Override
  public java.util.List 
      getCohortMembershipOrBuilderList() {
    return cohortMembership_;
  }
  /**
   * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
   */
  @java.lang.Override
  public int getCohortMembershipCount() {
    return cohortMembership_.size();
  }
  /**
   * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.CohortMembership getCohortMembership(int index) {
    return cohortMembership_.get(index);
  }
  /**
   * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.CohortMembershipOrBuilder getCohortMembershipOrBuilder(
      int index) {
    return cohortMembership_.get(index);
  }

  public static final int VIEW_FIELD_NUMBER = 11;
  private java.util.List view_;
  /**
   * repeated .event.View view = 11 [json_name = "view"];
   */
  @java.lang.Override
  public java.util.List getViewList() {
    return view_;
  }
  /**
   * repeated .event.View view = 11 [json_name = "view"];
   */
  @java.lang.Override
  public java.util.List 
      getViewOrBuilderList() {
    return view_;
  }
  /**
   * repeated .event.View view = 11 [json_name = "view"];
   */
  @java.lang.Override
  public int getViewCount() {
    return view_.size();
  }
  /**
   * repeated .event.View view = 11 [json_name = "view"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.View getView(int index) {
    return view_.get(index);
  }
  /**
   * repeated .event.View view = 11 [json_name = "view"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.ViewOrBuilder getViewOrBuilder(
      int index) {
    return view_.get(index);
  }

  public static final int AUTO_VIEW_FIELD_NUMBER = 25;
  private java.util.List autoView_;
  /**
   * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
   */
  @java.lang.Override
  public java.util.List getAutoViewList() {
    return autoView_;
  }
  /**
   * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
   */
  @java.lang.Override
  public java.util.List 
      getAutoViewOrBuilderList() {
    return autoView_;
  }
  /**
   * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
   */
  @java.lang.Override
  public int getAutoViewCount() {
    return autoView_.size();
  }
  /**
   * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.AutoView getAutoView(int index) {
    return autoView_.get(index);
  }
  /**
   * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.AutoViewOrBuilder getAutoViewOrBuilder(
      int index) {
    return autoView_.get(index);
  }

  public static final int REQUEST_FIELD_NUMBER = 12;
  private java.util.List request_;
  /**
   * repeated .delivery.Request request = 12 [json_name = "request"];
   */
  @java.lang.Override
  public java.util.List getRequestList() {
    return request_;
  }
  /**
   * repeated .delivery.Request request = 12 [json_name = "request"];
   */
  @java.lang.Override
  public java.util.List 
      getRequestOrBuilderList() {
    return request_;
  }
  /**
   * repeated .delivery.Request request = 12 [json_name = "request"];
   */
  @java.lang.Override
  public int getRequestCount() {
    return request_.size();
  }
  /**
   * repeated .delivery.Request request = 12 [json_name = "request"];
   */
  @java.lang.Override
  public ai.promoted.proto.delivery.Request getRequest(int index) {
    return request_.get(index);
  }
  /**
   * repeated .delivery.Request request = 12 [json_name = "request"];
   */
  @java.lang.Override
  public ai.promoted.proto.delivery.RequestOrBuilder getRequestOrBuilder(
      int index) {
    return request_.get(index);
  }

  public static final int INSERTION_FIELD_NUMBER = 13;
  private java.util.List insertion_;
  /**
   * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
   */
  @java.lang.Override
  public java.util.List getInsertionList() {
    return insertion_;
  }
  /**
   * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
   */
  @java.lang.Override
  public java.util.List 
      getInsertionOrBuilderList() {
    return insertion_;
  }
  /**
   * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
   */
  @java.lang.Override
  public int getInsertionCount() {
    return insertion_.size();
  }
  /**
   * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
   */
  @java.lang.Override
  public ai.promoted.proto.delivery.Insertion getInsertion(int index) {
    return insertion_.get(index);
  }
  /**
   * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
   */
  @java.lang.Override
  public ai.promoted.proto.delivery.InsertionOrBuilder getInsertionOrBuilder(
      int index) {
    return insertion_.get(index);
  }

  public static final int IMPRESSION_FIELD_NUMBER = 14;
  private java.util.List impression_;
  /**
   * repeated .event.Impression impression = 14 [json_name = "impression"];
   */
  @java.lang.Override
  public java.util.List getImpressionList() {
    return impression_;
  }
  /**
   * repeated .event.Impression impression = 14 [json_name = "impression"];
   */
  @java.lang.Override
  public java.util.List 
      getImpressionOrBuilderList() {
    return impression_;
  }
  /**
   * repeated .event.Impression impression = 14 [json_name = "impression"];
   */
  @java.lang.Override
  public int getImpressionCount() {
    return impression_.size();
  }
  /**
   * repeated .event.Impression impression = 14 [json_name = "impression"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.Impression getImpression(int index) {
    return impression_.get(index);
  }
  /**
   * repeated .event.Impression impression = 14 [json_name = "impression"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.ImpressionOrBuilder getImpressionOrBuilder(
      int index) {
    return impression_.get(index);
  }

  public static final int ACTION_FIELD_NUMBER = 15;
  private java.util.List action_;
  /**
   * repeated .event.Action action = 15 [json_name = "action"];
   */
  @java.lang.Override
  public java.util.List getActionList() {
    return action_;
  }
  /**
   * repeated .event.Action action = 15 [json_name = "action"];
   */
  @java.lang.Override
  public java.util.List 
      getActionOrBuilderList() {
    return action_;
  }
  /**
   * repeated .event.Action action = 15 [json_name = "action"];
   */
  @java.lang.Override
  public int getActionCount() {
    return action_.size();
  }
  /**
   * repeated .event.Action action = 15 [json_name = "action"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.Action getAction(int index) {
    return action_.get(index);
  }
  /**
   * repeated .event.Action action = 15 [json_name = "action"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.ActionOrBuilder getActionOrBuilder(
      int index) {
    return action_.get(index);
  }

  public static final int DELIVERY_LOG_FIELD_NUMBER = 18;
  private java.util.List deliveryLog_;
  /**
   * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
   */
  @java.lang.Override
  public java.util.List getDeliveryLogList() {
    return deliveryLog_;
  }
  /**
   * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
   */
  @java.lang.Override
  public java.util.List 
      getDeliveryLogOrBuilderList() {
    return deliveryLog_;
  }
  /**
   * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
   */
  @java.lang.Override
  public int getDeliveryLogCount() {
    return deliveryLog_.size();
  }
  /**
   * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
   */
  @java.lang.Override
  public ai.promoted.proto.delivery.DeliveryLog getDeliveryLog(int index) {
    return deliveryLog_.get(index);
  }
  /**
   * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
   */
  @java.lang.Override
  public ai.promoted.proto.delivery.DeliveryLogOrBuilder getDeliveryLogOrBuilder(
      int index) {
    return deliveryLog_.get(index);
  }

  public static final int DIAGNOSTICS_FIELD_NUMBER = 23;
  private java.util.List diagnostics_;
  /**
   * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
   */
  @java.lang.Override
  public java.util.List getDiagnosticsList() {
    return diagnostics_;
  }
  /**
   * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
   */
  @java.lang.Override
  public java.util.List 
      getDiagnosticsOrBuilderList() {
    return diagnostics_;
  }
  /**
   * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
   */
  @java.lang.Override
  public int getDiagnosticsCount() {
    return diagnostics_.size();
  }
  /**
   * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.Diagnostics getDiagnostics(int index) {
    return diagnostics_.get(index);
  }
  /**
   * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
   */
  @java.lang.Override
  public ai.promoted.proto.event.DiagnosticsOrBuilder getDiagnosticsOrBuilder(
      int index) {
    return diagnostics_.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;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (platformId_ != 0L) {
      output.writeUInt64(1, platformId_);
    }
    if (userInfo_ != null) {
      output.writeMessage(2, getUserInfo());
    }
    if (timing_ != null) {
      output.writeMessage(3, getTiming());
    }
    if (clientInfo_ != null) {
      output.writeMessage(4, getClientInfo());
    }
    for (int i = 0; i < user_.size(); i++) {
      output.writeMessage(7, user_.get(i));
    }
    for (int i = 0; i < cohortMembership_.size(); i++) {
      output.writeMessage(8, cohortMembership_.get(i));
    }
    for (int i = 0; i < view_.size(); i++) {
      output.writeMessage(11, view_.get(i));
    }
    for (int i = 0; i < request_.size(); i++) {
      output.writeMessage(12, request_.get(i));
    }
    for (int i = 0; i < insertion_.size(); i++) {
      output.writeMessage(13, insertion_.get(i));
    }
    for (int i = 0; i < impression_.size(); i++) {
      output.writeMessage(14, impression_.get(i));
    }
    for (int i = 0; i < action_.size(); i++) {
      output.writeMessage(15, action_.get(i));
    }
    for (int i = 0; i < deliveryLog_.size(); i++) {
      output.writeMessage(18, deliveryLog_.get(i));
    }
    for (int i = 0; i < diagnostics_.size(); i++) {
      output.writeMessage(23, diagnostics_.get(i));
    }
    if (device_ != null) {
      output.writeMessage(24, getDevice());
    }
    for (int i = 0; i < autoView_.size(); i++) {
      output.writeMessage(25, autoView_.get(i));
    }
    unknownFields.writeTo(output);
  }

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

    size = 0;
    if (platformId_ != 0L) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt64Size(1, platformId_);
    }
    if (userInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(2, getUserInfo());
    }
    if (timing_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(3, getTiming());
    }
    if (clientInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(4, getClientInfo());
    }
    for (int i = 0; i < user_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(7, user_.get(i));
    }
    for (int i = 0; i < cohortMembership_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(8, cohortMembership_.get(i));
    }
    for (int i = 0; i < view_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(11, view_.get(i));
    }
    for (int i = 0; i < request_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(12, request_.get(i));
    }
    for (int i = 0; i < insertion_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(13, insertion_.get(i));
    }
    for (int i = 0; i < impression_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(14, impression_.get(i));
    }
    for (int i = 0; i < action_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(15, action_.get(i));
    }
    for (int i = 0; i < deliveryLog_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(18, deliveryLog_.get(i));
    }
    for (int i = 0; i < diagnostics_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(23, diagnostics_.get(i));
    }
    if (device_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(24, getDevice());
    }
    for (int i = 0; i < autoView_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(25, autoView_.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 ai.promoted.proto.event.LogRequest)) {
      return super.equals(obj);
    }
    ai.promoted.proto.event.LogRequest other = (ai.promoted.proto.event.LogRequest) obj;

    if (getPlatformId()
        != other.getPlatformId()) return false;
    if (hasUserInfo() != other.hasUserInfo()) return false;
    if (hasUserInfo()) {
      if (!getUserInfo()
          .equals(other.getUserInfo())) return false;
    }
    if (hasTiming() != other.hasTiming()) return false;
    if (hasTiming()) {
      if (!getTiming()
          .equals(other.getTiming())) return false;
    }
    if (hasClientInfo() != other.hasClientInfo()) return false;
    if (hasClientInfo()) {
      if (!getClientInfo()
          .equals(other.getClientInfo())) return false;
    }
    if (hasDevice() != other.hasDevice()) return false;
    if (hasDevice()) {
      if (!getDevice()
          .equals(other.getDevice())) return false;
    }
    if (!getUserList()
        .equals(other.getUserList())) return false;
    if (!getCohortMembershipList()
        .equals(other.getCohortMembershipList())) return false;
    if (!getViewList()
        .equals(other.getViewList())) return false;
    if (!getAutoViewList()
        .equals(other.getAutoViewList())) return false;
    if (!getRequestList()
        .equals(other.getRequestList())) return false;
    if (!getInsertionList()
        .equals(other.getInsertionList())) return false;
    if (!getImpressionList()
        .equals(other.getImpressionList())) return false;
    if (!getActionList()
        .equals(other.getActionList())) return false;
    if (!getDeliveryLogList()
        .equals(other.getDeliveryLogList())) return false;
    if (!getDiagnosticsList()
        .equals(other.getDiagnosticsList())) 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();
    hash = (37 * hash) + PLATFORM_ID_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        getPlatformId());
    if (hasUserInfo()) {
      hash = (37 * hash) + USER_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getUserInfo().hashCode();
    }
    if (hasTiming()) {
      hash = (37 * hash) + TIMING_FIELD_NUMBER;
      hash = (53 * hash) + getTiming().hashCode();
    }
    if (hasClientInfo()) {
      hash = (37 * hash) + CLIENT_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getClientInfo().hashCode();
    }
    if (hasDevice()) {
      hash = (37 * hash) + DEVICE_FIELD_NUMBER;
      hash = (53 * hash) + getDevice().hashCode();
    }
    if (getUserCount() > 0) {
      hash = (37 * hash) + USER_FIELD_NUMBER;
      hash = (53 * hash) + getUserList().hashCode();
    }
    if (getCohortMembershipCount() > 0) {
      hash = (37 * hash) + COHORT_MEMBERSHIP_FIELD_NUMBER;
      hash = (53 * hash) + getCohortMembershipList().hashCode();
    }
    if (getViewCount() > 0) {
      hash = (37 * hash) + VIEW_FIELD_NUMBER;
      hash = (53 * hash) + getViewList().hashCode();
    }
    if (getAutoViewCount() > 0) {
      hash = (37 * hash) + AUTO_VIEW_FIELD_NUMBER;
      hash = (53 * hash) + getAutoViewList().hashCode();
    }
    if (getRequestCount() > 0) {
      hash = (37 * hash) + REQUEST_FIELD_NUMBER;
      hash = (53 * hash) + getRequestList().hashCode();
    }
    if (getInsertionCount() > 0) {
      hash = (37 * hash) + INSERTION_FIELD_NUMBER;
      hash = (53 * hash) + getInsertionList().hashCode();
    }
    if (getImpressionCount() > 0) {
      hash = (37 * hash) + IMPRESSION_FIELD_NUMBER;
      hash = (53 * hash) + getImpressionList().hashCode();
    }
    if (getActionCount() > 0) {
      hash = (37 * hash) + ACTION_FIELD_NUMBER;
      hash = (53 * hash) + getActionList().hashCode();
    }
    if (getDeliveryLogCount() > 0) {
      hash = (37 * hash) + DELIVERY_LOG_FIELD_NUMBER;
      hash = (53 * hash) + getDeliveryLogList().hashCode();
    }
    if (getDiagnosticsCount() > 0) {
      hash = (37 * hash) + DIAGNOSTICS_FIELD_NUMBER;
      hash = (53 * hash) + getDiagnosticsList().hashCode();
    }
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static ai.promoted.proto.event.LogRequest parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static ai.promoted.proto.event.LogRequest parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static ai.promoted.proto.event.LogRequest parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static ai.promoted.proto.event.LogRequest parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static ai.promoted.proto.event.LogRequest parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static ai.promoted.proto.event.LogRequest parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static ai.promoted.proto.event.LogRequest parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static ai.promoted.proto.event.LogRequest parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static ai.promoted.proto.event.LogRequest parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static ai.promoted.proto.event.LogRequest parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static ai.promoted.proto.event.LogRequest parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static ai.promoted.proto.event.LogRequest parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.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(ai.promoted.proto.event.LogRequest 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(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code event.LogRequest}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder implements
      // @@protoc_insertion_point(builder_implements:event.LogRequest)
      ai.promoted.proto.event.LogRequestOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ai.promoted.proto.event.Event.internal_static_event_LogRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ai.promoted.proto.event.Event.internal_static_event_LogRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ai.promoted.proto.event.LogRequest.class, ai.promoted.proto.event.LogRequest.Builder.class);
    }

    // Construct using ai.promoted.proto.event.LogRequest.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
        getUserFieldBuilder();
        getCohortMembershipFieldBuilder();
        getViewFieldBuilder();
        getAutoViewFieldBuilder();
        getRequestFieldBuilder();
        getInsertionFieldBuilder();
        getImpressionFieldBuilder();
        getActionFieldBuilder();
        getDeliveryLogFieldBuilder();
        getDiagnosticsFieldBuilder();
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      platformId_ = 0L;

      if (userInfoBuilder_ == null) {
        userInfo_ = null;
      } else {
        userInfo_ = null;
        userInfoBuilder_ = null;
      }
      if (timingBuilder_ == null) {
        timing_ = null;
      } else {
        timing_ = null;
        timingBuilder_ = null;
      }
      if (clientInfoBuilder_ == null) {
        clientInfo_ = null;
      } else {
        clientInfo_ = null;
        clientInfoBuilder_ = null;
      }
      if (deviceBuilder_ == null) {
        device_ = null;
      } else {
        device_ = null;
        deviceBuilder_ = null;
      }
      if (userBuilder_ == null) {
        user_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
      } else {
        userBuilder_.clear();
      }
      if (cohortMembershipBuilder_ == null) {
        cohortMembership_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
      } else {
        cohortMembershipBuilder_.clear();
      }
      if (viewBuilder_ == null) {
        view_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
      } else {
        viewBuilder_.clear();
      }
      if (autoViewBuilder_ == null) {
        autoView_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
      } else {
        autoViewBuilder_.clear();
      }
      if (requestBuilder_ == null) {
        request_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
      } else {
        requestBuilder_.clear();
      }
      if (insertionBuilder_ == null) {
        insertion_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
      } else {
        insertionBuilder_.clear();
      }
      if (impressionBuilder_ == null) {
        impression_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000040);
      } else {
        impressionBuilder_.clear();
      }
      if (actionBuilder_ == null) {
        action_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000080);
      } else {
        actionBuilder_.clear();
      }
      if (deliveryLogBuilder_ == null) {
        deliveryLog_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000100);
      } else {
        deliveryLogBuilder_.clear();
      }
      if (diagnosticsBuilder_ == null) {
        diagnostics_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000200);
      } else {
        diagnosticsBuilder_.clear();
      }
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return ai.promoted.proto.event.Event.internal_static_event_LogRequest_descriptor;
    }

    @java.lang.Override
    public ai.promoted.proto.event.LogRequest getDefaultInstanceForType() {
      return ai.promoted.proto.event.LogRequest.getDefaultInstance();
    }

    @java.lang.Override
    public ai.promoted.proto.event.LogRequest build() {
      ai.promoted.proto.event.LogRequest result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public ai.promoted.proto.event.LogRequest buildPartial() {
      ai.promoted.proto.event.LogRequest result = new ai.promoted.proto.event.LogRequest(this);
      int from_bitField0_ = bitField0_;
      result.platformId_ = platformId_;
      if (userInfoBuilder_ == null) {
        result.userInfo_ = userInfo_;
      } else {
        result.userInfo_ = userInfoBuilder_.build();
      }
      if (timingBuilder_ == null) {
        result.timing_ = timing_;
      } else {
        result.timing_ = timingBuilder_.build();
      }
      if (clientInfoBuilder_ == null) {
        result.clientInfo_ = clientInfo_;
      } else {
        result.clientInfo_ = clientInfoBuilder_.build();
      }
      if (deviceBuilder_ == null) {
        result.device_ = device_;
      } else {
        result.device_ = deviceBuilder_.build();
      }
      if (userBuilder_ == null) {
        if (((bitField0_ & 0x00000001) != 0)) {
          user_ = java.util.Collections.unmodifiableList(user_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.user_ = user_;
      } else {
        result.user_ = userBuilder_.build();
      }
      if (cohortMembershipBuilder_ == null) {
        if (((bitField0_ & 0x00000002) != 0)) {
          cohortMembership_ = java.util.Collections.unmodifiableList(cohortMembership_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.cohortMembership_ = cohortMembership_;
      } else {
        result.cohortMembership_ = cohortMembershipBuilder_.build();
      }
      if (viewBuilder_ == null) {
        if (((bitField0_ & 0x00000004) != 0)) {
          view_ = java.util.Collections.unmodifiableList(view_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.view_ = view_;
      } else {
        result.view_ = viewBuilder_.build();
      }
      if (autoViewBuilder_ == null) {
        if (((bitField0_ & 0x00000008) != 0)) {
          autoView_ = java.util.Collections.unmodifiableList(autoView_);
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.autoView_ = autoView_;
      } else {
        result.autoView_ = autoViewBuilder_.build();
      }
      if (requestBuilder_ == null) {
        if (((bitField0_ & 0x00000010) != 0)) {
          request_ = java.util.Collections.unmodifiableList(request_);
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.request_ = request_;
      } else {
        result.request_ = requestBuilder_.build();
      }
      if (insertionBuilder_ == null) {
        if (((bitField0_ & 0x00000020) != 0)) {
          insertion_ = java.util.Collections.unmodifiableList(insertion_);
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.insertion_ = insertion_;
      } else {
        result.insertion_ = insertionBuilder_.build();
      }
      if (impressionBuilder_ == null) {
        if (((bitField0_ & 0x00000040) != 0)) {
          impression_ = java.util.Collections.unmodifiableList(impression_);
          bitField0_ = (bitField0_ & ~0x00000040);
        }
        result.impression_ = impression_;
      } else {
        result.impression_ = impressionBuilder_.build();
      }
      if (actionBuilder_ == null) {
        if (((bitField0_ & 0x00000080) != 0)) {
          action_ = java.util.Collections.unmodifiableList(action_);
          bitField0_ = (bitField0_ & ~0x00000080);
        }
        result.action_ = action_;
      } else {
        result.action_ = actionBuilder_.build();
      }
      if (deliveryLogBuilder_ == null) {
        if (((bitField0_ & 0x00000100) != 0)) {
          deliveryLog_ = java.util.Collections.unmodifiableList(deliveryLog_);
          bitField0_ = (bitField0_ & ~0x00000100);
        }
        result.deliveryLog_ = deliveryLog_;
      } else {
        result.deliveryLog_ = deliveryLogBuilder_.build();
      }
      if (diagnosticsBuilder_ == null) {
        if (((bitField0_ & 0x00000200) != 0)) {
          diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_);
          bitField0_ = (bitField0_ & ~0x00000200);
        }
        result.diagnostics_ = diagnostics_;
      } else {
        result.diagnostics_ = diagnosticsBuilder_.build();
      }
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }
    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.setField(field, value);
    }
    @java.lang.Override
    public Builder clearField(
        com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }
    @java.lang.Override
    public Builder clearOneof(
        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }
    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }
    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }
    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof ai.promoted.proto.event.LogRequest) {
        return mergeFrom((ai.promoted.proto.event.LogRequest)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(ai.promoted.proto.event.LogRequest other) {
      if (other == ai.promoted.proto.event.LogRequest.getDefaultInstance()) return this;
      if (other.getPlatformId() != 0L) {
        setPlatformId(other.getPlatformId());
      }
      if (other.hasUserInfo()) {
        mergeUserInfo(other.getUserInfo());
      }
      if (other.hasTiming()) {
        mergeTiming(other.getTiming());
      }
      if (other.hasClientInfo()) {
        mergeClientInfo(other.getClientInfo());
      }
      if (other.hasDevice()) {
        mergeDevice(other.getDevice());
      }
      if (userBuilder_ == null) {
        if (!other.user_.isEmpty()) {
          if (user_.isEmpty()) {
            user_ = other.user_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureUserIsMutable();
            user_.addAll(other.user_);
          }
          onChanged();
        }
      } else {
        if (!other.user_.isEmpty()) {
          if (userBuilder_.isEmpty()) {
            userBuilder_.dispose();
            userBuilder_ = null;
            user_ = other.user_;
            bitField0_ = (bitField0_ & ~0x00000001);
            userBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getUserFieldBuilder() : null;
          } else {
            userBuilder_.addAllMessages(other.user_);
          }
        }
      }
      if (cohortMembershipBuilder_ == null) {
        if (!other.cohortMembership_.isEmpty()) {
          if (cohortMembership_.isEmpty()) {
            cohortMembership_ = other.cohortMembership_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureCohortMembershipIsMutable();
            cohortMembership_.addAll(other.cohortMembership_);
          }
          onChanged();
        }
      } else {
        if (!other.cohortMembership_.isEmpty()) {
          if (cohortMembershipBuilder_.isEmpty()) {
            cohortMembershipBuilder_.dispose();
            cohortMembershipBuilder_ = null;
            cohortMembership_ = other.cohortMembership_;
            bitField0_ = (bitField0_ & ~0x00000002);
            cohortMembershipBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getCohortMembershipFieldBuilder() : null;
          } else {
            cohortMembershipBuilder_.addAllMessages(other.cohortMembership_);
          }
        }
      }
      if (viewBuilder_ == null) {
        if (!other.view_.isEmpty()) {
          if (view_.isEmpty()) {
            view_ = other.view_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureViewIsMutable();
            view_.addAll(other.view_);
          }
          onChanged();
        }
      } else {
        if (!other.view_.isEmpty()) {
          if (viewBuilder_.isEmpty()) {
            viewBuilder_.dispose();
            viewBuilder_ = null;
            view_ = other.view_;
            bitField0_ = (bitField0_ & ~0x00000004);
            viewBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getViewFieldBuilder() : null;
          } else {
            viewBuilder_.addAllMessages(other.view_);
          }
        }
      }
      if (autoViewBuilder_ == null) {
        if (!other.autoView_.isEmpty()) {
          if (autoView_.isEmpty()) {
            autoView_ = other.autoView_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureAutoViewIsMutable();
            autoView_.addAll(other.autoView_);
          }
          onChanged();
        }
      } else {
        if (!other.autoView_.isEmpty()) {
          if (autoViewBuilder_.isEmpty()) {
            autoViewBuilder_.dispose();
            autoViewBuilder_ = null;
            autoView_ = other.autoView_;
            bitField0_ = (bitField0_ & ~0x00000008);
            autoViewBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getAutoViewFieldBuilder() : null;
          } else {
            autoViewBuilder_.addAllMessages(other.autoView_);
          }
        }
      }
      if (requestBuilder_ == null) {
        if (!other.request_.isEmpty()) {
          if (request_.isEmpty()) {
            request_ = other.request_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureRequestIsMutable();
            request_.addAll(other.request_);
          }
          onChanged();
        }
      } else {
        if (!other.request_.isEmpty()) {
          if (requestBuilder_.isEmpty()) {
            requestBuilder_.dispose();
            requestBuilder_ = null;
            request_ = other.request_;
            bitField0_ = (bitField0_ & ~0x00000010);
            requestBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRequestFieldBuilder() : null;
          } else {
            requestBuilder_.addAllMessages(other.request_);
          }
        }
      }
      if (insertionBuilder_ == null) {
        if (!other.insertion_.isEmpty()) {
          if (insertion_.isEmpty()) {
            insertion_ = other.insertion_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureInsertionIsMutable();
            insertion_.addAll(other.insertion_);
          }
          onChanged();
        }
      } else {
        if (!other.insertion_.isEmpty()) {
          if (insertionBuilder_.isEmpty()) {
            insertionBuilder_.dispose();
            insertionBuilder_ = null;
            insertion_ = other.insertion_;
            bitField0_ = (bitField0_ & ~0x00000020);
            insertionBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getInsertionFieldBuilder() : null;
          } else {
            insertionBuilder_.addAllMessages(other.insertion_);
          }
        }
      }
      if (impressionBuilder_ == null) {
        if (!other.impression_.isEmpty()) {
          if (impression_.isEmpty()) {
            impression_ = other.impression_;
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            ensureImpressionIsMutable();
            impression_.addAll(other.impression_);
          }
          onChanged();
        }
      } else {
        if (!other.impression_.isEmpty()) {
          if (impressionBuilder_.isEmpty()) {
            impressionBuilder_.dispose();
            impressionBuilder_ = null;
            impression_ = other.impression_;
            bitField0_ = (bitField0_ & ~0x00000040);
            impressionBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getImpressionFieldBuilder() : null;
          } else {
            impressionBuilder_.addAllMessages(other.impression_);
          }
        }
      }
      if (actionBuilder_ == null) {
        if (!other.action_.isEmpty()) {
          if (action_.isEmpty()) {
            action_ = other.action_;
            bitField0_ = (bitField0_ & ~0x00000080);
          } else {
            ensureActionIsMutable();
            action_.addAll(other.action_);
          }
          onChanged();
        }
      } else {
        if (!other.action_.isEmpty()) {
          if (actionBuilder_.isEmpty()) {
            actionBuilder_.dispose();
            actionBuilder_ = null;
            action_ = other.action_;
            bitField0_ = (bitField0_ & ~0x00000080);
            actionBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getActionFieldBuilder() : null;
          } else {
            actionBuilder_.addAllMessages(other.action_);
          }
        }
      }
      if (deliveryLogBuilder_ == null) {
        if (!other.deliveryLog_.isEmpty()) {
          if (deliveryLog_.isEmpty()) {
            deliveryLog_ = other.deliveryLog_;
            bitField0_ = (bitField0_ & ~0x00000100);
          } else {
            ensureDeliveryLogIsMutable();
            deliveryLog_.addAll(other.deliveryLog_);
          }
          onChanged();
        }
      } else {
        if (!other.deliveryLog_.isEmpty()) {
          if (deliveryLogBuilder_.isEmpty()) {
            deliveryLogBuilder_.dispose();
            deliveryLogBuilder_ = null;
            deliveryLog_ = other.deliveryLog_;
            bitField0_ = (bitField0_ & ~0x00000100);
            deliveryLogBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getDeliveryLogFieldBuilder() : null;
          } else {
            deliveryLogBuilder_.addAllMessages(other.deliveryLog_);
          }
        }
      }
      if (diagnosticsBuilder_ == null) {
        if (!other.diagnostics_.isEmpty()) {
          if (diagnostics_.isEmpty()) {
            diagnostics_ = other.diagnostics_;
            bitField0_ = (bitField0_ & ~0x00000200);
          } else {
            ensureDiagnosticsIsMutable();
            diagnostics_.addAll(other.diagnostics_);
          }
          onChanged();
        }
      } else {
        if (!other.diagnostics_.isEmpty()) {
          if (diagnosticsBuilder_.isEmpty()) {
            diagnosticsBuilder_.dispose();
            diagnosticsBuilder_ = null;
            diagnostics_ = other.diagnostics_;
            bitField0_ = (bitField0_ & ~0x00000200);
            diagnosticsBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getDiagnosticsFieldBuilder() : null;
          } else {
            diagnosticsBuilder_.addAllMessages(other.diagnostics_);
          }
        }
      }
      this.mergeUnknownFields(other.unknownFields);
      onChanged();
      return this;
    }

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

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      ai.promoted.proto.event.LogRequest parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (ai.promoted.proto.event.LogRequest) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }
    private int bitField0_;

    private long platformId_ ;
    /**
     * uint64 platform_id = 1 [json_name = "platformId"];
     * @return The platformId.
     */
    @java.lang.Override
    public long getPlatformId() {
      return platformId_;
    }
    /**
     * uint64 platform_id = 1 [json_name = "platformId"];
     * @param value The platformId to set.
     * @return This builder for chaining.
     */
    public Builder setPlatformId(long value) {
      
      platformId_ = value;
      onChanged();
      return this;
    }
    /**
     * uint64 platform_id = 1 [json_name = "platformId"];
     * @return This builder for chaining.
     */
    public Builder clearPlatformId() {
      
      platformId_ = 0L;
      onChanged();
      return this;
    }

    private ai.promoted.proto.common.UserInfo userInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        ai.promoted.proto.common.UserInfo, ai.promoted.proto.common.UserInfo.Builder, ai.promoted.proto.common.UserInfoOrBuilder> userInfoBuilder_;
    /**
     * .common.UserInfo user_info = 2 [json_name = "userInfo"];
     * @return Whether the userInfo field is set.
     */
    public boolean hasUserInfo() {
      return userInfoBuilder_ != null || userInfo_ != null;
    }
    /**
     * .common.UserInfo user_info = 2 [json_name = "userInfo"];
     * @return The userInfo.
     */
    public ai.promoted.proto.common.UserInfo getUserInfo() {
      if (userInfoBuilder_ == null) {
        return userInfo_ == null ? ai.promoted.proto.common.UserInfo.getDefaultInstance() : userInfo_;
      } else {
        return userInfoBuilder_.getMessage();
      }
    }
    /**
     * .common.UserInfo user_info = 2 [json_name = "userInfo"];
     */
    public Builder setUserInfo(ai.promoted.proto.common.UserInfo value) {
      if (userInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        userInfo_ = value;
        onChanged();
      } else {
        userInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * .common.UserInfo user_info = 2 [json_name = "userInfo"];
     */
    public Builder setUserInfo(
        ai.promoted.proto.common.UserInfo.Builder builderForValue) {
      if (userInfoBuilder_ == null) {
        userInfo_ = builderForValue.build();
        onChanged();
      } else {
        userInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * .common.UserInfo user_info = 2 [json_name = "userInfo"];
     */
    public Builder mergeUserInfo(ai.promoted.proto.common.UserInfo value) {
      if (userInfoBuilder_ == null) {
        if (userInfo_ != null) {
          userInfo_ =
            ai.promoted.proto.common.UserInfo.newBuilder(userInfo_).mergeFrom(value).buildPartial();
        } else {
          userInfo_ = value;
        }
        onChanged();
      } else {
        userInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * .common.UserInfo user_info = 2 [json_name = "userInfo"];
     */
    public Builder clearUserInfo() {
      if (userInfoBuilder_ == null) {
        userInfo_ = null;
        onChanged();
      } else {
        userInfo_ = null;
        userInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * .common.UserInfo user_info = 2 [json_name = "userInfo"];
     */
    public ai.promoted.proto.common.UserInfo.Builder getUserInfoBuilder() {
      
      onChanged();
      return getUserInfoFieldBuilder().getBuilder();
    }
    /**
     * .common.UserInfo user_info = 2 [json_name = "userInfo"];
     */
    public ai.promoted.proto.common.UserInfoOrBuilder getUserInfoOrBuilder() {
      if (userInfoBuilder_ != null) {
        return userInfoBuilder_.getMessageOrBuilder();
      } else {
        return userInfo_ == null ?
            ai.promoted.proto.common.UserInfo.getDefaultInstance() : userInfo_;
      }
    }
    /**
     * .common.UserInfo user_info = 2 [json_name = "userInfo"];
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        ai.promoted.proto.common.UserInfo, ai.promoted.proto.common.UserInfo.Builder, ai.promoted.proto.common.UserInfoOrBuilder> 
        getUserInfoFieldBuilder() {
      if (userInfoBuilder_ == null) {
        userInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            ai.promoted.proto.common.UserInfo, ai.promoted.proto.common.UserInfo.Builder, ai.promoted.proto.common.UserInfoOrBuilder>(
                getUserInfo(),
                getParentForChildren(),
                isClean());
        userInfo_ = null;
      }
      return userInfoBuilder_;
    }

    private ai.promoted.proto.common.Timing timing_;
    private com.google.protobuf.SingleFieldBuilderV3<
        ai.promoted.proto.common.Timing, ai.promoted.proto.common.Timing.Builder, ai.promoted.proto.common.TimingOrBuilder> timingBuilder_;
    /**
     * .common.Timing timing = 3 [json_name = "timing"];
     * @return Whether the timing field is set.
     */
    public boolean hasTiming() {
      return timingBuilder_ != null || timing_ != null;
    }
    /**
     * .common.Timing timing = 3 [json_name = "timing"];
     * @return The timing.
     */
    public ai.promoted.proto.common.Timing getTiming() {
      if (timingBuilder_ == null) {
        return timing_ == null ? ai.promoted.proto.common.Timing.getDefaultInstance() : timing_;
      } else {
        return timingBuilder_.getMessage();
      }
    }
    /**
     * .common.Timing timing = 3 [json_name = "timing"];
     */
    public Builder setTiming(ai.promoted.proto.common.Timing value) {
      if (timingBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        timing_ = value;
        onChanged();
      } else {
        timingBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * .common.Timing timing = 3 [json_name = "timing"];
     */
    public Builder setTiming(
        ai.promoted.proto.common.Timing.Builder builderForValue) {
      if (timingBuilder_ == null) {
        timing_ = builderForValue.build();
        onChanged();
      } else {
        timingBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * .common.Timing timing = 3 [json_name = "timing"];
     */
    public Builder mergeTiming(ai.promoted.proto.common.Timing value) {
      if (timingBuilder_ == null) {
        if (timing_ != null) {
          timing_ =
            ai.promoted.proto.common.Timing.newBuilder(timing_).mergeFrom(value).buildPartial();
        } else {
          timing_ = value;
        }
        onChanged();
      } else {
        timingBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * .common.Timing timing = 3 [json_name = "timing"];
     */
    public Builder clearTiming() {
      if (timingBuilder_ == null) {
        timing_ = null;
        onChanged();
      } else {
        timing_ = null;
        timingBuilder_ = null;
      }

      return this;
    }
    /**
     * .common.Timing timing = 3 [json_name = "timing"];
     */
    public ai.promoted.proto.common.Timing.Builder getTimingBuilder() {
      
      onChanged();
      return getTimingFieldBuilder().getBuilder();
    }
    /**
     * .common.Timing timing = 3 [json_name = "timing"];
     */
    public ai.promoted.proto.common.TimingOrBuilder getTimingOrBuilder() {
      if (timingBuilder_ != null) {
        return timingBuilder_.getMessageOrBuilder();
      } else {
        return timing_ == null ?
            ai.promoted.proto.common.Timing.getDefaultInstance() : timing_;
      }
    }
    /**
     * .common.Timing timing = 3 [json_name = "timing"];
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        ai.promoted.proto.common.Timing, ai.promoted.proto.common.Timing.Builder, ai.promoted.proto.common.TimingOrBuilder> 
        getTimingFieldBuilder() {
      if (timingBuilder_ == null) {
        timingBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            ai.promoted.proto.common.Timing, ai.promoted.proto.common.Timing.Builder, ai.promoted.proto.common.TimingOrBuilder>(
                getTiming(),
                getParentForChildren(),
                isClean());
        timing_ = null;
      }
      return timingBuilder_;
    }

    private ai.promoted.proto.common.ClientInfo clientInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        ai.promoted.proto.common.ClientInfo, ai.promoted.proto.common.ClientInfo.Builder, ai.promoted.proto.common.ClientInfoOrBuilder> clientInfoBuilder_;
    /**
     * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
     * @return Whether the clientInfo field is set.
     */
    public boolean hasClientInfo() {
      return clientInfoBuilder_ != null || clientInfo_ != null;
    }
    /**
     * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
     * @return The clientInfo.
     */
    public ai.promoted.proto.common.ClientInfo getClientInfo() {
      if (clientInfoBuilder_ == null) {
        return clientInfo_ == null ? ai.promoted.proto.common.ClientInfo.getDefaultInstance() : clientInfo_;
      } else {
        return clientInfoBuilder_.getMessage();
      }
    }
    /**
     * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
     */
    public Builder setClientInfo(ai.promoted.proto.common.ClientInfo value) {
      if (clientInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        clientInfo_ = value;
        onChanged();
      } else {
        clientInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
     */
    public Builder setClientInfo(
        ai.promoted.proto.common.ClientInfo.Builder builderForValue) {
      if (clientInfoBuilder_ == null) {
        clientInfo_ = builderForValue.build();
        onChanged();
      } else {
        clientInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
     */
    public Builder mergeClientInfo(ai.promoted.proto.common.ClientInfo value) {
      if (clientInfoBuilder_ == null) {
        if (clientInfo_ != null) {
          clientInfo_ =
            ai.promoted.proto.common.ClientInfo.newBuilder(clientInfo_).mergeFrom(value).buildPartial();
        } else {
          clientInfo_ = value;
        }
        onChanged();
      } else {
        clientInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
     */
    public Builder clearClientInfo() {
      if (clientInfoBuilder_ == null) {
        clientInfo_ = null;
        onChanged();
      } else {
        clientInfo_ = null;
        clientInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
     */
    public ai.promoted.proto.common.ClientInfo.Builder getClientInfoBuilder() {
      
      onChanged();
      return getClientInfoFieldBuilder().getBuilder();
    }
    /**
     * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
     */
    public ai.promoted.proto.common.ClientInfoOrBuilder getClientInfoOrBuilder() {
      if (clientInfoBuilder_ != null) {
        return clientInfoBuilder_.getMessageOrBuilder();
      } else {
        return clientInfo_ == null ?
            ai.promoted.proto.common.ClientInfo.getDefaultInstance() : clientInfo_;
      }
    }
    /**
     * .common.ClientInfo client_info = 4 [json_name = "clientInfo"];
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        ai.promoted.proto.common.ClientInfo, ai.promoted.proto.common.ClientInfo.Builder, ai.promoted.proto.common.ClientInfoOrBuilder> 
        getClientInfoFieldBuilder() {
      if (clientInfoBuilder_ == null) {
        clientInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            ai.promoted.proto.common.ClientInfo, ai.promoted.proto.common.ClientInfo.Builder, ai.promoted.proto.common.ClientInfoOrBuilder>(
                getClientInfo(),
                getParentForChildren(),
                isClean());
        clientInfo_ = null;
      }
      return clientInfoBuilder_;
    }

    private ai.promoted.proto.common.Device device_;
    private com.google.protobuf.SingleFieldBuilderV3<
        ai.promoted.proto.common.Device, ai.promoted.proto.common.Device.Builder, ai.promoted.proto.common.DeviceOrBuilder> deviceBuilder_;
    /**
     * .common.Device device = 24 [json_name = "device"];
     * @return Whether the device field is set.
     */
    public boolean hasDevice() {
      return deviceBuilder_ != null || device_ != null;
    }
    /**
     * .common.Device device = 24 [json_name = "device"];
     * @return The device.
     */
    public ai.promoted.proto.common.Device getDevice() {
      if (deviceBuilder_ == null) {
        return device_ == null ? ai.promoted.proto.common.Device.getDefaultInstance() : device_;
      } else {
        return deviceBuilder_.getMessage();
      }
    }
    /**
     * .common.Device device = 24 [json_name = "device"];
     */
    public Builder setDevice(ai.promoted.proto.common.Device value) {
      if (deviceBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        device_ = value;
        onChanged();
      } else {
        deviceBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * .common.Device device = 24 [json_name = "device"];
     */
    public Builder setDevice(
        ai.promoted.proto.common.Device.Builder builderForValue) {
      if (deviceBuilder_ == null) {
        device_ = builderForValue.build();
        onChanged();
      } else {
        deviceBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * .common.Device device = 24 [json_name = "device"];
     */
    public Builder mergeDevice(ai.promoted.proto.common.Device value) {
      if (deviceBuilder_ == null) {
        if (device_ != null) {
          device_ =
            ai.promoted.proto.common.Device.newBuilder(device_).mergeFrom(value).buildPartial();
        } else {
          device_ = value;
        }
        onChanged();
      } else {
        deviceBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * .common.Device device = 24 [json_name = "device"];
     */
    public Builder clearDevice() {
      if (deviceBuilder_ == null) {
        device_ = null;
        onChanged();
      } else {
        device_ = null;
        deviceBuilder_ = null;
      }

      return this;
    }
    /**
     * .common.Device device = 24 [json_name = "device"];
     */
    public ai.promoted.proto.common.Device.Builder getDeviceBuilder() {
      
      onChanged();
      return getDeviceFieldBuilder().getBuilder();
    }
    /**
     * .common.Device device = 24 [json_name = "device"];
     */
    public ai.promoted.proto.common.DeviceOrBuilder getDeviceOrBuilder() {
      if (deviceBuilder_ != null) {
        return deviceBuilder_.getMessageOrBuilder();
      } else {
        return device_ == null ?
            ai.promoted.proto.common.Device.getDefaultInstance() : device_;
      }
    }
    /**
     * .common.Device device = 24 [json_name = "device"];
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        ai.promoted.proto.common.Device, ai.promoted.proto.common.Device.Builder, ai.promoted.proto.common.DeviceOrBuilder> 
        getDeviceFieldBuilder() {
      if (deviceBuilder_ == null) {
        deviceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            ai.promoted.proto.common.Device, ai.promoted.proto.common.Device.Builder, ai.promoted.proto.common.DeviceOrBuilder>(
                getDevice(),
                getParentForChildren(),
                isClean());
        device_ = null;
      }
      return deviceBuilder_;
    }

    private java.util.List user_ =
      java.util.Collections.emptyList();
    private void ensureUserIsMutable() {
      if (!((bitField0_ & 0x00000001) != 0)) {
        user_ = new java.util.ArrayList(user_);
        bitField0_ |= 0x00000001;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.User, ai.promoted.proto.event.User.Builder, ai.promoted.proto.event.UserOrBuilder> userBuilder_;

    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public java.util.List getUserList() {
      if (userBuilder_ == null) {
        return java.util.Collections.unmodifiableList(user_);
      } else {
        return userBuilder_.getMessageList();
      }
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public int getUserCount() {
      if (userBuilder_ == null) {
        return user_.size();
      } else {
        return userBuilder_.getCount();
      }
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public ai.promoted.proto.event.User getUser(int index) {
      if (userBuilder_ == null) {
        return user_.get(index);
      } else {
        return userBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public Builder setUser(
        int index, ai.promoted.proto.event.User value) {
      if (userBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureUserIsMutable();
        user_.set(index, value);
        onChanged();
      } else {
        userBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public Builder setUser(
        int index, ai.promoted.proto.event.User.Builder builderForValue) {
      if (userBuilder_ == null) {
        ensureUserIsMutable();
        user_.set(index, builderForValue.build());
        onChanged();
      } else {
        userBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public Builder addUser(ai.promoted.proto.event.User value) {
      if (userBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureUserIsMutable();
        user_.add(value);
        onChanged();
      } else {
        userBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public Builder addUser(
        int index, ai.promoted.proto.event.User value) {
      if (userBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureUserIsMutable();
        user_.add(index, value);
        onChanged();
      } else {
        userBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public Builder addUser(
        ai.promoted.proto.event.User.Builder builderForValue) {
      if (userBuilder_ == null) {
        ensureUserIsMutable();
        user_.add(builderForValue.build());
        onChanged();
      } else {
        userBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public Builder addUser(
        int index, ai.promoted.proto.event.User.Builder builderForValue) {
      if (userBuilder_ == null) {
        ensureUserIsMutable();
        user_.add(index, builderForValue.build());
        onChanged();
      } else {
        userBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public Builder addAllUser(
        java.lang.Iterable values) {
      if (userBuilder_ == null) {
        ensureUserIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, user_);
        onChanged();
      } else {
        userBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public Builder clearUser() {
      if (userBuilder_ == null) {
        user_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
      } else {
        userBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public Builder removeUser(int index) {
      if (userBuilder_ == null) {
        ensureUserIsMutable();
        user_.remove(index);
        onChanged();
      } else {
        userBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public ai.promoted.proto.event.User.Builder getUserBuilder(
        int index) {
      return getUserFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public ai.promoted.proto.event.UserOrBuilder getUserOrBuilder(
        int index) {
      if (userBuilder_ == null) {
        return user_.get(index);  } else {
        return userBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public java.util.List 
         getUserOrBuilderList() {
      if (userBuilder_ != null) {
        return userBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(user_);
      }
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public ai.promoted.proto.event.User.Builder addUserBuilder() {
      return getUserFieldBuilder().addBuilder(
          ai.promoted.proto.event.User.getDefaultInstance());
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public ai.promoted.proto.event.User.Builder addUserBuilder(
        int index) {
      return getUserFieldBuilder().addBuilder(
          index, ai.promoted.proto.event.User.getDefaultInstance());
    }
    /**
     * repeated .event.User user = 7 [json_name = "user"];
     */
    public java.util.List 
         getUserBuilderList() {
      return getUserFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.User, ai.promoted.proto.event.User.Builder, ai.promoted.proto.event.UserOrBuilder> 
        getUserFieldBuilder() {
      if (userBuilder_ == null) {
        userBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            ai.promoted.proto.event.User, ai.promoted.proto.event.User.Builder, ai.promoted.proto.event.UserOrBuilder>(
                user_,
                ((bitField0_ & 0x00000001) != 0),
                getParentForChildren(),
                isClean());
        user_ = null;
      }
      return userBuilder_;
    }

    private java.util.List cohortMembership_ =
      java.util.Collections.emptyList();
    private void ensureCohortMembershipIsMutable() {
      if (!((bitField0_ & 0x00000002) != 0)) {
        cohortMembership_ = new java.util.ArrayList(cohortMembership_);
        bitField0_ |= 0x00000002;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.CohortMembership, ai.promoted.proto.event.CohortMembership.Builder, ai.promoted.proto.event.CohortMembershipOrBuilder> cohortMembershipBuilder_;

    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public java.util.List getCohortMembershipList() {
      if (cohortMembershipBuilder_ == null) {
        return java.util.Collections.unmodifiableList(cohortMembership_);
      } else {
        return cohortMembershipBuilder_.getMessageList();
      }
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public int getCohortMembershipCount() {
      if (cohortMembershipBuilder_ == null) {
        return cohortMembership_.size();
      } else {
        return cohortMembershipBuilder_.getCount();
      }
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public ai.promoted.proto.event.CohortMembership getCohortMembership(int index) {
      if (cohortMembershipBuilder_ == null) {
        return cohortMembership_.get(index);
      } else {
        return cohortMembershipBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public Builder setCohortMembership(
        int index, ai.promoted.proto.event.CohortMembership value) {
      if (cohortMembershipBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureCohortMembershipIsMutable();
        cohortMembership_.set(index, value);
        onChanged();
      } else {
        cohortMembershipBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public Builder setCohortMembership(
        int index, ai.promoted.proto.event.CohortMembership.Builder builderForValue) {
      if (cohortMembershipBuilder_ == null) {
        ensureCohortMembershipIsMutable();
        cohortMembership_.set(index, builderForValue.build());
        onChanged();
      } else {
        cohortMembershipBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public Builder addCohortMembership(ai.promoted.proto.event.CohortMembership value) {
      if (cohortMembershipBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureCohortMembershipIsMutable();
        cohortMembership_.add(value);
        onChanged();
      } else {
        cohortMembershipBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public Builder addCohortMembership(
        int index, ai.promoted.proto.event.CohortMembership value) {
      if (cohortMembershipBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureCohortMembershipIsMutable();
        cohortMembership_.add(index, value);
        onChanged();
      } else {
        cohortMembershipBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public Builder addCohortMembership(
        ai.promoted.proto.event.CohortMembership.Builder builderForValue) {
      if (cohortMembershipBuilder_ == null) {
        ensureCohortMembershipIsMutable();
        cohortMembership_.add(builderForValue.build());
        onChanged();
      } else {
        cohortMembershipBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public Builder addCohortMembership(
        int index, ai.promoted.proto.event.CohortMembership.Builder builderForValue) {
      if (cohortMembershipBuilder_ == null) {
        ensureCohortMembershipIsMutable();
        cohortMembership_.add(index, builderForValue.build());
        onChanged();
      } else {
        cohortMembershipBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public Builder addAllCohortMembership(
        java.lang.Iterable values) {
      if (cohortMembershipBuilder_ == null) {
        ensureCohortMembershipIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, cohortMembership_);
        onChanged();
      } else {
        cohortMembershipBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public Builder clearCohortMembership() {
      if (cohortMembershipBuilder_ == null) {
        cohortMembership_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
      } else {
        cohortMembershipBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public Builder removeCohortMembership(int index) {
      if (cohortMembershipBuilder_ == null) {
        ensureCohortMembershipIsMutable();
        cohortMembership_.remove(index);
        onChanged();
      } else {
        cohortMembershipBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public ai.promoted.proto.event.CohortMembership.Builder getCohortMembershipBuilder(
        int index) {
      return getCohortMembershipFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public ai.promoted.proto.event.CohortMembershipOrBuilder getCohortMembershipOrBuilder(
        int index) {
      if (cohortMembershipBuilder_ == null) {
        return cohortMembership_.get(index);  } else {
        return cohortMembershipBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public java.util.List 
         getCohortMembershipOrBuilderList() {
      if (cohortMembershipBuilder_ != null) {
        return cohortMembershipBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(cohortMembership_);
      }
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public ai.promoted.proto.event.CohortMembership.Builder addCohortMembershipBuilder() {
      return getCohortMembershipFieldBuilder().addBuilder(
          ai.promoted.proto.event.CohortMembership.getDefaultInstance());
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public ai.promoted.proto.event.CohortMembership.Builder addCohortMembershipBuilder(
        int index) {
      return getCohortMembershipFieldBuilder().addBuilder(
          index, ai.promoted.proto.event.CohortMembership.getDefaultInstance());
    }
    /**
     * repeated .event.CohortMembership cohort_membership = 8 [json_name = "cohortMembership"];
     */
    public java.util.List 
         getCohortMembershipBuilderList() {
      return getCohortMembershipFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.CohortMembership, ai.promoted.proto.event.CohortMembership.Builder, ai.promoted.proto.event.CohortMembershipOrBuilder> 
        getCohortMembershipFieldBuilder() {
      if (cohortMembershipBuilder_ == null) {
        cohortMembershipBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            ai.promoted.proto.event.CohortMembership, ai.promoted.proto.event.CohortMembership.Builder, ai.promoted.proto.event.CohortMembershipOrBuilder>(
                cohortMembership_,
                ((bitField0_ & 0x00000002) != 0),
                getParentForChildren(),
                isClean());
        cohortMembership_ = null;
      }
      return cohortMembershipBuilder_;
    }

    private java.util.List view_ =
      java.util.Collections.emptyList();
    private void ensureViewIsMutable() {
      if (!((bitField0_ & 0x00000004) != 0)) {
        view_ = new java.util.ArrayList(view_);
        bitField0_ |= 0x00000004;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.View, ai.promoted.proto.event.View.Builder, ai.promoted.proto.event.ViewOrBuilder> viewBuilder_;

    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public java.util.List getViewList() {
      if (viewBuilder_ == null) {
        return java.util.Collections.unmodifiableList(view_);
      } else {
        return viewBuilder_.getMessageList();
      }
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public int getViewCount() {
      if (viewBuilder_ == null) {
        return view_.size();
      } else {
        return viewBuilder_.getCount();
      }
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public ai.promoted.proto.event.View getView(int index) {
      if (viewBuilder_ == null) {
        return view_.get(index);
      } else {
        return viewBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public Builder setView(
        int index, ai.promoted.proto.event.View value) {
      if (viewBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureViewIsMutable();
        view_.set(index, value);
        onChanged();
      } else {
        viewBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public Builder setView(
        int index, ai.promoted.proto.event.View.Builder builderForValue) {
      if (viewBuilder_ == null) {
        ensureViewIsMutable();
        view_.set(index, builderForValue.build());
        onChanged();
      } else {
        viewBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public Builder addView(ai.promoted.proto.event.View value) {
      if (viewBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureViewIsMutable();
        view_.add(value);
        onChanged();
      } else {
        viewBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public Builder addView(
        int index, ai.promoted.proto.event.View value) {
      if (viewBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureViewIsMutable();
        view_.add(index, value);
        onChanged();
      } else {
        viewBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public Builder addView(
        ai.promoted.proto.event.View.Builder builderForValue) {
      if (viewBuilder_ == null) {
        ensureViewIsMutable();
        view_.add(builderForValue.build());
        onChanged();
      } else {
        viewBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public Builder addView(
        int index, ai.promoted.proto.event.View.Builder builderForValue) {
      if (viewBuilder_ == null) {
        ensureViewIsMutable();
        view_.add(index, builderForValue.build());
        onChanged();
      } else {
        viewBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public Builder addAllView(
        java.lang.Iterable values) {
      if (viewBuilder_ == null) {
        ensureViewIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, view_);
        onChanged();
      } else {
        viewBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public Builder clearView() {
      if (viewBuilder_ == null) {
        view_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
      } else {
        viewBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public Builder removeView(int index) {
      if (viewBuilder_ == null) {
        ensureViewIsMutable();
        view_.remove(index);
        onChanged();
      } else {
        viewBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public ai.promoted.proto.event.View.Builder getViewBuilder(
        int index) {
      return getViewFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public ai.promoted.proto.event.ViewOrBuilder getViewOrBuilder(
        int index) {
      if (viewBuilder_ == null) {
        return view_.get(index);  } else {
        return viewBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public java.util.List 
         getViewOrBuilderList() {
      if (viewBuilder_ != null) {
        return viewBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(view_);
      }
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public ai.promoted.proto.event.View.Builder addViewBuilder() {
      return getViewFieldBuilder().addBuilder(
          ai.promoted.proto.event.View.getDefaultInstance());
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public ai.promoted.proto.event.View.Builder addViewBuilder(
        int index) {
      return getViewFieldBuilder().addBuilder(
          index, ai.promoted.proto.event.View.getDefaultInstance());
    }
    /**
     * repeated .event.View view = 11 [json_name = "view"];
     */
    public java.util.List 
         getViewBuilderList() {
      return getViewFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.View, ai.promoted.proto.event.View.Builder, ai.promoted.proto.event.ViewOrBuilder> 
        getViewFieldBuilder() {
      if (viewBuilder_ == null) {
        viewBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            ai.promoted.proto.event.View, ai.promoted.proto.event.View.Builder, ai.promoted.proto.event.ViewOrBuilder>(
                view_,
                ((bitField0_ & 0x00000004) != 0),
                getParentForChildren(),
                isClean());
        view_ = null;
      }
      return viewBuilder_;
    }

    private java.util.List autoView_ =
      java.util.Collections.emptyList();
    private void ensureAutoViewIsMutable() {
      if (!((bitField0_ & 0x00000008) != 0)) {
        autoView_ = new java.util.ArrayList(autoView_);
        bitField0_ |= 0x00000008;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.AutoView, ai.promoted.proto.event.AutoView.Builder, ai.promoted.proto.event.AutoViewOrBuilder> autoViewBuilder_;

    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public java.util.List getAutoViewList() {
      if (autoViewBuilder_ == null) {
        return java.util.Collections.unmodifiableList(autoView_);
      } else {
        return autoViewBuilder_.getMessageList();
      }
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public int getAutoViewCount() {
      if (autoViewBuilder_ == null) {
        return autoView_.size();
      } else {
        return autoViewBuilder_.getCount();
      }
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public ai.promoted.proto.event.AutoView getAutoView(int index) {
      if (autoViewBuilder_ == null) {
        return autoView_.get(index);
      } else {
        return autoViewBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public Builder setAutoView(
        int index, ai.promoted.proto.event.AutoView value) {
      if (autoViewBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureAutoViewIsMutable();
        autoView_.set(index, value);
        onChanged();
      } else {
        autoViewBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public Builder setAutoView(
        int index, ai.promoted.proto.event.AutoView.Builder builderForValue) {
      if (autoViewBuilder_ == null) {
        ensureAutoViewIsMutable();
        autoView_.set(index, builderForValue.build());
        onChanged();
      } else {
        autoViewBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public Builder addAutoView(ai.promoted.proto.event.AutoView value) {
      if (autoViewBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureAutoViewIsMutable();
        autoView_.add(value);
        onChanged();
      } else {
        autoViewBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public Builder addAutoView(
        int index, ai.promoted.proto.event.AutoView value) {
      if (autoViewBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureAutoViewIsMutable();
        autoView_.add(index, value);
        onChanged();
      } else {
        autoViewBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public Builder addAutoView(
        ai.promoted.proto.event.AutoView.Builder builderForValue) {
      if (autoViewBuilder_ == null) {
        ensureAutoViewIsMutable();
        autoView_.add(builderForValue.build());
        onChanged();
      } else {
        autoViewBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public Builder addAutoView(
        int index, ai.promoted.proto.event.AutoView.Builder builderForValue) {
      if (autoViewBuilder_ == null) {
        ensureAutoViewIsMutable();
        autoView_.add(index, builderForValue.build());
        onChanged();
      } else {
        autoViewBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public Builder addAllAutoView(
        java.lang.Iterable values) {
      if (autoViewBuilder_ == null) {
        ensureAutoViewIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, autoView_);
        onChanged();
      } else {
        autoViewBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public Builder clearAutoView() {
      if (autoViewBuilder_ == null) {
        autoView_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
      } else {
        autoViewBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public Builder removeAutoView(int index) {
      if (autoViewBuilder_ == null) {
        ensureAutoViewIsMutable();
        autoView_.remove(index);
        onChanged();
      } else {
        autoViewBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public ai.promoted.proto.event.AutoView.Builder getAutoViewBuilder(
        int index) {
      return getAutoViewFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public ai.promoted.proto.event.AutoViewOrBuilder getAutoViewOrBuilder(
        int index) {
      if (autoViewBuilder_ == null) {
        return autoView_.get(index);  } else {
        return autoViewBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public java.util.List 
         getAutoViewOrBuilderList() {
      if (autoViewBuilder_ != null) {
        return autoViewBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(autoView_);
      }
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public ai.promoted.proto.event.AutoView.Builder addAutoViewBuilder() {
      return getAutoViewFieldBuilder().addBuilder(
          ai.promoted.proto.event.AutoView.getDefaultInstance());
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public ai.promoted.proto.event.AutoView.Builder addAutoViewBuilder(
        int index) {
      return getAutoViewFieldBuilder().addBuilder(
          index, ai.promoted.proto.event.AutoView.getDefaultInstance());
    }
    /**
     * repeated .event.AutoView auto_view = 25 [json_name = "autoView"];
     */
    public java.util.List 
         getAutoViewBuilderList() {
      return getAutoViewFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.AutoView, ai.promoted.proto.event.AutoView.Builder, ai.promoted.proto.event.AutoViewOrBuilder> 
        getAutoViewFieldBuilder() {
      if (autoViewBuilder_ == null) {
        autoViewBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            ai.promoted.proto.event.AutoView, ai.promoted.proto.event.AutoView.Builder, ai.promoted.proto.event.AutoViewOrBuilder>(
                autoView_,
                ((bitField0_ & 0x00000008) != 0),
                getParentForChildren(),
                isClean());
        autoView_ = null;
      }
      return autoViewBuilder_;
    }

    private java.util.List request_ =
      java.util.Collections.emptyList();
    private void ensureRequestIsMutable() {
      if (!((bitField0_ & 0x00000010) != 0)) {
        request_ = new java.util.ArrayList(request_);
        bitField0_ |= 0x00000010;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.delivery.Request, ai.promoted.proto.delivery.Request.Builder, ai.promoted.proto.delivery.RequestOrBuilder> requestBuilder_;

    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public java.util.List getRequestList() {
      if (requestBuilder_ == null) {
        return java.util.Collections.unmodifiableList(request_);
      } else {
        return requestBuilder_.getMessageList();
      }
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public int getRequestCount() {
      if (requestBuilder_ == null) {
        return request_.size();
      } else {
        return requestBuilder_.getCount();
      }
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public ai.promoted.proto.delivery.Request getRequest(int index) {
      if (requestBuilder_ == null) {
        return request_.get(index);
      } else {
        return requestBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public Builder setRequest(
        int index, ai.promoted.proto.delivery.Request value) {
      if (requestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequestIsMutable();
        request_.set(index, value);
        onChanged();
      } else {
        requestBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public Builder setRequest(
        int index, ai.promoted.proto.delivery.Request.Builder builderForValue) {
      if (requestBuilder_ == null) {
        ensureRequestIsMutable();
        request_.set(index, builderForValue.build());
        onChanged();
      } else {
        requestBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public Builder addRequest(ai.promoted.proto.delivery.Request value) {
      if (requestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequestIsMutable();
        request_.add(value);
        onChanged();
      } else {
        requestBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public Builder addRequest(
        int index, ai.promoted.proto.delivery.Request value) {
      if (requestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequestIsMutable();
        request_.add(index, value);
        onChanged();
      } else {
        requestBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public Builder addRequest(
        ai.promoted.proto.delivery.Request.Builder builderForValue) {
      if (requestBuilder_ == null) {
        ensureRequestIsMutable();
        request_.add(builderForValue.build());
        onChanged();
      } else {
        requestBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public Builder addRequest(
        int index, ai.promoted.proto.delivery.Request.Builder builderForValue) {
      if (requestBuilder_ == null) {
        ensureRequestIsMutable();
        request_.add(index, builderForValue.build());
        onChanged();
      } else {
        requestBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public Builder addAllRequest(
        java.lang.Iterable values) {
      if (requestBuilder_ == null) {
        ensureRequestIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, request_);
        onChanged();
      } else {
        requestBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public Builder clearRequest() {
      if (requestBuilder_ == null) {
        request_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
      } else {
        requestBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public Builder removeRequest(int index) {
      if (requestBuilder_ == null) {
        ensureRequestIsMutable();
        request_.remove(index);
        onChanged();
      } else {
        requestBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public ai.promoted.proto.delivery.Request.Builder getRequestBuilder(
        int index) {
      return getRequestFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public ai.promoted.proto.delivery.RequestOrBuilder getRequestOrBuilder(
        int index) {
      if (requestBuilder_ == null) {
        return request_.get(index);  } else {
        return requestBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public java.util.List 
         getRequestOrBuilderList() {
      if (requestBuilder_ != null) {
        return requestBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(request_);
      }
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public ai.promoted.proto.delivery.Request.Builder addRequestBuilder() {
      return getRequestFieldBuilder().addBuilder(
          ai.promoted.proto.delivery.Request.getDefaultInstance());
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public ai.promoted.proto.delivery.Request.Builder addRequestBuilder(
        int index) {
      return getRequestFieldBuilder().addBuilder(
          index, ai.promoted.proto.delivery.Request.getDefaultInstance());
    }
    /**
     * repeated .delivery.Request request = 12 [json_name = "request"];
     */
    public java.util.List 
         getRequestBuilderList() {
      return getRequestFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.delivery.Request, ai.promoted.proto.delivery.Request.Builder, ai.promoted.proto.delivery.RequestOrBuilder> 
        getRequestFieldBuilder() {
      if (requestBuilder_ == null) {
        requestBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            ai.promoted.proto.delivery.Request, ai.promoted.proto.delivery.Request.Builder, ai.promoted.proto.delivery.RequestOrBuilder>(
                request_,
                ((bitField0_ & 0x00000010) != 0),
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      return requestBuilder_;
    }

    private java.util.List insertion_ =
      java.util.Collections.emptyList();
    private void ensureInsertionIsMutable() {
      if (!((bitField0_ & 0x00000020) != 0)) {
        insertion_ = new java.util.ArrayList(insertion_);
        bitField0_ |= 0x00000020;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.delivery.Insertion, ai.promoted.proto.delivery.Insertion.Builder, ai.promoted.proto.delivery.InsertionOrBuilder> insertionBuilder_;

    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public java.util.List getInsertionList() {
      if (insertionBuilder_ == null) {
        return java.util.Collections.unmodifiableList(insertion_);
      } else {
        return insertionBuilder_.getMessageList();
      }
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public int getInsertionCount() {
      if (insertionBuilder_ == null) {
        return insertion_.size();
      } else {
        return insertionBuilder_.getCount();
      }
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public ai.promoted.proto.delivery.Insertion getInsertion(int index) {
      if (insertionBuilder_ == null) {
        return insertion_.get(index);
      } else {
        return insertionBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public Builder setInsertion(
        int index, ai.promoted.proto.delivery.Insertion value) {
      if (insertionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureInsertionIsMutable();
        insertion_.set(index, value);
        onChanged();
      } else {
        insertionBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public Builder setInsertion(
        int index, ai.promoted.proto.delivery.Insertion.Builder builderForValue) {
      if (insertionBuilder_ == null) {
        ensureInsertionIsMutable();
        insertion_.set(index, builderForValue.build());
        onChanged();
      } else {
        insertionBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public Builder addInsertion(ai.promoted.proto.delivery.Insertion value) {
      if (insertionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureInsertionIsMutable();
        insertion_.add(value);
        onChanged();
      } else {
        insertionBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public Builder addInsertion(
        int index, ai.promoted.proto.delivery.Insertion value) {
      if (insertionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureInsertionIsMutable();
        insertion_.add(index, value);
        onChanged();
      } else {
        insertionBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public Builder addInsertion(
        ai.promoted.proto.delivery.Insertion.Builder builderForValue) {
      if (insertionBuilder_ == null) {
        ensureInsertionIsMutable();
        insertion_.add(builderForValue.build());
        onChanged();
      } else {
        insertionBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public Builder addInsertion(
        int index, ai.promoted.proto.delivery.Insertion.Builder builderForValue) {
      if (insertionBuilder_ == null) {
        ensureInsertionIsMutable();
        insertion_.add(index, builderForValue.build());
        onChanged();
      } else {
        insertionBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public Builder addAllInsertion(
        java.lang.Iterable values) {
      if (insertionBuilder_ == null) {
        ensureInsertionIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, insertion_);
        onChanged();
      } else {
        insertionBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public Builder clearInsertion() {
      if (insertionBuilder_ == null) {
        insertion_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
      } else {
        insertionBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public Builder removeInsertion(int index) {
      if (insertionBuilder_ == null) {
        ensureInsertionIsMutable();
        insertion_.remove(index);
        onChanged();
      } else {
        insertionBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public ai.promoted.proto.delivery.Insertion.Builder getInsertionBuilder(
        int index) {
      return getInsertionFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public ai.promoted.proto.delivery.InsertionOrBuilder getInsertionOrBuilder(
        int index) {
      if (insertionBuilder_ == null) {
        return insertion_.get(index);  } else {
        return insertionBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public java.util.List 
         getInsertionOrBuilderList() {
      if (insertionBuilder_ != null) {
        return insertionBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(insertion_);
      }
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public ai.promoted.proto.delivery.Insertion.Builder addInsertionBuilder() {
      return getInsertionFieldBuilder().addBuilder(
          ai.promoted.proto.delivery.Insertion.getDefaultInstance());
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public ai.promoted.proto.delivery.Insertion.Builder addInsertionBuilder(
        int index) {
      return getInsertionFieldBuilder().addBuilder(
          index, ai.promoted.proto.delivery.Insertion.getDefaultInstance());
    }
    /**
     * repeated .delivery.Insertion insertion = 13 [json_name = "insertion"];
     */
    public java.util.List 
         getInsertionBuilderList() {
      return getInsertionFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.delivery.Insertion, ai.promoted.proto.delivery.Insertion.Builder, ai.promoted.proto.delivery.InsertionOrBuilder> 
        getInsertionFieldBuilder() {
      if (insertionBuilder_ == null) {
        insertionBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            ai.promoted.proto.delivery.Insertion, ai.promoted.proto.delivery.Insertion.Builder, ai.promoted.proto.delivery.InsertionOrBuilder>(
                insertion_,
                ((bitField0_ & 0x00000020) != 0),
                getParentForChildren(),
                isClean());
        insertion_ = null;
      }
      return insertionBuilder_;
    }

    private java.util.List impression_ =
      java.util.Collections.emptyList();
    private void ensureImpressionIsMutable() {
      if (!((bitField0_ & 0x00000040) != 0)) {
        impression_ = new java.util.ArrayList(impression_);
        bitField0_ |= 0x00000040;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.Impression, ai.promoted.proto.event.Impression.Builder, ai.promoted.proto.event.ImpressionOrBuilder> impressionBuilder_;

    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public java.util.List getImpressionList() {
      if (impressionBuilder_ == null) {
        return java.util.Collections.unmodifiableList(impression_);
      } else {
        return impressionBuilder_.getMessageList();
      }
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public int getImpressionCount() {
      if (impressionBuilder_ == null) {
        return impression_.size();
      } else {
        return impressionBuilder_.getCount();
      }
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public ai.promoted.proto.event.Impression getImpression(int index) {
      if (impressionBuilder_ == null) {
        return impression_.get(index);
      } else {
        return impressionBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public Builder setImpression(
        int index, ai.promoted.proto.event.Impression value) {
      if (impressionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureImpressionIsMutable();
        impression_.set(index, value);
        onChanged();
      } else {
        impressionBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public Builder setImpression(
        int index, ai.promoted.proto.event.Impression.Builder builderForValue) {
      if (impressionBuilder_ == null) {
        ensureImpressionIsMutable();
        impression_.set(index, builderForValue.build());
        onChanged();
      } else {
        impressionBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public Builder addImpression(ai.promoted.proto.event.Impression value) {
      if (impressionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureImpressionIsMutable();
        impression_.add(value);
        onChanged();
      } else {
        impressionBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public Builder addImpression(
        int index, ai.promoted.proto.event.Impression value) {
      if (impressionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureImpressionIsMutable();
        impression_.add(index, value);
        onChanged();
      } else {
        impressionBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public Builder addImpression(
        ai.promoted.proto.event.Impression.Builder builderForValue) {
      if (impressionBuilder_ == null) {
        ensureImpressionIsMutable();
        impression_.add(builderForValue.build());
        onChanged();
      } else {
        impressionBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public Builder addImpression(
        int index, ai.promoted.proto.event.Impression.Builder builderForValue) {
      if (impressionBuilder_ == null) {
        ensureImpressionIsMutable();
        impression_.add(index, builderForValue.build());
        onChanged();
      } else {
        impressionBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public Builder addAllImpression(
        java.lang.Iterable values) {
      if (impressionBuilder_ == null) {
        ensureImpressionIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, impression_);
        onChanged();
      } else {
        impressionBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public Builder clearImpression() {
      if (impressionBuilder_ == null) {
        impression_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
      } else {
        impressionBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public Builder removeImpression(int index) {
      if (impressionBuilder_ == null) {
        ensureImpressionIsMutable();
        impression_.remove(index);
        onChanged();
      } else {
        impressionBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public ai.promoted.proto.event.Impression.Builder getImpressionBuilder(
        int index) {
      return getImpressionFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public ai.promoted.proto.event.ImpressionOrBuilder getImpressionOrBuilder(
        int index) {
      if (impressionBuilder_ == null) {
        return impression_.get(index);  } else {
        return impressionBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public java.util.List 
         getImpressionOrBuilderList() {
      if (impressionBuilder_ != null) {
        return impressionBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(impression_);
      }
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public ai.promoted.proto.event.Impression.Builder addImpressionBuilder() {
      return getImpressionFieldBuilder().addBuilder(
          ai.promoted.proto.event.Impression.getDefaultInstance());
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public ai.promoted.proto.event.Impression.Builder addImpressionBuilder(
        int index) {
      return getImpressionFieldBuilder().addBuilder(
          index, ai.promoted.proto.event.Impression.getDefaultInstance());
    }
    /**
     * repeated .event.Impression impression = 14 [json_name = "impression"];
     */
    public java.util.List 
         getImpressionBuilderList() {
      return getImpressionFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.Impression, ai.promoted.proto.event.Impression.Builder, ai.promoted.proto.event.ImpressionOrBuilder> 
        getImpressionFieldBuilder() {
      if (impressionBuilder_ == null) {
        impressionBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            ai.promoted.proto.event.Impression, ai.promoted.proto.event.Impression.Builder, ai.promoted.proto.event.ImpressionOrBuilder>(
                impression_,
                ((bitField0_ & 0x00000040) != 0),
                getParentForChildren(),
                isClean());
        impression_ = null;
      }
      return impressionBuilder_;
    }

    private java.util.List action_ =
      java.util.Collections.emptyList();
    private void ensureActionIsMutable() {
      if (!((bitField0_ & 0x00000080) != 0)) {
        action_ = new java.util.ArrayList(action_);
        bitField0_ |= 0x00000080;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.Action, ai.promoted.proto.event.Action.Builder, ai.promoted.proto.event.ActionOrBuilder> actionBuilder_;

    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public java.util.List getActionList() {
      if (actionBuilder_ == null) {
        return java.util.Collections.unmodifiableList(action_);
      } else {
        return actionBuilder_.getMessageList();
      }
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public int getActionCount() {
      if (actionBuilder_ == null) {
        return action_.size();
      } else {
        return actionBuilder_.getCount();
      }
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public ai.promoted.proto.event.Action getAction(int index) {
      if (actionBuilder_ == null) {
        return action_.get(index);
      } else {
        return actionBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public Builder setAction(
        int index, ai.promoted.proto.event.Action value) {
      if (actionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureActionIsMutable();
        action_.set(index, value);
        onChanged();
      } else {
        actionBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public Builder setAction(
        int index, ai.promoted.proto.event.Action.Builder builderForValue) {
      if (actionBuilder_ == null) {
        ensureActionIsMutable();
        action_.set(index, builderForValue.build());
        onChanged();
      } else {
        actionBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public Builder addAction(ai.promoted.proto.event.Action value) {
      if (actionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureActionIsMutable();
        action_.add(value);
        onChanged();
      } else {
        actionBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public Builder addAction(
        int index, ai.promoted.proto.event.Action value) {
      if (actionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureActionIsMutable();
        action_.add(index, value);
        onChanged();
      } else {
        actionBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public Builder addAction(
        ai.promoted.proto.event.Action.Builder builderForValue) {
      if (actionBuilder_ == null) {
        ensureActionIsMutable();
        action_.add(builderForValue.build());
        onChanged();
      } else {
        actionBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public Builder addAction(
        int index, ai.promoted.proto.event.Action.Builder builderForValue) {
      if (actionBuilder_ == null) {
        ensureActionIsMutable();
        action_.add(index, builderForValue.build());
        onChanged();
      } else {
        actionBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public Builder addAllAction(
        java.lang.Iterable values) {
      if (actionBuilder_ == null) {
        ensureActionIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, action_);
        onChanged();
      } else {
        actionBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public Builder clearAction() {
      if (actionBuilder_ == null) {
        action_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
      } else {
        actionBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public Builder removeAction(int index) {
      if (actionBuilder_ == null) {
        ensureActionIsMutable();
        action_.remove(index);
        onChanged();
      } else {
        actionBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public ai.promoted.proto.event.Action.Builder getActionBuilder(
        int index) {
      return getActionFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public ai.promoted.proto.event.ActionOrBuilder getActionOrBuilder(
        int index) {
      if (actionBuilder_ == null) {
        return action_.get(index);  } else {
        return actionBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public java.util.List 
         getActionOrBuilderList() {
      if (actionBuilder_ != null) {
        return actionBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(action_);
      }
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public ai.promoted.proto.event.Action.Builder addActionBuilder() {
      return getActionFieldBuilder().addBuilder(
          ai.promoted.proto.event.Action.getDefaultInstance());
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public ai.promoted.proto.event.Action.Builder addActionBuilder(
        int index) {
      return getActionFieldBuilder().addBuilder(
          index, ai.promoted.proto.event.Action.getDefaultInstance());
    }
    /**
     * repeated .event.Action action = 15 [json_name = "action"];
     */
    public java.util.List 
         getActionBuilderList() {
      return getActionFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.Action, ai.promoted.proto.event.Action.Builder, ai.promoted.proto.event.ActionOrBuilder> 
        getActionFieldBuilder() {
      if (actionBuilder_ == null) {
        actionBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            ai.promoted.proto.event.Action, ai.promoted.proto.event.Action.Builder, ai.promoted.proto.event.ActionOrBuilder>(
                action_,
                ((bitField0_ & 0x00000080) != 0),
                getParentForChildren(),
                isClean());
        action_ = null;
      }
      return actionBuilder_;
    }

    private java.util.List deliveryLog_ =
      java.util.Collections.emptyList();
    private void ensureDeliveryLogIsMutable() {
      if (!((bitField0_ & 0x00000100) != 0)) {
        deliveryLog_ = new java.util.ArrayList(deliveryLog_);
        bitField0_ |= 0x00000100;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.delivery.DeliveryLog, ai.promoted.proto.delivery.DeliveryLog.Builder, ai.promoted.proto.delivery.DeliveryLogOrBuilder> deliveryLogBuilder_;

    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public java.util.List getDeliveryLogList() {
      if (deliveryLogBuilder_ == null) {
        return java.util.Collections.unmodifiableList(deliveryLog_);
      } else {
        return deliveryLogBuilder_.getMessageList();
      }
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public int getDeliveryLogCount() {
      if (deliveryLogBuilder_ == null) {
        return deliveryLog_.size();
      } else {
        return deliveryLogBuilder_.getCount();
      }
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public ai.promoted.proto.delivery.DeliveryLog getDeliveryLog(int index) {
      if (deliveryLogBuilder_ == null) {
        return deliveryLog_.get(index);
      } else {
        return deliveryLogBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public Builder setDeliveryLog(
        int index, ai.promoted.proto.delivery.DeliveryLog value) {
      if (deliveryLogBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureDeliveryLogIsMutable();
        deliveryLog_.set(index, value);
        onChanged();
      } else {
        deliveryLogBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public Builder setDeliveryLog(
        int index, ai.promoted.proto.delivery.DeliveryLog.Builder builderForValue) {
      if (deliveryLogBuilder_ == null) {
        ensureDeliveryLogIsMutable();
        deliveryLog_.set(index, builderForValue.build());
        onChanged();
      } else {
        deliveryLogBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public Builder addDeliveryLog(ai.promoted.proto.delivery.DeliveryLog value) {
      if (deliveryLogBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureDeliveryLogIsMutable();
        deliveryLog_.add(value);
        onChanged();
      } else {
        deliveryLogBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public Builder addDeliveryLog(
        int index, ai.promoted.proto.delivery.DeliveryLog value) {
      if (deliveryLogBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureDeliveryLogIsMutable();
        deliveryLog_.add(index, value);
        onChanged();
      } else {
        deliveryLogBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public Builder addDeliveryLog(
        ai.promoted.proto.delivery.DeliveryLog.Builder builderForValue) {
      if (deliveryLogBuilder_ == null) {
        ensureDeliveryLogIsMutable();
        deliveryLog_.add(builderForValue.build());
        onChanged();
      } else {
        deliveryLogBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public Builder addDeliveryLog(
        int index, ai.promoted.proto.delivery.DeliveryLog.Builder builderForValue) {
      if (deliveryLogBuilder_ == null) {
        ensureDeliveryLogIsMutable();
        deliveryLog_.add(index, builderForValue.build());
        onChanged();
      } else {
        deliveryLogBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public Builder addAllDeliveryLog(
        java.lang.Iterable values) {
      if (deliveryLogBuilder_ == null) {
        ensureDeliveryLogIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, deliveryLog_);
        onChanged();
      } else {
        deliveryLogBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public Builder clearDeliveryLog() {
      if (deliveryLogBuilder_ == null) {
        deliveryLog_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
      } else {
        deliveryLogBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public Builder removeDeliveryLog(int index) {
      if (deliveryLogBuilder_ == null) {
        ensureDeliveryLogIsMutable();
        deliveryLog_.remove(index);
        onChanged();
      } else {
        deliveryLogBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public ai.promoted.proto.delivery.DeliveryLog.Builder getDeliveryLogBuilder(
        int index) {
      return getDeliveryLogFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public ai.promoted.proto.delivery.DeliveryLogOrBuilder getDeliveryLogOrBuilder(
        int index) {
      if (deliveryLogBuilder_ == null) {
        return deliveryLog_.get(index);  } else {
        return deliveryLogBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public java.util.List 
         getDeliveryLogOrBuilderList() {
      if (deliveryLogBuilder_ != null) {
        return deliveryLogBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(deliveryLog_);
      }
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public ai.promoted.proto.delivery.DeliveryLog.Builder addDeliveryLogBuilder() {
      return getDeliveryLogFieldBuilder().addBuilder(
          ai.promoted.proto.delivery.DeliveryLog.getDefaultInstance());
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public ai.promoted.proto.delivery.DeliveryLog.Builder addDeliveryLogBuilder(
        int index) {
      return getDeliveryLogFieldBuilder().addBuilder(
          index, ai.promoted.proto.delivery.DeliveryLog.getDefaultInstance());
    }
    /**
     * repeated .delivery.DeliveryLog delivery_log = 18 [json_name = "deliveryLog"];
     */
    public java.util.List 
         getDeliveryLogBuilderList() {
      return getDeliveryLogFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.delivery.DeliveryLog, ai.promoted.proto.delivery.DeliveryLog.Builder, ai.promoted.proto.delivery.DeliveryLogOrBuilder> 
        getDeliveryLogFieldBuilder() {
      if (deliveryLogBuilder_ == null) {
        deliveryLogBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            ai.promoted.proto.delivery.DeliveryLog, ai.promoted.proto.delivery.DeliveryLog.Builder, ai.promoted.proto.delivery.DeliveryLogOrBuilder>(
                deliveryLog_,
                ((bitField0_ & 0x00000100) != 0),
                getParentForChildren(),
                isClean());
        deliveryLog_ = null;
      }
      return deliveryLogBuilder_;
    }

    private java.util.List diagnostics_ =
      java.util.Collections.emptyList();
    private void ensureDiagnosticsIsMutable() {
      if (!((bitField0_ & 0x00000200) != 0)) {
        diagnostics_ = new java.util.ArrayList(diagnostics_);
        bitField0_ |= 0x00000200;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.Diagnostics, ai.promoted.proto.event.Diagnostics.Builder, ai.promoted.proto.event.DiagnosticsOrBuilder> diagnosticsBuilder_;

    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public java.util.List getDiagnosticsList() {
      if (diagnosticsBuilder_ == null) {
        return java.util.Collections.unmodifiableList(diagnostics_);
      } else {
        return diagnosticsBuilder_.getMessageList();
      }
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public int getDiagnosticsCount() {
      if (diagnosticsBuilder_ == null) {
        return diagnostics_.size();
      } else {
        return diagnosticsBuilder_.getCount();
      }
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public ai.promoted.proto.event.Diagnostics getDiagnostics(int index) {
      if (diagnosticsBuilder_ == null) {
        return diagnostics_.get(index);
      } else {
        return diagnosticsBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public Builder setDiagnostics(
        int index, ai.promoted.proto.event.Diagnostics value) {
      if (diagnosticsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureDiagnosticsIsMutable();
        diagnostics_.set(index, value);
        onChanged();
      } else {
        diagnosticsBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public Builder setDiagnostics(
        int index, ai.promoted.proto.event.Diagnostics.Builder builderForValue) {
      if (diagnosticsBuilder_ == null) {
        ensureDiagnosticsIsMutable();
        diagnostics_.set(index, builderForValue.build());
        onChanged();
      } else {
        diagnosticsBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public Builder addDiagnostics(ai.promoted.proto.event.Diagnostics value) {
      if (diagnosticsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureDiagnosticsIsMutable();
        diagnostics_.add(value);
        onChanged();
      } else {
        diagnosticsBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public Builder addDiagnostics(
        int index, ai.promoted.proto.event.Diagnostics value) {
      if (diagnosticsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureDiagnosticsIsMutable();
        diagnostics_.add(index, value);
        onChanged();
      } else {
        diagnosticsBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public Builder addDiagnostics(
        ai.promoted.proto.event.Diagnostics.Builder builderForValue) {
      if (diagnosticsBuilder_ == null) {
        ensureDiagnosticsIsMutable();
        diagnostics_.add(builderForValue.build());
        onChanged();
      } else {
        diagnosticsBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public Builder addDiagnostics(
        int index, ai.promoted.proto.event.Diagnostics.Builder builderForValue) {
      if (diagnosticsBuilder_ == null) {
        ensureDiagnosticsIsMutable();
        diagnostics_.add(index, builderForValue.build());
        onChanged();
      } else {
        diagnosticsBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public Builder addAllDiagnostics(
        java.lang.Iterable values) {
      if (diagnosticsBuilder_ == null) {
        ensureDiagnosticsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, diagnostics_);
        onChanged();
      } else {
        diagnosticsBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public Builder clearDiagnostics() {
      if (diagnosticsBuilder_ == null) {
        diagnostics_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
      } else {
        diagnosticsBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public Builder removeDiagnostics(int index) {
      if (diagnosticsBuilder_ == null) {
        ensureDiagnosticsIsMutable();
        diagnostics_.remove(index);
        onChanged();
      } else {
        diagnosticsBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public ai.promoted.proto.event.Diagnostics.Builder getDiagnosticsBuilder(
        int index) {
      return getDiagnosticsFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public ai.promoted.proto.event.DiagnosticsOrBuilder getDiagnosticsOrBuilder(
        int index) {
      if (diagnosticsBuilder_ == null) {
        return diagnostics_.get(index);  } else {
        return diagnosticsBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public java.util.List 
         getDiagnosticsOrBuilderList() {
      if (diagnosticsBuilder_ != null) {
        return diagnosticsBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(diagnostics_);
      }
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public ai.promoted.proto.event.Diagnostics.Builder addDiagnosticsBuilder() {
      return getDiagnosticsFieldBuilder().addBuilder(
          ai.promoted.proto.event.Diagnostics.getDefaultInstance());
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public ai.promoted.proto.event.Diagnostics.Builder addDiagnosticsBuilder(
        int index) {
      return getDiagnosticsFieldBuilder().addBuilder(
          index, ai.promoted.proto.event.Diagnostics.getDefaultInstance());
    }
    /**
     * repeated .event.Diagnostics diagnostics = 23 [json_name = "diagnostics"];
     */
    public java.util.List 
         getDiagnosticsBuilderList() {
      return getDiagnosticsFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        ai.promoted.proto.event.Diagnostics, ai.promoted.proto.event.Diagnostics.Builder, ai.promoted.proto.event.DiagnosticsOrBuilder> 
        getDiagnosticsFieldBuilder() {
      if (diagnosticsBuilder_ == null) {
        diagnosticsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            ai.promoted.proto.event.Diagnostics, ai.promoted.proto.event.Diagnostics.Builder, ai.promoted.proto.event.DiagnosticsOrBuilder>(
                diagnostics_,
                ((bitField0_ & 0x00000200) != 0),
                getParentForChildren(),
                isClean());
        diagnostics_ = null;
      }
      return diagnosticsBuilder_;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }


    // @@protoc_insertion_point(builder_scope:event.LogRequest)
  }

  // @@protoc_insertion_point(class_scope:event.LogRequest)
  private static final ai.promoted.proto.event.LogRequest DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new ai.promoted.proto.event.LogRequest();
  }

  public static ai.promoted.proto.event.LogRequest getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public LogRequest parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return new LogRequest(input, extensionRegistry);
    }
  };

  public static com.google.protobuf.Parser parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public ai.promoted.proto.event.LogRequest getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy