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

package com.fca.uconnect.global;

public final class GlobalUconnectExtAda {
  private GlobalUconnectExtAda() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface AdaBundleEventOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.AdaBundleEvent)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Bundle upload time. Unit - UTC epoch in milliseconds.
     * </pre>
     *
     * <code>string timestamp = 1;</code>
     */
    java.lang.String getTimestamp();
    /**
     * <pre>
     *&#47; Bundle upload time. Unit - UTC epoch in milliseconds.
     * </pre>
     *
     * <code>string timestamp = 1;</code>
     */
    com.google.protobuf.ByteString
        getTimestampBytes();

    /**
     * <pre>
     *&#47; Vehicle Identification Number.
     * </pre>
     *
     * <code>string vin = 2;</code>
     */
    java.lang.String getVin();
    /**
     * <pre>
     *&#47; Vehicle Identification Number.
     * </pre>
     *
     * <code>string vin = 2;</code>
     */
    com.google.protobuf.ByteString
        getVinBytes();

    /**
     * <pre>
     *&#47; Policy id.
     * </pre>
     *
     * <code>int64 id = 3;</code>
     */
    long getId();

    /**
     * <pre>
     *&#47; TBD.
     * </pre>
     *
     * <code>string hash = 4;</code>
     */
    java.lang.String getHash();
    /**
     * <pre>
     *&#47; TBD.
     * </pre>
     *
     * <code>string hash = 4;</code>
     */
    com.google.protobuf.ByteString
        getHashBytes();

    /**
     * <pre>
     *&#47; Period of plan for which data is being uploaded.
     * </pre>
     *
     * <code>int64 period = 5;</code>
     */
    long getPeriod();

    /**
     * <pre>
     *&#47; List of data bundles.
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
     */
    java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle> 
        getBundleList();
    /**
     * <pre>
     *&#47; List of data bundles.
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle getBundle(int index);
    /**
     * <pre>
     *&#47; List of data bundles.
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
     */
    int getBundleCount();
    /**
     * <pre>
     *&#47; List of data bundles.
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
     */
    java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleOrBuilder> 
        getBundleOrBuilderList();
    /**
     * <pre>
     *&#47; List of data bundles.
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleOrBuilder getBundleOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.AdaBundleEvent}
   */
  public  static final class AdaBundleEvent extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.AdaBundleEvent)
      AdaBundleEventOrBuilder {
    // Use AdaBundleEvent.newBuilder() to construct.
    private AdaBundleEvent(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AdaBundleEvent() {
      timestamp_ = "";
      vin_ = "";
      id_ = 0L;
      hash_ = "";
      period_ = 0L;
      bundle_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private AdaBundleEvent(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              timestamp_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              vin_ = s;
              break;
            }
            case 24: {

              id_ = input.readInt64();
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              hash_ = s;
              break;
            }
            case 40: {

              period_ = input.readInt64();
              break;
            }
            case 50: {
              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
                bundle_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle>();
                mutable_bitField0_ |= 0x00000020;
              }
              bundle_.add(
                  input.readMessage(com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.parser(), extensionRegistry));
              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_ & 0x00000020) == 0x00000020)) {
          bundle_ = java.util.Collections.unmodifiableList(bundle_);
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundleEvent_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundleEvent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent.Builder.class);
    }

    private int bitField0_;
    public static final int TIMESTAMP_FIELD_NUMBER = 1;
    private volatile java.lang.Object timestamp_;
    /**
     * <pre>
     *&#47; Bundle upload time. Unit - UTC epoch in milliseconds.
     * </pre>
     *
     * <code>string timestamp = 1;</code>
     */
    public java.lang.String getTimestamp() {
      java.lang.Object ref = timestamp_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        timestamp_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *&#47; Bundle upload time. Unit - UTC epoch in milliseconds.
     * </pre>
     *
     * <code>string timestamp = 1;</code>
     */
    public com.google.protobuf.ByteString
        getTimestampBytes() {
      java.lang.Object ref = timestamp_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        timestamp_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VIN_FIELD_NUMBER = 2;
    private volatile java.lang.Object vin_;
    /**
     * <pre>
     *&#47; Vehicle Identification Number.
     * </pre>
     *
     * <code>string vin = 2;</code>
     */
    public java.lang.String getVin() {
      java.lang.Object ref = vin_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        vin_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *&#47; Vehicle Identification Number.
     * </pre>
     *
     * <code>string vin = 2;</code>
     */
    public com.google.protobuf.ByteString
        getVinBytes() {
      java.lang.Object ref = vin_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        vin_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ID_FIELD_NUMBER = 3;
    private long id_;
    /**
     * <pre>
     *&#47; Policy id.
     * </pre>
     *
     * <code>int64 id = 3;</code>
     */
    public long getId() {
      return id_;
    }

    public static final int HASH_FIELD_NUMBER = 4;
    private volatile java.lang.Object hash_;
    /**
     * <pre>
     *&#47; TBD.
     * </pre>
     *
     * <code>string hash = 4;</code>
     */
    public java.lang.String getHash() {
      java.lang.Object ref = hash_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        hash_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *&#47; TBD.
     * </pre>
     *
     * <code>string hash = 4;</code>
     */
    public com.google.protobuf.ByteString
        getHashBytes() {
      java.lang.Object ref = hash_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hash_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PERIOD_FIELD_NUMBER = 5;
    private long period_;
    /**
     * <pre>
     *&#47; Period of plan for which data is being uploaded.
     * </pre>
     *
     * <code>int64 period = 5;</code>
     */
    public long getPeriod() {
      return period_;
    }

    public static final int BUNDLE_FIELD_NUMBER = 6;
    private java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle> bundle_;
    /**
     * <pre>
     *&#47; List of data bundles.
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
     */
    public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle> getBundleList() {
      return bundle_;
    }
    /**
     * <pre>
     *&#47; List of data bundles.
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
     */
    public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleOrBuilder> 
        getBundleOrBuilderList() {
      return bundle_;
    }
    /**
     * <pre>
     *&#47; List of data bundles.
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
     */
    public int getBundleCount() {
      return bundle_.size();
    }
    /**
     * <pre>
     *&#47; List of data bundles.
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle getBundle(int index) {
      return bundle_.get(index);
    }
    /**
     * <pre>
     *&#47; List of data bundles.
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleOrBuilder getBundleOrBuilder(
        int index) {
      return bundle_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getTimestampBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, timestamp_);
      }
      if (!getVinBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, vin_);
      }
      if (id_ != 0L) {
        output.writeInt64(3, id_);
      }
      if (!getHashBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, hash_);
      }
      if (period_ != 0L) {
        output.writeInt64(5, period_);
      }
      for (int i = 0; i < bundle_.size(); i++) {
        output.writeMessage(6, bundle_.get(i));
      }
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getTimestampBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, timestamp_);
      }
      if (!getVinBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, vin_);
      }
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, id_);
      }
      if (!getHashBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, hash_);
      }
      if (period_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, period_);
      }
      for (int i = 0; i < bundle_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, bundle_.get(i));
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent other = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent) obj;

      boolean result = true;
      result = result && getTimestamp()
          .equals(other.getTimestamp());
      result = result && getVin()
          .equals(other.getVin());
      result = result && (getId()
          == other.getId());
      result = result && getHash()
          .equals(other.getHash());
      result = result && (getPeriod()
          == other.getPeriod());
      result = result && getBundleList()
          .equals(other.getBundleList());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + getTimestamp().hashCode();
      hash = (37 * hash) + VIN_FIELD_NUMBER;
      hash = (53 * hash) + getVin().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + HASH_FIELD_NUMBER;
      hash = (53 * hash) + getHash().hashCode();
      hash = (37 * hash) + PERIOD_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPeriod());
      if (getBundleCount() > 0) {
        hash = (37 * hash) + BUNDLE_FIELD_NUMBER;
        hash = (53 * hash) + getBundleList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 com.fca.uconnect.global.AdaBundleEvent}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.AdaBundleEvent)
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundleEvent_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundleEvent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getBundleFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        timestamp_ = "";

        vin_ = "";

        id_ = 0L;

        hash_ = "";

        period_ = 0L;

        if (bundleBuilder_ == null) {
          bundle_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
        } else {
          bundleBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundleEvent_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent build() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent result = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.timestamp_ = timestamp_;
        result.vin_ = vin_;
        result.id_ = id_;
        result.hash_ = hash_;
        result.period_ = period_;
        if (bundleBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020)) {
            bundle_ = java.util.Collections.unmodifiableList(bundle_);
            bitField0_ = (bitField0_ & ~0x00000020);
          }
          result.bundle_ = bundle_;
        } else {
          result.bundle_ = bundleBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent.getDefaultInstance()) return this;
        if (!other.getTimestamp().isEmpty()) {
          timestamp_ = other.timestamp_;
          onChanged();
        }
        if (!other.getVin().isEmpty()) {
          vin_ = other.vin_;
          onChanged();
        }
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (!other.getHash().isEmpty()) {
          hash_ = other.hash_;
          onChanged();
        }
        if (other.getPeriod() != 0L) {
          setPeriod(other.getPeriod());
        }
        if (bundleBuilder_ == null) {
          if (!other.bundle_.isEmpty()) {
            if (bundle_.isEmpty()) {
              bundle_ = other.bundle_;
              bitField0_ = (bitField0_ & ~0x00000020);
            } else {
              ensureBundleIsMutable();
              bundle_.addAll(other.bundle_);
            }
            onChanged();
          }
        } else {
          if (!other.bundle_.isEmpty()) {
            if (bundleBuilder_.isEmpty()) {
              bundleBuilder_.dispose();
              bundleBuilder_ = null;
              bundle_ = other.bundle_;
              bitField0_ = (bitField0_ & ~0x00000020);
              bundleBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getBundleFieldBuilder() : null;
            } else {
              bundleBuilder_.addAllMessages(other.bundle_);
            }
          }
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object timestamp_ = "";
      /**
       * <pre>
       *&#47; Bundle upload time. Unit - UTC epoch in milliseconds.
       * </pre>
       *
       * <code>string timestamp = 1;</code>
       */
      public java.lang.String getTimestamp() {
        java.lang.Object ref = timestamp_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          timestamp_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; Bundle upload time. Unit - UTC epoch in milliseconds.
       * </pre>
       *
       * <code>string timestamp = 1;</code>
       */
      public com.google.protobuf.ByteString
          getTimestampBytes() {
        java.lang.Object ref = timestamp_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          timestamp_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; Bundle upload time. Unit - UTC epoch in milliseconds.
       * </pre>
       *
       * <code>string timestamp = 1;</code>
       */
      public Builder setTimestamp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Bundle upload time. Unit - UTC epoch in milliseconds.
       * </pre>
       *
       * <code>string timestamp = 1;</code>
       */
      public Builder clearTimestamp() {
        
        timestamp_ = getDefaultInstance().getTimestamp();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Bundle upload time. Unit - UTC epoch in milliseconds.
       * </pre>
       *
       * <code>string timestamp = 1;</code>
       */
      public Builder setTimestampBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        timestamp_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object vin_ = "";
      /**
       * <pre>
       *&#47; Vehicle Identification Number.
       * </pre>
       *
       * <code>string vin = 2;</code>
       */
      public java.lang.String getVin() {
        java.lang.Object ref = vin_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          vin_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; Vehicle Identification Number.
       * </pre>
       *
       * <code>string vin = 2;</code>
       */
      public com.google.protobuf.ByteString
          getVinBytes() {
        java.lang.Object ref = vin_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          vin_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; Vehicle Identification Number.
       * </pre>
       *
       * <code>string vin = 2;</code>
       */
      public Builder setVin(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        vin_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Vehicle Identification Number.
       * </pre>
       *
       * <code>string vin = 2;</code>
       */
      public Builder clearVin() {
        
        vin_ = getDefaultInstance().getVin();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Vehicle Identification Number.
       * </pre>
       *
       * <code>string vin = 2;</code>
       */
      public Builder setVinBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        vin_ = value;
        onChanged();
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *&#47; Policy id.
       * </pre>
       *
       * <code>int64 id = 3;</code>
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *&#47; Policy id.
       * </pre>
       *
       * <code>int64 id = 3;</code>
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Policy id.
       * </pre>
       *
       * <code>int64 id = 3;</code>
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object hash_ = "";
      /**
       * <pre>
       *&#47; TBD.
       * </pre>
       *
       * <code>string hash = 4;</code>
       */
      public java.lang.String getHash() {
        java.lang.Object ref = hash_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          hash_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; TBD.
       * </pre>
       *
       * <code>string hash = 4;</code>
       */
      public com.google.protobuf.ByteString
          getHashBytes() {
        java.lang.Object ref = hash_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hash_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; TBD.
       * </pre>
       *
       * <code>string hash = 4;</code>
       */
      public Builder setHash(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        hash_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; TBD.
       * </pre>
       *
       * <code>string hash = 4;</code>
       */
      public Builder clearHash() {
        
        hash_ = getDefaultInstance().getHash();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; TBD.
       * </pre>
       *
       * <code>string hash = 4;</code>
       */
      public Builder setHashBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        hash_ = value;
        onChanged();
        return this;
      }

      private long period_ ;
      /**
       * <pre>
       *&#47; Period of plan for which data is being uploaded.
       * </pre>
       *
       * <code>int64 period = 5;</code>
       */
      public long getPeriod() {
        return period_;
      }
      /**
       * <pre>
       *&#47; Period of plan for which data is being uploaded.
       * </pre>
       *
       * <code>int64 period = 5;</code>
       */
      public Builder setPeriod(long value) {
        
        period_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Period of plan for which data is being uploaded.
       * </pre>
       *
       * <code>int64 period = 5;</code>
       */
      public Builder clearPeriod() {
        
        period_ = 0L;
        onChanged();
        return this;
      }

      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle> bundle_ =
        java.util.Collections.emptyList();
      private void ensureBundleIsMutable() {
        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
          bundle_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle>(bundle_);
          bitField0_ |= 0x00000020;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleOrBuilder> bundleBuilder_;

      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle> getBundleList() {
        if (bundleBuilder_ == null) {
          return java.util.Collections.unmodifiableList(bundle_);
        } else {
          return bundleBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public int getBundleCount() {
        if (bundleBuilder_ == null) {
          return bundle_.size();
        } else {
          return bundleBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle getBundle(int index) {
        if (bundleBuilder_ == null) {
          return bundle_.get(index);
        } else {
          return bundleBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public Builder setBundle(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle value) {
        if (bundleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBundleIsMutable();
          bundle_.set(index, value);
          onChanged();
        } else {
          bundleBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public Builder setBundle(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder builderForValue) {
        if (bundleBuilder_ == null) {
          ensureBundleIsMutable();
          bundle_.set(index, builderForValue.build());
          onChanged();
        } else {
          bundleBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public Builder addBundle(com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle value) {
        if (bundleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBundleIsMutable();
          bundle_.add(value);
          onChanged();
        } else {
          bundleBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public Builder addBundle(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle value) {
        if (bundleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBundleIsMutable();
          bundle_.add(index, value);
          onChanged();
        } else {
          bundleBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public Builder addBundle(
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder builderForValue) {
        if (bundleBuilder_ == null) {
          ensureBundleIsMutable();
          bundle_.add(builderForValue.build());
          onChanged();
        } else {
          bundleBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public Builder addBundle(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder builderForValue) {
        if (bundleBuilder_ == null) {
          ensureBundleIsMutable();
          bundle_.add(index, builderForValue.build());
          onChanged();
        } else {
          bundleBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public Builder addAllBundle(
          java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle> values) {
        if (bundleBuilder_ == null) {
          ensureBundleIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, bundle_);
          onChanged();
        } else {
          bundleBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public Builder clearBundle() {
        if (bundleBuilder_ == null) {
          bundle_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
          onChanged();
        } else {
          bundleBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public Builder removeBundle(int index) {
        if (bundleBuilder_ == null) {
          ensureBundleIsMutable();
          bundle_.remove(index);
          onChanged();
        } else {
          bundleBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder getBundleBuilder(
          int index) {
        return getBundleFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleOrBuilder getBundleOrBuilder(
          int index) {
        if (bundleBuilder_ == null) {
          return bundle_.get(index);  } else {
          return bundleBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleOrBuilder> 
           getBundleOrBuilderList() {
        if (bundleBuilder_ != null) {
          return bundleBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(bundle_);
        }
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder addBundleBuilder() {
        return getBundleFieldBuilder().addBuilder(
            com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.getDefaultInstance());
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder addBundleBuilder(
          int index) {
        return getBundleFieldBuilder().addBuilder(
            index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.getDefaultInstance());
      }
      /**
       * <pre>
       *&#47; List of data bundles.
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaBundle bundle = 6;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder> 
           getBundleBuilderList() {
        return getBundleFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleOrBuilder> 
          getBundleFieldBuilder() {
        if (bundleBuilder_ == null) {
          bundleBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleOrBuilder>(
                  bundle_,
                  ((bitField0_ & 0x00000020) == 0x00000020),
                  getParentForChildren(),
                  isClean());
          bundle_ = null;
        }
        return bundleBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.AdaBundleEvent)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.AdaBundleEvent)
    private static final com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AdaBundleEvent>
        PARSER = new com.google.protobuf.AbstractParser<AdaBundleEvent>() {
      public AdaBundleEvent parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new AdaBundleEvent(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEvent getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AdaBundleOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.AdaBundle)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Bundle data item.
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     */
    java.util.List<java.lang.String>
        getDataList();
    /**
     * <pre>
     *&#47; Bundle data item.
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     */
    int getDataCount();
    /**
     * <pre>
     *&#47; Bundle data item.
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     */
    java.lang.String getData(int index);
    /**
     * <pre>
     *&#47; Bundle data item.
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     */
    com.google.protobuf.ByteString
        getDataBytes(int index);
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.AdaBundle}
   */
  public  static final class AdaBundle extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.AdaBundle)
      AdaBundleOrBuilder {
    // Use AdaBundle.newBuilder() to construct.
    private AdaBundle(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AdaBundle() {
      data_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private AdaBundle(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                data_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              data_.add(s);
              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) == 0x00000001)) {
          data_ = data_.getUnmodifiableView();
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundle_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundle_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder.class);
    }

    public static final int DATA_FIELD_NUMBER = 1;
    private com.google.protobuf.LazyStringList data_;
    /**
     * <pre>
     *&#47; Bundle data item.
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getDataList() {
      return data_;
    }
    /**
     * <pre>
     *&#47; Bundle data item.
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     */
    public int getDataCount() {
      return data_.size();
    }
    /**
     * <pre>
     *&#47; Bundle data item.
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     */
    public java.lang.String getData(int index) {
      return data_.get(index);
    }
    /**
     * <pre>
     *&#47; Bundle data item.
     * </pre>
     *
     * <code>repeated string data = 1;</code>
     */
    public com.google.protobuf.ByteString
        getDataBytes(int index) {
      return data_.getByteString(index);
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < data_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, data_.getRaw(i));
      }
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < data_.size(); i++) {
          dataSize += computeStringSizeNoTag(data_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getDataList().size();
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle other = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle) obj;

      boolean result = true;
      result = result && getDataList()
          .equals(other.getDataList());
      return result;
    }

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

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 com.fca.uconnect.global.AdaBundle}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.AdaBundle)
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundle_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundle_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        data_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundle_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle build() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle result = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = data_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.data_ = data_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle.getDefaultInstance()) return this;
        if (!other.data_.isEmpty()) {
          if (data_.isEmpty()) {
            data_ = other.data_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureDataIsMutable();
            data_.addAll(other.data_);
          }
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.LazyStringList data_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureDataIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          data_ = new com.google.protobuf.LazyStringArrayList(data_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       *&#47; Bundle data item.
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getDataList() {
        return data_.getUnmodifiableView();
      }
      /**
       * <pre>
       *&#47; Bundle data item.
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       */
      public int getDataCount() {
        return data_.size();
      }
      /**
       * <pre>
       *&#47; Bundle data item.
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       */
      public java.lang.String getData(int index) {
        return data_.get(index);
      }
      /**
       * <pre>
       *&#47; Bundle data item.
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       */
      public com.google.protobuf.ByteString
          getDataBytes(int index) {
        return data_.getByteString(index);
      }
      /**
       * <pre>
       *&#47; Bundle data item.
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       */
      public Builder setData(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureDataIsMutable();
        data_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Bundle data item.
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       */
      public Builder addData(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureDataIsMutable();
        data_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Bundle data item.
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       */
      public Builder addAllData(
          java.lang.Iterable<java.lang.String> values) {
        ensureDataIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, data_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Bundle data item.
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       */
      public Builder clearData() {
        data_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Bundle data item.
       * </pre>
       *
       * <code>repeated string data = 1;</code>
       */
      public Builder addDataBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureDataIsMutable();
        data_.add(value);
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.AdaBundle)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.AdaBundle)
    private static final com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AdaBundle>
        PARSER = new com.google.protobuf.AbstractParser<AdaBundle>() {
      public AdaBundle parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new AdaBundle(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundle getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AdaPolicyOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.AdaPolicy)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Unique identifier for a policy.
     * </pre>
     *
     * <code>int64 id = 1;</code>
     */
    long getId();

    /**
     * <pre>
     *&#47; Policy name.
     * </pre>
     *
     * <code>string pname = 2;</code>
     */
    java.lang.String getPname();
    /**
     * <pre>
     *&#47; Policy name.
     * </pre>
     *
     * <code>string pname = 2;</code>
     */
    com.google.protobuf.ByteString
        getPnameBytes();

    /**
     * <pre>
     *&#47; ADA checks for updated policy after renew period. Unit: milliseconds.
     * </pre>
     *
     * <code>int64 renew = 3;</code>
     */
    long getRenew();

    /**
     * <pre>
     *&#47; Number of transfer_windows in backup log. Unit: number.
     * </pre>
     *
     * <code>int64 backup_window = 4;</code>
     */
    long getBackupWindow();

    /**
     * <pre>
     *&#47; Wait time from Application start before starting to process plans in the policy. Unit: milliseconds. 
     * </pre>
     *
     * <code>int64 delay = 5;</code>
     */
    long getDelay();

    /**
     * <pre>
     *&#47; Policy creation time. Unit - UTC epoch in milliseconds.
     * </pre>
     *
     * <code>int64 timestamp = 6;</code>
     */
    long getTimestamp();

    /**
     * <pre>
     *&#47; List of plans
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
     */
    java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan> 
        getPlansList();
    /**
     * <pre>
     *&#47; List of plans
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan getPlans(int index);
    /**
     * <pre>
     *&#47; List of plans
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
     */
    int getPlansCount();
    /**
     * <pre>
     *&#47; List of plans
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
     */
    java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlanOrBuilder> 
        getPlansOrBuilderList();
    /**
     * <pre>
     *&#47; List of plans
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlanOrBuilder getPlansOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.AdaPolicy}
   */
  public  static final class AdaPolicy extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.AdaPolicy)
      AdaPolicyOrBuilder {
    // Use AdaPolicy.newBuilder() to construct.
    private AdaPolicy(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AdaPolicy() {
      id_ = 0L;
      pname_ = "";
      renew_ = 0L;
      backupWindow_ = 0L;
      delay_ = 0L;
      timestamp_ = 0L;
      plans_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private AdaPolicy(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              id_ = input.readInt64();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              pname_ = s;
              break;
            }
            case 24: {

              renew_ = input.readInt64();
              break;
            }
            case 32: {

              backupWindow_ = input.readInt64();
              break;
            }
            case 40: {

              delay_ = input.readInt64();
              break;
            }
            case 48: {

              timestamp_ = input.readInt64();
              break;
            }
            case 58: {
              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
                plans_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan>();
                mutable_bitField0_ |= 0x00000040;
              }
              plans_.add(
                  input.readMessage(com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.parser(), extensionRegistry));
              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_ & 0x00000040) == 0x00000040)) {
          plans_ = java.util.Collections.unmodifiableList(plans_);
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaPolicy_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaPolicy_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy.Builder.class);
    }

    private int bitField0_;
    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *&#47; Unique identifier for a policy.
     * </pre>
     *
     * <code>int64 id = 1;</code>
     */
    public long getId() {
      return id_;
    }

    public static final int PNAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object pname_;
    /**
     * <pre>
     *&#47; Policy name.
     * </pre>
     *
     * <code>string pname = 2;</code>
     */
    public java.lang.String getPname() {
      java.lang.Object ref = pname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        pname_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *&#47; Policy name.
     * </pre>
     *
     * <code>string pname = 2;</code>
     */
    public com.google.protobuf.ByteString
        getPnameBytes() {
      java.lang.Object ref = pname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        pname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int RENEW_FIELD_NUMBER = 3;
    private long renew_;
    /**
     * <pre>
     *&#47; ADA checks for updated policy after renew period. Unit: milliseconds.
     * </pre>
     *
     * <code>int64 renew = 3;</code>
     */
    public long getRenew() {
      return renew_;
    }

    public static final int BACKUP_WINDOW_FIELD_NUMBER = 4;
    private long backupWindow_;
    /**
     * <pre>
     *&#47; Number of transfer_windows in backup log. Unit: number.
     * </pre>
     *
     * <code>int64 backup_window = 4;</code>
     */
    public long getBackupWindow() {
      return backupWindow_;
    }

    public static final int DELAY_FIELD_NUMBER = 5;
    private long delay_;
    /**
     * <pre>
     *&#47; Wait time from Application start before starting to process plans in the policy. Unit: milliseconds. 
     * </pre>
     *
     * <code>int64 delay = 5;</code>
     */
    public long getDelay() {
      return delay_;
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 6;
    private long timestamp_;
    /**
     * <pre>
     *&#47; Policy creation time. Unit - UTC epoch in milliseconds.
     * </pre>
     *
     * <code>int64 timestamp = 6;</code>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    public static final int PLANS_FIELD_NUMBER = 7;
    private java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan> plans_;
    /**
     * <pre>
     *&#47; List of plans
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
     */
    public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan> getPlansList() {
      return plans_;
    }
    /**
     * <pre>
     *&#47; List of plans
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
     */
    public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlanOrBuilder> 
        getPlansOrBuilderList() {
      return plans_;
    }
    /**
     * <pre>
     *&#47; List of plans
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
     */
    public int getPlansCount() {
      return plans_.size();
    }
    /**
     * <pre>
     *&#47; List of plans
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan getPlans(int index) {
      return plans_.get(index);
    }
    /**
     * <pre>
     *&#47; List of plans
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlanOrBuilder getPlansOrBuilder(
        int index) {
      return plans_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      if (!getPnameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, pname_);
      }
      if (renew_ != 0L) {
        output.writeInt64(3, renew_);
      }
      if (backupWindow_ != 0L) {
        output.writeInt64(4, backupWindow_);
      }
      if (delay_ != 0L) {
        output.writeInt64(5, delay_);
      }
      if (timestamp_ != 0L) {
        output.writeInt64(6, timestamp_);
      }
      for (int i = 0; i < plans_.size(); i++) {
        output.writeMessage(7, plans_.get(i));
      }
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      if (!getPnameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, pname_);
      }
      if (renew_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, renew_);
      }
      if (backupWindow_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, backupWindow_);
      }
      if (delay_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, delay_);
      }
      if (timestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(6, timestamp_);
      }
      for (int i = 0; i < plans_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, plans_.get(i));
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy other = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy) obj;

      boolean result = true;
      result = result && (getId()
          == other.getId());
      result = result && getPname()
          .equals(other.getPname());
      result = result && (getRenew()
          == other.getRenew());
      result = result && (getBackupWindow()
          == other.getBackupWindow());
      result = result && (getDelay()
          == other.getDelay());
      result = result && (getTimestamp()
          == other.getTimestamp());
      result = result && getPlansList()
          .equals(other.getPlansList());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + PNAME_FIELD_NUMBER;
      hash = (53 * hash) + getPname().hashCode();
      hash = (37 * hash) + RENEW_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRenew());
      hash = (37 * hash) + BACKUP_WINDOW_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getBackupWindow());
      hash = (37 * hash) + DELAY_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getDelay());
      hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getTimestamp());
      if (getPlansCount() > 0) {
        hash = (37 * hash) + PLANS_FIELD_NUMBER;
        hash = (53 * hash) + getPlansList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 com.fca.uconnect.global.AdaPolicy}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.AdaPolicy)
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicyOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaPolicy_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaPolicy_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getPlansFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        id_ = 0L;

        pname_ = "";

        renew_ = 0L;

        backupWindow_ = 0L;

        delay_ = 0L;

        timestamp_ = 0L;

        if (plansBuilder_ == null) {
          plans_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
        } else {
          plansBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaPolicy_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy build() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy result = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.id_ = id_;
        result.pname_ = pname_;
        result.renew_ = renew_;
        result.backupWindow_ = backupWindow_;
        result.delay_ = delay_;
        result.timestamp_ = timestamp_;
        if (plansBuilder_ == null) {
          if (((bitField0_ & 0x00000040) == 0x00000040)) {
            plans_ = java.util.Collections.unmodifiableList(plans_);
            bitField0_ = (bitField0_ & ~0x00000040);
          }
          result.plans_ = plans_;
        } else {
          result.plans_ = plansBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (!other.getPname().isEmpty()) {
          pname_ = other.pname_;
          onChanged();
        }
        if (other.getRenew() != 0L) {
          setRenew(other.getRenew());
        }
        if (other.getBackupWindow() != 0L) {
          setBackupWindow(other.getBackupWindow());
        }
        if (other.getDelay() != 0L) {
          setDelay(other.getDelay());
        }
        if (other.getTimestamp() != 0L) {
          setTimestamp(other.getTimestamp());
        }
        if (plansBuilder_ == null) {
          if (!other.plans_.isEmpty()) {
            if (plans_.isEmpty()) {
              plans_ = other.plans_;
              bitField0_ = (bitField0_ & ~0x00000040);
            } else {
              ensurePlansIsMutable();
              plans_.addAll(other.plans_);
            }
            onChanged();
          }
        } else {
          if (!other.plans_.isEmpty()) {
            if (plansBuilder_.isEmpty()) {
              plansBuilder_.dispose();
              plansBuilder_ = null;
              plans_ = other.plans_;
              bitField0_ = (bitField0_ & ~0x00000040);
              plansBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getPlansFieldBuilder() : null;
            } else {
              plansBuilder_.addAllMessages(other.plans_);
            }
          }
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long id_ ;
      /**
       * <pre>
       *&#47; Unique identifier for a policy.
       * </pre>
       *
       * <code>int64 id = 1;</code>
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *&#47; Unique identifier for a policy.
       * </pre>
       *
       * <code>int64 id = 1;</code>
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Unique identifier for a policy.
       * </pre>
       *
       * <code>int64 id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object pname_ = "";
      /**
       * <pre>
       *&#47; Policy name.
       * </pre>
       *
       * <code>string pname = 2;</code>
       */
      public java.lang.String getPname() {
        java.lang.Object ref = pname_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          pname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; Policy name.
       * </pre>
       *
       * <code>string pname = 2;</code>
       */
      public com.google.protobuf.ByteString
          getPnameBytes() {
        java.lang.Object ref = pname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          pname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; Policy name.
       * </pre>
       *
       * <code>string pname = 2;</code>
       */
      public Builder setPname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pname_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Policy name.
       * </pre>
       *
       * <code>string pname = 2;</code>
       */
      public Builder clearPname() {
        
        pname_ = getDefaultInstance().getPname();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Policy name.
       * </pre>
       *
       * <code>string pname = 2;</code>
       */
      public Builder setPnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        pname_ = value;
        onChanged();
        return this;
      }

      private long renew_ ;
      /**
       * <pre>
       *&#47; ADA checks for updated policy after renew period. Unit: milliseconds.
       * </pre>
       *
       * <code>int64 renew = 3;</code>
       */
      public long getRenew() {
        return renew_;
      }
      /**
       * <pre>
       *&#47; ADA checks for updated policy after renew period. Unit: milliseconds.
       * </pre>
       *
       * <code>int64 renew = 3;</code>
       */
      public Builder setRenew(long value) {
        
        renew_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; ADA checks for updated policy after renew period. Unit: milliseconds.
       * </pre>
       *
       * <code>int64 renew = 3;</code>
       */
      public Builder clearRenew() {
        
        renew_ = 0L;
        onChanged();
        return this;
      }

      private long backupWindow_ ;
      /**
       * <pre>
       *&#47; Number of transfer_windows in backup log. Unit: number.
       * </pre>
       *
       * <code>int64 backup_window = 4;</code>
       */
      public long getBackupWindow() {
        return backupWindow_;
      }
      /**
       * <pre>
       *&#47; Number of transfer_windows in backup log. Unit: number.
       * </pre>
       *
       * <code>int64 backup_window = 4;</code>
       */
      public Builder setBackupWindow(long value) {
        
        backupWindow_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Number of transfer_windows in backup log. Unit: number.
       * </pre>
       *
       * <code>int64 backup_window = 4;</code>
       */
      public Builder clearBackupWindow() {
        
        backupWindow_ = 0L;
        onChanged();
        return this;
      }

      private long delay_ ;
      /**
       * <pre>
       *&#47; Wait time from Application start before starting to process plans in the policy. Unit: milliseconds. 
       * </pre>
       *
       * <code>int64 delay = 5;</code>
       */
      public long getDelay() {
        return delay_;
      }
      /**
       * <pre>
       *&#47; Wait time from Application start before starting to process plans in the policy. Unit: milliseconds. 
       * </pre>
       *
       * <code>int64 delay = 5;</code>
       */
      public Builder setDelay(long value) {
        
        delay_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Wait time from Application start before starting to process plans in the policy. Unit: milliseconds. 
       * </pre>
       *
       * <code>int64 delay = 5;</code>
       */
      public Builder clearDelay() {
        
        delay_ = 0L;
        onChanged();
        return this;
      }

      private long timestamp_ ;
      /**
       * <pre>
       *&#47; Policy creation time. Unit - UTC epoch in milliseconds.
       * </pre>
       *
       * <code>int64 timestamp = 6;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <pre>
       *&#47; Policy creation time. Unit - UTC epoch in milliseconds.
       * </pre>
       *
       * <code>int64 timestamp = 6;</code>
       */
      public Builder setTimestamp(long value) {
        
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Policy creation time. Unit - UTC epoch in milliseconds.
       * </pre>
       *
       * <code>int64 timestamp = 6;</code>
       */
      public Builder clearTimestamp() {
        
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan> plans_ =
        java.util.Collections.emptyList();
      private void ensurePlansIsMutable() {
        if (!((bitField0_ & 0x00000040) == 0x00000040)) {
          plans_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan>(plans_);
          bitField0_ |= 0x00000040;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlanOrBuilder> plansBuilder_;

      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan> getPlansList() {
        if (plansBuilder_ == null) {
          return java.util.Collections.unmodifiableList(plans_);
        } else {
          return plansBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public int getPlansCount() {
        if (plansBuilder_ == null) {
          return plans_.size();
        } else {
          return plansBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan getPlans(int index) {
        if (plansBuilder_ == null) {
          return plans_.get(index);
        } else {
          return plansBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public Builder setPlans(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan value) {
        if (plansBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePlansIsMutable();
          plans_.set(index, value);
          onChanged();
        } else {
          plansBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public Builder setPlans(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder builderForValue) {
        if (plansBuilder_ == null) {
          ensurePlansIsMutable();
          plans_.set(index, builderForValue.build());
          onChanged();
        } else {
          plansBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public Builder addPlans(com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan value) {
        if (plansBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePlansIsMutable();
          plans_.add(value);
          onChanged();
        } else {
          plansBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public Builder addPlans(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan value) {
        if (plansBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePlansIsMutable();
          plans_.add(index, value);
          onChanged();
        } else {
          plansBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public Builder addPlans(
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder builderForValue) {
        if (plansBuilder_ == null) {
          ensurePlansIsMutable();
          plans_.add(builderForValue.build());
          onChanged();
        } else {
          plansBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public Builder addPlans(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder builderForValue) {
        if (plansBuilder_ == null) {
          ensurePlansIsMutable();
          plans_.add(index, builderForValue.build());
          onChanged();
        } else {
          plansBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public Builder addAllPlans(
          java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan> values) {
        if (plansBuilder_ == null) {
          ensurePlansIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, plans_);
          onChanged();
        } else {
          plansBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public Builder clearPlans() {
        if (plansBuilder_ == null) {
          plans_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
          onChanged();
        } else {
          plansBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public Builder removePlans(int index) {
        if (plansBuilder_ == null) {
          ensurePlansIsMutable();
          plans_.remove(index);
          onChanged();
        } else {
          plansBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder getPlansBuilder(
          int index) {
        return getPlansFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlanOrBuilder getPlansOrBuilder(
          int index) {
        if (plansBuilder_ == null) {
          return plans_.get(index);  } else {
          return plansBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlanOrBuilder> 
           getPlansOrBuilderList() {
        if (plansBuilder_ != null) {
          return plansBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(plans_);
        }
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder addPlansBuilder() {
        return getPlansFieldBuilder().addBuilder(
            com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.getDefaultInstance());
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder addPlansBuilder(
          int index) {
        return getPlansFieldBuilder().addBuilder(
            index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.getDefaultInstance());
      }
      /**
       * <pre>
       *&#47; List of plans
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaPlan plans = 7;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder> 
           getPlansBuilderList() {
        return getPlansFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlanOrBuilder> 
          getPlansFieldBuilder() {
        if (plansBuilder_ == null) {
          plansBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlanOrBuilder>(
                  plans_,
                  ((bitField0_ & 0x00000040) == 0x00000040),
                  getParentForChildren(),
                  isClean());
          plans_ = null;
        }
        return plansBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.AdaPolicy)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.AdaPolicy)
    private static final com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AdaPolicy>
        PARSER = new com.google.protobuf.AbstractParser<AdaPolicy>() {
      public AdaPolicy parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new AdaPolicy(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPolicy getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AdaPlanOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.AdaPlan)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Data collection frequency. Unit - milliseconds. 
     * </pre>
     *
     * <code>int64 period = 1;</code>
     */
    long getPeriod();

    /**
     * <pre>
     *&#47; Plan type; Possible values { "poll", "event", "popup" }
     * </pre>
     *
     * <code>string type = 2;</code>
     */
    java.lang.String getType();
    /**
     * <pre>
     *&#47; Plan type; Possible values { "poll", "event", "popup" }
     * </pre>
     *
     * <code>string type = 2;</code>
     */
    com.google.protobuf.ByteString
        getTypeBytes();

    /**
     * <pre>
     *&#47; Number of samples to be collected in each upload bundle. Unit: number
     * </pre>
     *
     * <code>int64 transfer_window = 3;</code>
     */
    long getTransferWindow();

    /**
     * <pre>
     *&#47; List of signals / data points to be collected
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
     */
    java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal> 
        getSignalsList();
    /**
     * <pre>
     *&#47; List of signals / data points to be collected
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal getSignals(int index);
    /**
     * <pre>
     *&#47; List of signals / data points to be collected
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
     */
    int getSignalsCount();
    /**
     * <pre>
     *&#47; List of signals / data points to be collected
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
     */
    java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignalOrBuilder> 
        getSignalsOrBuilderList();
    /**
     * <pre>
     *&#47; List of signals / data points to be collected
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignalOrBuilder getSignalsOrBuilder(
        int index);

    /**
     * <pre>
     *&#47; Event definition
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
     */
    java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent> 
        getEventList();
    /**
     * <pre>
     *&#47; Event definition
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent getEvent(int index);
    /**
     * <pre>
     *&#47; Event definition
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
     */
    int getEventCount();
    /**
     * <pre>
     *&#47; Event definition
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
     */
    java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaEventOrBuilder> 
        getEventOrBuilderList();
    /**
     * <pre>
     *&#47; Event definition
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtAda.AdaEventOrBuilder getEventOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.AdaPlan}
   */
  public  static final class AdaPlan extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.AdaPlan)
      AdaPlanOrBuilder {
    // Use AdaPlan.newBuilder() to construct.
    private AdaPlan(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AdaPlan() {
      period_ = 0L;
      type_ = "";
      transferWindow_ = 0L;
      signals_ = java.util.Collections.emptyList();
      event_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private AdaPlan(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              period_ = input.readInt64();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              type_ = s;
              break;
            }
            case 24: {

              transferWindow_ = input.readInt64();
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                signals_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal>();
                mutable_bitField0_ |= 0x00000008;
              }
              signals_.add(
                  input.readMessage(com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.parser(), extensionRegistry));
              break;
            }
            case 42: {
              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
                event_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent>();
                mutable_bitField0_ |= 0x00000010;
              }
              event_.add(
                  input.readMessage(com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.parser(), extensionRegistry));
              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_ & 0x00000008) == 0x00000008)) {
          signals_ = java.util.Collections.unmodifiableList(signals_);
        }
        if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
          event_ = java.util.Collections.unmodifiableList(event_);
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaPlan_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaPlan_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder.class);
    }

    private int bitField0_;
    public static final int PERIOD_FIELD_NUMBER = 1;
    private long period_;
    /**
     * <pre>
     *&#47; Data collection frequency. Unit - milliseconds. 
     * </pre>
     *
     * <code>int64 period = 1;</code>
     */
    public long getPeriod() {
      return period_;
    }

    public static final int TYPE_FIELD_NUMBER = 2;
    private volatile java.lang.Object type_;
    /**
     * <pre>
     *&#47; Plan type; Possible values { "poll", "event", "popup" }
     * </pre>
     *
     * <code>string type = 2;</code>
     */
    public java.lang.String getType() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        type_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *&#47; Plan type; Possible values { "poll", "event", "popup" }
     * </pre>
     *
     * <code>string type = 2;</code>
     */
    public com.google.protobuf.ByteString
        getTypeBytes() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        type_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TRANSFER_WINDOW_FIELD_NUMBER = 3;
    private long transferWindow_;
    /**
     * <pre>
     *&#47; Number of samples to be collected in each upload bundle. Unit: number
     * </pre>
     *
     * <code>int64 transfer_window = 3;</code>
     */
    public long getTransferWindow() {
      return transferWindow_;
    }

    public static final int SIGNALS_FIELD_NUMBER = 4;
    private java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal> signals_;
    /**
     * <pre>
     *&#47; List of signals / data points to be collected
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
     */
    public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal> getSignalsList() {
      return signals_;
    }
    /**
     * <pre>
     *&#47; List of signals / data points to be collected
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
     */
    public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignalOrBuilder> 
        getSignalsOrBuilderList() {
      return signals_;
    }
    /**
     * <pre>
     *&#47; List of signals / data points to be collected
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
     */
    public int getSignalsCount() {
      return signals_.size();
    }
    /**
     * <pre>
     *&#47; List of signals / data points to be collected
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal getSignals(int index) {
      return signals_.get(index);
    }
    /**
     * <pre>
     *&#47; List of signals / data points to be collected
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignalOrBuilder getSignalsOrBuilder(
        int index) {
      return signals_.get(index);
    }

    public static final int EVENT_FIELD_NUMBER = 5;
    private java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent> event_;
    /**
     * <pre>
     *&#47; Event definition
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
     */
    public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent> getEventList() {
      return event_;
    }
    /**
     * <pre>
     *&#47; Event definition
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
     */
    public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaEventOrBuilder> 
        getEventOrBuilderList() {
      return event_;
    }
    /**
     * <pre>
     *&#47; Event definition
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
     */
    public int getEventCount() {
      return event_.size();
    }
    /**
     * <pre>
     *&#47; Event definition
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent getEvent(int index) {
      return event_.get(index);
    }
    /**
     * <pre>
     *&#47; Event definition
     * </pre>
     *
     * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEventOrBuilder getEventOrBuilder(
        int index) {
      return event_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (period_ != 0L) {
        output.writeInt64(1, period_);
      }
      if (!getTypeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, type_);
      }
      if (transferWindow_ != 0L) {
        output.writeInt64(3, transferWindow_);
      }
      for (int i = 0; i < signals_.size(); i++) {
        output.writeMessage(4, signals_.get(i));
      }
      for (int i = 0; i < event_.size(); i++) {
        output.writeMessage(5, event_.get(i));
      }
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (period_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, period_);
      }
      if (!getTypeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, type_);
      }
      if (transferWindow_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, transferWindow_);
      }
      for (int i = 0; i < signals_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, signals_.get(i));
      }
      for (int i = 0; i < event_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, event_.get(i));
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan other = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan) obj;

      boolean result = true;
      result = result && (getPeriod()
          == other.getPeriod());
      result = result && getType()
          .equals(other.getType());
      result = result && (getTransferWindow()
          == other.getTransferWindow());
      result = result && getSignalsList()
          .equals(other.getSignalsList());
      result = result && getEventList()
          .equals(other.getEventList());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PERIOD_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPeriod());
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getType().hashCode();
      hash = (37 * hash) + TRANSFER_WINDOW_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getTransferWindow());
      if (getSignalsCount() > 0) {
        hash = (37 * hash) + SIGNALS_FIELD_NUMBER;
        hash = (53 * hash) + getSignalsList().hashCode();
      }
      if (getEventCount() > 0) {
        hash = (37 * hash) + EVENT_FIELD_NUMBER;
        hash = (53 * hash) + getEventList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 com.fca.uconnect.global.AdaPlan}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.AdaPlan)
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlanOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaPlan_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaPlan_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getSignalsFieldBuilder();
          getEventFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        period_ = 0L;

        type_ = "";

        transferWindow_ = 0L;

        if (signalsBuilder_ == null) {
          signals_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          signalsBuilder_.clear();
        }
        if (eventBuilder_ == null) {
          event_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000010);
        } else {
          eventBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaPlan_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan build() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan result = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.period_ = period_;
        result.type_ = type_;
        result.transferWindow_ = transferWindow_;
        if (signalsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            signals_ = java.util.Collections.unmodifiableList(signals_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.signals_ = signals_;
        } else {
          result.signals_ = signalsBuilder_.build();
        }
        if (eventBuilder_ == null) {
          if (((bitField0_ & 0x00000010) == 0x00000010)) {
            event_ = java.util.Collections.unmodifiableList(event_);
            bitField0_ = (bitField0_ & ~0x00000010);
          }
          result.event_ = event_;
        } else {
          result.event_ = eventBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan.getDefaultInstance()) return this;
        if (other.getPeriod() != 0L) {
          setPeriod(other.getPeriod());
        }
        if (!other.getType().isEmpty()) {
          type_ = other.type_;
          onChanged();
        }
        if (other.getTransferWindow() != 0L) {
          setTransferWindow(other.getTransferWindow());
        }
        if (signalsBuilder_ == null) {
          if (!other.signals_.isEmpty()) {
            if (signals_.isEmpty()) {
              signals_ = other.signals_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureSignalsIsMutable();
              signals_.addAll(other.signals_);
            }
            onChanged();
          }
        } else {
          if (!other.signals_.isEmpty()) {
            if (signalsBuilder_.isEmpty()) {
              signalsBuilder_.dispose();
              signalsBuilder_ = null;
              signals_ = other.signals_;
              bitField0_ = (bitField0_ & ~0x00000008);
              signalsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getSignalsFieldBuilder() : null;
            } else {
              signalsBuilder_.addAllMessages(other.signals_);
            }
          }
        }
        if (eventBuilder_ == null) {
          if (!other.event_.isEmpty()) {
            if (event_.isEmpty()) {
              event_ = other.event_;
              bitField0_ = (bitField0_ & ~0x00000010);
            } else {
              ensureEventIsMutable();
              event_.addAll(other.event_);
            }
            onChanged();
          }
        } else {
          if (!other.event_.isEmpty()) {
            if (eventBuilder_.isEmpty()) {
              eventBuilder_.dispose();
              eventBuilder_ = null;
              event_ = other.event_;
              bitField0_ = (bitField0_ & ~0x00000010);
              eventBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getEventFieldBuilder() : null;
            } else {
              eventBuilder_.addAllMessages(other.event_);
            }
          }
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long period_ ;
      /**
       * <pre>
       *&#47; Data collection frequency. Unit - milliseconds. 
       * </pre>
       *
       * <code>int64 period = 1;</code>
       */
      public long getPeriod() {
        return period_;
      }
      /**
       * <pre>
       *&#47; Data collection frequency. Unit - milliseconds. 
       * </pre>
       *
       * <code>int64 period = 1;</code>
       */
      public Builder setPeriod(long value) {
        
        period_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Data collection frequency. Unit - milliseconds. 
       * </pre>
       *
       * <code>int64 period = 1;</code>
       */
      public Builder clearPeriod() {
        
        period_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object type_ = "";
      /**
       * <pre>
       *&#47; Plan type; Possible values { "poll", "event", "popup" }
       * </pre>
       *
       * <code>string type = 2;</code>
       */
      public java.lang.String getType() {
        java.lang.Object ref = type_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          type_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; Plan type; Possible values { "poll", "event", "popup" }
       * </pre>
       *
       * <code>string type = 2;</code>
       */
      public com.google.protobuf.ByteString
          getTypeBytes() {
        java.lang.Object ref = type_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          type_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; Plan type; Possible values { "poll", "event", "popup" }
       * </pre>
       *
       * <code>string type = 2;</code>
       */
      public Builder setType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Plan type; Possible values { "poll", "event", "popup" }
       * </pre>
       *
       * <code>string type = 2;</code>
       */
      public Builder clearType() {
        
        type_ = getDefaultInstance().getType();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Plan type; Possible values { "poll", "event", "popup" }
       * </pre>
       *
       * <code>string type = 2;</code>
       */
      public Builder setTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        type_ = value;
        onChanged();
        return this;
      }

      private long transferWindow_ ;
      /**
       * <pre>
       *&#47; Number of samples to be collected in each upload bundle. Unit: number
       * </pre>
       *
       * <code>int64 transfer_window = 3;</code>
       */
      public long getTransferWindow() {
        return transferWindow_;
      }
      /**
       * <pre>
       *&#47; Number of samples to be collected in each upload bundle. Unit: number
       * </pre>
       *
       * <code>int64 transfer_window = 3;</code>
       */
      public Builder setTransferWindow(long value) {
        
        transferWindow_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Number of samples to be collected in each upload bundle. Unit: number
       * </pre>
       *
       * <code>int64 transfer_window = 3;</code>
       */
      public Builder clearTransferWindow() {
        
        transferWindow_ = 0L;
        onChanged();
        return this;
      }

      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal> signals_ =
        java.util.Collections.emptyList();
      private void ensureSignalsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          signals_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal>(signals_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignalOrBuilder> signalsBuilder_;

      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal> getSignalsList() {
        if (signalsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(signals_);
        } else {
          return signalsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public int getSignalsCount() {
        if (signalsBuilder_ == null) {
          return signals_.size();
        } else {
          return signalsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal getSignals(int index) {
        if (signalsBuilder_ == null) {
          return signals_.get(index);
        } else {
          return signalsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public Builder setSignals(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal value) {
        if (signalsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSignalsIsMutable();
          signals_.set(index, value);
          onChanged();
        } else {
          signalsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public Builder setSignals(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder builderForValue) {
        if (signalsBuilder_ == null) {
          ensureSignalsIsMutable();
          signals_.set(index, builderForValue.build());
          onChanged();
        } else {
          signalsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public Builder addSignals(com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal value) {
        if (signalsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSignalsIsMutable();
          signals_.add(value);
          onChanged();
        } else {
          signalsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public Builder addSignals(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal value) {
        if (signalsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSignalsIsMutable();
          signals_.add(index, value);
          onChanged();
        } else {
          signalsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public Builder addSignals(
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder builderForValue) {
        if (signalsBuilder_ == null) {
          ensureSignalsIsMutable();
          signals_.add(builderForValue.build());
          onChanged();
        } else {
          signalsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public Builder addSignals(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder builderForValue) {
        if (signalsBuilder_ == null) {
          ensureSignalsIsMutable();
          signals_.add(index, builderForValue.build());
          onChanged();
        } else {
          signalsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public Builder addAllSignals(
          java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal> values) {
        if (signalsBuilder_ == null) {
          ensureSignalsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, signals_);
          onChanged();
        } else {
          signalsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public Builder clearSignals() {
        if (signalsBuilder_ == null) {
          signals_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          signalsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public Builder removeSignals(int index) {
        if (signalsBuilder_ == null) {
          ensureSignalsIsMutable();
          signals_.remove(index);
          onChanged();
        } else {
          signalsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder getSignalsBuilder(
          int index) {
        return getSignalsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignalOrBuilder getSignalsOrBuilder(
          int index) {
        if (signalsBuilder_ == null) {
          return signals_.get(index);  } else {
          return signalsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignalOrBuilder> 
           getSignalsOrBuilderList() {
        if (signalsBuilder_ != null) {
          return signalsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(signals_);
        }
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder addSignalsBuilder() {
        return getSignalsFieldBuilder().addBuilder(
            com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.getDefaultInstance());
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder addSignalsBuilder(
          int index) {
        return getSignalsFieldBuilder().addBuilder(
            index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.getDefaultInstance());
      }
      /**
       * <pre>
       *&#47; List of signals / data points to be collected
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaSignal signals = 4;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder> 
           getSignalsBuilderList() {
        return getSignalsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignalOrBuilder> 
          getSignalsFieldBuilder() {
        if (signalsBuilder_ == null) {
          signalsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignalOrBuilder>(
                  signals_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          signals_ = null;
        }
        return signalsBuilder_;
      }

      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent> event_ =
        java.util.Collections.emptyList();
      private void ensureEventIsMutable() {
        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
          event_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent>(event_);
          bitField0_ |= 0x00000010;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEventOrBuilder> eventBuilder_;

      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent> getEventList() {
        if (eventBuilder_ == null) {
          return java.util.Collections.unmodifiableList(event_);
        } else {
          return eventBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public int getEventCount() {
        if (eventBuilder_ == null) {
          return event_.size();
        } else {
          return eventBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent getEvent(int index) {
        if (eventBuilder_ == null) {
          return event_.get(index);
        } else {
          return eventBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public Builder setEvent(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEventIsMutable();
          event_.set(index, value);
          onChanged();
        } else {
          eventBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public Builder setEvent(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder builderForValue) {
        if (eventBuilder_ == null) {
          ensureEventIsMutable();
          event_.set(index, builderForValue.build());
          onChanged();
        } else {
          eventBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public Builder addEvent(com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEventIsMutable();
          event_.add(value);
          onChanged();
        } else {
          eventBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public Builder addEvent(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEventIsMutable();
          event_.add(index, value);
          onChanged();
        } else {
          eventBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public Builder addEvent(
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder builderForValue) {
        if (eventBuilder_ == null) {
          ensureEventIsMutable();
          event_.add(builderForValue.build());
          onChanged();
        } else {
          eventBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public Builder addEvent(
          int index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder builderForValue) {
        if (eventBuilder_ == null) {
          ensureEventIsMutable();
          event_.add(index, builderForValue.build());
          onChanged();
        } else {
          eventBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public Builder addAllEvent(
          java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent> values) {
        if (eventBuilder_ == null) {
          ensureEventIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, event_);
          onChanged();
        } else {
          eventBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public Builder clearEvent() {
        if (eventBuilder_ == null) {
          event_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000010);
          onChanged();
        } else {
          eventBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public Builder removeEvent(int index) {
        if (eventBuilder_ == null) {
          ensureEventIsMutable();
          event_.remove(index);
          onChanged();
        } else {
          eventBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder getEventBuilder(
          int index) {
        return getEventFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEventOrBuilder getEventOrBuilder(
          int index) {
        if (eventBuilder_ == null) {
          return event_.get(index);  } else {
          return eventBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtAda.AdaEventOrBuilder> 
           getEventOrBuilderList() {
        if (eventBuilder_ != null) {
          return eventBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(event_);
        }
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder addEventBuilder() {
        return getEventFieldBuilder().addBuilder(
            com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.getDefaultInstance());
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder addEventBuilder(
          int index) {
        return getEventFieldBuilder().addBuilder(
            index, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.getDefaultInstance());
      }
      /**
       * <pre>
       *&#47; Event definition
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.AdaEvent event = 5;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder> 
           getEventBuilderList() {
        return getEventFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEventOrBuilder> 
          getEventFieldBuilder() {
        if (eventBuilder_ == null) {
          eventBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEventOrBuilder>(
                  event_,
                  ((bitField0_ & 0x00000010) == 0x00000010),
                  getParentForChildren(),
                  isClean());
          event_ = null;
        }
        return eventBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.AdaPlan)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.AdaPlan)
    private static final com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AdaPlan>
        PARSER = new com.google.protobuf.AbstractParser<AdaPlan>() {
      public AdaPlan parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new AdaPlan(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaPlan getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AdaSignalOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.AdaSignal)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Network API Signal Name or Kona Sensor Name or Diagnostics Command
     * </pre>
     *
     * <code>string name = 1;</code>
     */
    java.lang.String getName();
    /**
     * <pre>
     *&#47; Network API Signal Name or Kona Sensor Name or Diagnostics Command
     * </pre>
     *
     * <code>string name = 1;</code>
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <pre>
     *&#47; Type or source of data. Possible values { "kona", "napi", "location", "clock", "diag", "command" }
     * </pre>
     *
     * <code>string type = 2;</code>
     */
    java.lang.String getType();
    /**
     * <pre>
     *&#47; Type or source of data. Possible values { "kona", "napi", "location", "clock", "diag", "command" }
     * </pre>
     *
     * <code>string type = 2;</code>
     */
    com.google.protobuf.ByteString
        getTypeBytes();
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.AdaSignal}
   */
  public  static final class AdaSignal extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.AdaSignal)
      AdaSignalOrBuilder {
    // Use AdaSignal.newBuilder() to construct.
    private AdaSignal(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AdaSignal() {
      name_ = "";
      type_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private AdaSignal(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              name_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              type_ = s;
              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 {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaSignal_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaSignal_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder.class);
    }

    public static final int NAME_FIELD_NUMBER = 1;
    private volatile java.lang.Object name_;
    /**
     * <pre>
     *&#47; Network API Signal Name or Kona Sensor Name or Diagnostics Command
     * </pre>
     *
     * <code>string name = 1;</code>
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *&#47; Network API Signal Name or Kona Sensor Name or Diagnostics Command
     * </pre>
     *
     * <code>string name = 1;</code>
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TYPE_FIELD_NUMBER = 2;
    private volatile java.lang.Object type_;
    /**
     * <pre>
     *&#47; Type or source of data. Possible values { "kona", "napi", "location", "clock", "diag", "command" }
     * </pre>
     *
     * <code>string type = 2;</code>
     */
    public java.lang.String getType() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        type_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *&#47; Type or source of data. Possible values { "kona", "napi", "location", "clock", "diag", "command" }
     * </pre>
     *
     * <code>string type = 2;</code>
     */
    public com.google.protobuf.ByteString
        getTypeBytes() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        type_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
      }
      if (!getTypeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, type_);
      }
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
      }
      if (!getTypeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, type_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal other = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal) obj;

      boolean result = true;
      result = result && getName()
          .equals(other.getName());
      result = result && getType()
          .equals(other.getType());
      return result;
    }

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

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 com.fca.uconnect.global.AdaSignal}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.AdaSignal)
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaSignal_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaSignal_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        name_ = "";

        type_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaSignal_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal build() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal result = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal(this);
        result.name_ = name_;
        result.type_ = type_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal.getDefaultInstance()) return this;
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (!other.getType().isEmpty()) {
          type_ = other.type_;
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <pre>
       *&#47; Network API Signal Name or Kona Sensor Name or Diagnostics Command
       * </pre>
       *
       * <code>string name = 1;</code>
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; Network API Signal Name or Kona Sensor Name or Diagnostics Command
       * </pre>
       *
       * <code>string name = 1;</code>
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; Network API Signal Name or Kona Sensor Name or Diagnostics Command
       * </pre>
       *
       * <code>string name = 1;</code>
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Network API Signal Name or Kona Sensor Name or Diagnostics Command
       * </pre>
       *
       * <code>string name = 1;</code>
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Network API Signal Name or Kona Sensor Name or Diagnostics Command
       * </pre>
       *
       * <code>string name = 1;</code>
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object type_ = "";
      /**
       * <pre>
       *&#47; Type or source of data. Possible values { "kona", "napi", "location", "clock", "diag", "command" }
       * </pre>
       *
       * <code>string type = 2;</code>
       */
      public java.lang.String getType() {
        java.lang.Object ref = type_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          type_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; Type or source of data. Possible values { "kona", "napi", "location", "clock", "diag", "command" }
       * </pre>
       *
       * <code>string type = 2;</code>
       */
      public com.google.protobuf.ByteString
          getTypeBytes() {
        java.lang.Object ref = type_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          type_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; Type or source of data. Possible values { "kona", "napi", "location", "clock", "diag", "command" }
       * </pre>
       *
       * <code>string type = 2;</code>
       */
      public Builder setType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Type or source of data. Possible values { "kona", "napi", "location", "clock", "diag", "command" }
       * </pre>
       *
       * <code>string type = 2;</code>
       */
      public Builder clearType() {
        
        type_ = getDefaultInstance().getType();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Type or source of data. Possible values { "kona", "napi", "location", "clock", "diag", "command" }
       * </pre>
       *
       * <code>string type = 2;</code>
       */
      public Builder setTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        type_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.AdaSignal)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.AdaSignal)
    private static final com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AdaSignal>
        PARSER = new com.google.protobuf.AbstractParser<AdaSignal>() {
      public AdaSignal parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new AdaSignal(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaSignal getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AdaEventOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.AdaEvent)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Signal or datapoint being compared. Same as AdaSignal.name
     * </pre>
     *
     * <code>string signalName = 1;</code>
     */
    java.lang.String getSignalName();
    /**
     * <pre>
     *&#47; Signal or datapoint being compared. Same as AdaSignal.name
     * </pre>
     *
     * <code>string signalName = 1;</code>
     */
    com.google.protobuf.ByteString
        getSignalNameBytes();

    /**
     * <pre>
     *&#47; Type or source of datapoint. Same as AdaSignal.type
     * </pre>
     *
     * <code>string signalType = 2;</code>
     */
    java.lang.String getSignalType();
    /**
     * <pre>
     *&#47; Type or source of datapoint. Same as AdaSignal.type
     * </pre>
     *
     * <code>string signalType = 2;</code>
     */
    com.google.protobuf.ByteString
        getSignalTypeBytes();

    /**
     * <pre>
     *&#47; Comparison type. Possible values { "threshold", "signal" }
     * </pre>
     *
     * <code>repeated string compareType = 3;</code>
     */
    java.util.List<java.lang.String>
        getCompareTypeList();
    /**
     * <pre>
     *&#47; Comparison type. Possible values { "threshold", "signal" }
     * </pre>
     *
     * <code>repeated string compareType = 3;</code>
     */
    int getCompareTypeCount();
    /**
     * <pre>
     *&#47; Comparison type. Possible values { "threshold", "signal" }
     * </pre>
     *
     * <code>repeated string compareType = 3;</code>
     */
    java.lang.String getCompareType(int index);
    /**
     * <pre>
     *&#47; Comparison type. Possible values { "threshold", "signal" }
     * </pre>
     *
     * <code>repeated string compareType = 3;</code>
     */
    com.google.protobuf.ByteString
        getCompareTypeBytes(int index);

    /**
     * <pre>
     *&#47; Threshold value
     * </pre>
     *
     * <code>repeated string threshold = 4;</code>
     */
    java.util.List<java.lang.String>
        getThresholdList();
    /**
     * <pre>
     *&#47; Threshold value
     * </pre>
     *
     * <code>repeated string threshold = 4;</code>
     */
    int getThresholdCount();
    /**
     * <pre>
     *&#47; Threshold value
     * </pre>
     *
     * <code>repeated string threshold = 4;</code>
     */
    java.lang.String getThreshold(int index);
    /**
     * <pre>
     *&#47; Threshold value
     * </pre>
     *
     * <code>repeated string threshold = 4;</code>
     */
    com.google.protobuf.ByteString
        getThresholdBytes(int index);

    /**
     * <pre>
     *&#47; List of signals 
     * </pre>
     *
     * <code>repeated string compareToSignals = 5;</code>
     */
    java.util.List<java.lang.String>
        getCompareToSignalsList();
    /**
     * <pre>
     *&#47; List of signals 
     * </pre>
     *
     * <code>repeated string compareToSignals = 5;</code>
     */
    int getCompareToSignalsCount();
    /**
     * <pre>
     *&#47; List of signals 
     * </pre>
     *
     * <code>repeated string compareToSignals = 5;</code>
     */
    java.lang.String getCompareToSignals(int index);
    /**
     * <pre>
     *&#47; List of signals 
     * </pre>
     *
     * <code>repeated string compareToSignals = 5;</code>
     */
    com.google.protobuf.ByteString
        getCompareToSignalsBytes(int index);

    /**
     * <pre>
     *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
     * </pre>
     *
     * <code>repeated string comparators = 6;</code>
     */
    java.util.List<java.lang.String>
        getComparatorsList();
    /**
     * <pre>
     *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
     * </pre>
     *
     * <code>repeated string comparators = 6;</code>
     */
    int getComparatorsCount();
    /**
     * <pre>
     *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
     * </pre>
     *
     * <code>repeated string comparators = 6;</code>
     */
    java.lang.String getComparators(int index);
    /**
     * <pre>
     *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
     * </pre>
     *
     * <code>repeated string comparators = 6;</code>
     */
    com.google.protobuf.ByteString
        getComparatorsBytes(int index);
  }
  /**
   * <pre>
   *&#47; To be replaced by Stack Evaluator's event object
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.AdaEvent}
   */
  public  static final class AdaEvent extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.AdaEvent)
      AdaEventOrBuilder {
    // Use AdaEvent.newBuilder() to construct.
    private AdaEvent(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AdaEvent() {
      signalName_ = "";
      signalType_ = "";
      compareType_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      threshold_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      compareToSignals_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      comparators_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private AdaEvent(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              signalName_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              signalType_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                compareType_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              compareType_.add(s);
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                threshold_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              threshold_.add(s);
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
                compareToSignals_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000010;
              }
              compareToSignals_.add(s);
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
                comparators_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000020;
              }
              comparators_.add(s);
              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_ & 0x00000004) == 0x00000004)) {
          compareType_ = compareType_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          threshold_ = threshold_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
          compareToSignals_ = compareToSignals_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
          comparators_ = comparators_.getUnmodifiableView();
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaEvent_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaEvent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder.class);
    }

    private int bitField0_;
    public static final int SIGNALNAME_FIELD_NUMBER = 1;
    private volatile java.lang.Object signalName_;
    /**
     * <pre>
     *&#47; Signal or datapoint being compared. Same as AdaSignal.name
     * </pre>
     *
     * <code>string signalName = 1;</code>
     */
    public java.lang.String getSignalName() {
      java.lang.Object ref = signalName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        signalName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *&#47; Signal or datapoint being compared. Same as AdaSignal.name
     * </pre>
     *
     * <code>string signalName = 1;</code>
     */
    public com.google.protobuf.ByteString
        getSignalNameBytes() {
      java.lang.Object ref = signalName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        signalName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SIGNALTYPE_FIELD_NUMBER = 2;
    private volatile java.lang.Object signalType_;
    /**
     * <pre>
     *&#47; Type or source of datapoint. Same as AdaSignal.type
     * </pre>
     *
     * <code>string signalType = 2;</code>
     */
    public java.lang.String getSignalType() {
      java.lang.Object ref = signalType_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        signalType_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *&#47; Type or source of datapoint. Same as AdaSignal.type
     * </pre>
     *
     * <code>string signalType = 2;</code>
     */
    public com.google.protobuf.ByteString
        getSignalTypeBytes() {
      java.lang.Object ref = signalType_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        signalType_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int COMPARETYPE_FIELD_NUMBER = 3;
    private com.google.protobuf.LazyStringList compareType_;
    /**
     * <pre>
     *&#47; Comparison type. Possible values { "threshold", "signal" }
     * </pre>
     *
     * <code>repeated string compareType = 3;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getCompareTypeList() {
      return compareType_;
    }
    /**
     * <pre>
     *&#47; Comparison type. Possible values { "threshold", "signal" }
     * </pre>
     *
     * <code>repeated string compareType = 3;</code>
     */
    public int getCompareTypeCount() {
      return compareType_.size();
    }
    /**
     * <pre>
     *&#47; Comparison type. Possible values { "threshold", "signal" }
     * </pre>
     *
     * <code>repeated string compareType = 3;</code>
     */
    public java.lang.String getCompareType(int index) {
      return compareType_.get(index);
    }
    /**
     * <pre>
     *&#47; Comparison type. Possible values { "threshold", "signal" }
     * </pre>
     *
     * <code>repeated string compareType = 3;</code>
     */
    public com.google.protobuf.ByteString
        getCompareTypeBytes(int index) {
      return compareType_.getByteString(index);
    }

    public static final int THRESHOLD_FIELD_NUMBER = 4;
    private com.google.protobuf.LazyStringList threshold_;
    /**
     * <pre>
     *&#47; Threshold value
     * </pre>
     *
     * <code>repeated string threshold = 4;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getThresholdList() {
      return threshold_;
    }
    /**
     * <pre>
     *&#47; Threshold value
     * </pre>
     *
     * <code>repeated string threshold = 4;</code>
     */
    public int getThresholdCount() {
      return threshold_.size();
    }
    /**
     * <pre>
     *&#47; Threshold value
     * </pre>
     *
     * <code>repeated string threshold = 4;</code>
     */
    public java.lang.String getThreshold(int index) {
      return threshold_.get(index);
    }
    /**
     * <pre>
     *&#47; Threshold value
     * </pre>
     *
     * <code>repeated string threshold = 4;</code>
     */
    public com.google.protobuf.ByteString
        getThresholdBytes(int index) {
      return threshold_.getByteString(index);
    }

    public static final int COMPARETOSIGNALS_FIELD_NUMBER = 5;
    private com.google.protobuf.LazyStringList compareToSignals_;
    /**
     * <pre>
     *&#47; List of signals 
     * </pre>
     *
     * <code>repeated string compareToSignals = 5;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getCompareToSignalsList() {
      return compareToSignals_;
    }
    /**
     * <pre>
     *&#47; List of signals 
     * </pre>
     *
     * <code>repeated string compareToSignals = 5;</code>
     */
    public int getCompareToSignalsCount() {
      return compareToSignals_.size();
    }
    /**
     * <pre>
     *&#47; List of signals 
     * </pre>
     *
     * <code>repeated string compareToSignals = 5;</code>
     */
    public java.lang.String getCompareToSignals(int index) {
      return compareToSignals_.get(index);
    }
    /**
     * <pre>
     *&#47; List of signals 
     * </pre>
     *
     * <code>repeated string compareToSignals = 5;</code>
     */
    public com.google.protobuf.ByteString
        getCompareToSignalsBytes(int index) {
      return compareToSignals_.getByteString(index);
    }

    public static final int COMPARATORS_FIELD_NUMBER = 6;
    private com.google.protobuf.LazyStringList comparators_;
    /**
     * <pre>
     *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
     * </pre>
     *
     * <code>repeated string comparators = 6;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getComparatorsList() {
      return comparators_;
    }
    /**
     * <pre>
     *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
     * </pre>
     *
     * <code>repeated string comparators = 6;</code>
     */
    public int getComparatorsCount() {
      return comparators_.size();
    }
    /**
     * <pre>
     *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
     * </pre>
     *
     * <code>repeated string comparators = 6;</code>
     */
    public java.lang.String getComparators(int index) {
      return comparators_.get(index);
    }
    /**
     * <pre>
     *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
     * </pre>
     *
     * <code>repeated string comparators = 6;</code>
     */
    public com.google.protobuf.ByteString
        getComparatorsBytes(int index) {
      return comparators_.getByteString(index);
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getSignalNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, signalName_);
      }
      if (!getSignalTypeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, signalType_);
      }
      for (int i = 0; i < compareType_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, compareType_.getRaw(i));
      }
      for (int i = 0; i < threshold_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, threshold_.getRaw(i));
      }
      for (int i = 0; i < compareToSignals_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, compareToSignals_.getRaw(i));
      }
      for (int i = 0; i < comparators_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, comparators_.getRaw(i));
      }
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getSignalNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, signalName_);
      }
      if (!getSignalTypeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, signalType_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < compareType_.size(); i++) {
          dataSize += computeStringSizeNoTag(compareType_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getCompareTypeList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < threshold_.size(); i++) {
          dataSize += computeStringSizeNoTag(threshold_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getThresholdList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < compareToSignals_.size(); i++) {
          dataSize += computeStringSizeNoTag(compareToSignals_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getCompareToSignalsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < comparators_.size(); i++) {
          dataSize += computeStringSizeNoTag(comparators_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getComparatorsList().size();
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent other = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent) obj;

      boolean result = true;
      result = result && getSignalName()
          .equals(other.getSignalName());
      result = result && getSignalType()
          .equals(other.getSignalType());
      result = result && getCompareTypeList()
          .equals(other.getCompareTypeList());
      result = result && getThresholdList()
          .equals(other.getThresholdList());
      result = result && getCompareToSignalsList()
          .equals(other.getCompareToSignalsList());
      result = result && getComparatorsList()
          .equals(other.getComparatorsList());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + SIGNALNAME_FIELD_NUMBER;
      hash = (53 * hash) + getSignalName().hashCode();
      hash = (37 * hash) + SIGNALTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getSignalType().hashCode();
      if (getCompareTypeCount() > 0) {
        hash = (37 * hash) + COMPARETYPE_FIELD_NUMBER;
        hash = (53 * hash) + getCompareTypeList().hashCode();
      }
      if (getThresholdCount() > 0) {
        hash = (37 * hash) + THRESHOLD_FIELD_NUMBER;
        hash = (53 * hash) + getThresholdList().hashCode();
      }
      if (getCompareToSignalsCount() > 0) {
        hash = (37 * hash) + COMPARETOSIGNALS_FIELD_NUMBER;
        hash = (53 * hash) + getCompareToSignalsList().hashCode();
      }
      if (getComparatorsCount() > 0) {
        hash = (37 * hash) + COMPARATORS_FIELD_NUMBER;
        hash = (53 * hash) + getComparatorsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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;
    }
    /**
     * <pre>
     *&#47; To be replaced by Stack Evaluator's event object
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.AdaEvent}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.AdaEvent)
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaEventOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaEvent_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaEvent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        signalName_ = "";

        signalType_ = "";

        compareType_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        threshold_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        compareToSignals_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        comparators_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaEvent_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent build() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent result = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.signalName_ = signalName_;
        result.signalType_ = signalType_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          compareType_ = compareType_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.compareType_ = compareType_;
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          threshold_ = threshold_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.threshold_ = threshold_;
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          compareToSignals_ = compareToSignals_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.compareToSignals_ = compareToSignals_;
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          comparators_ = comparators_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.comparators_ = comparators_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent.getDefaultInstance()) return this;
        if (!other.getSignalName().isEmpty()) {
          signalName_ = other.signalName_;
          onChanged();
        }
        if (!other.getSignalType().isEmpty()) {
          signalType_ = other.signalType_;
          onChanged();
        }
        if (!other.compareType_.isEmpty()) {
          if (compareType_.isEmpty()) {
            compareType_ = other.compareType_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureCompareTypeIsMutable();
            compareType_.addAll(other.compareType_);
          }
          onChanged();
        }
        if (!other.threshold_.isEmpty()) {
          if (threshold_.isEmpty()) {
            threshold_ = other.threshold_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureThresholdIsMutable();
            threshold_.addAll(other.threshold_);
          }
          onChanged();
        }
        if (!other.compareToSignals_.isEmpty()) {
          if (compareToSignals_.isEmpty()) {
            compareToSignals_ = other.compareToSignals_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureCompareToSignalsIsMutable();
            compareToSignals_.addAll(other.compareToSignals_);
          }
          onChanged();
        }
        if (!other.comparators_.isEmpty()) {
          if (comparators_.isEmpty()) {
            comparators_ = other.comparators_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureComparatorsIsMutable();
            comparators_.addAll(other.comparators_);
          }
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object signalName_ = "";
      /**
       * <pre>
       *&#47; Signal or datapoint being compared. Same as AdaSignal.name
       * </pre>
       *
       * <code>string signalName = 1;</code>
       */
      public java.lang.String getSignalName() {
        java.lang.Object ref = signalName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          signalName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; Signal or datapoint being compared. Same as AdaSignal.name
       * </pre>
       *
       * <code>string signalName = 1;</code>
       */
      public com.google.protobuf.ByteString
          getSignalNameBytes() {
        java.lang.Object ref = signalName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          signalName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; Signal or datapoint being compared. Same as AdaSignal.name
       * </pre>
       *
       * <code>string signalName = 1;</code>
       */
      public Builder setSignalName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        signalName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Signal or datapoint being compared. Same as AdaSignal.name
       * </pre>
       *
       * <code>string signalName = 1;</code>
       */
      public Builder clearSignalName() {
        
        signalName_ = getDefaultInstance().getSignalName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Signal or datapoint being compared. Same as AdaSignal.name
       * </pre>
       *
       * <code>string signalName = 1;</code>
       */
      public Builder setSignalNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        signalName_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object signalType_ = "";
      /**
       * <pre>
       *&#47; Type or source of datapoint. Same as AdaSignal.type
       * </pre>
       *
       * <code>string signalType = 2;</code>
       */
      public java.lang.String getSignalType() {
        java.lang.Object ref = signalType_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          signalType_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; Type or source of datapoint. Same as AdaSignal.type
       * </pre>
       *
       * <code>string signalType = 2;</code>
       */
      public com.google.protobuf.ByteString
          getSignalTypeBytes() {
        java.lang.Object ref = signalType_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          signalType_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; Type or source of datapoint. Same as AdaSignal.type
       * </pre>
       *
       * <code>string signalType = 2;</code>
       */
      public Builder setSignalType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        signalType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Type or source of datapoint. Same as AdaSignal.type
       * </pre>
       *
       * <code>string signalType = 2;</code>
       */
      public Builder clearSignalType() {
        
        signalType_ = getDefaultInstance().getSignalType();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Type or source of datapoint. Same as AdaSignal.type
       * </pre>
       *
       * <code>string signalType = 2;</code>
       */
      public Builder setSignalTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        signalType_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList compareType_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureCompareTypeIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          compareType_ = new com.google.protobuf.LazyStringArrayList(compareType_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <pre>
       *&#47; Comparison type. Possible values { "threshold", "signal" }
       * </pre>
       *
       * <code>repeated string compareType = 3;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getCompareTypeList() {
        return compareType_.getUnmodifiableView();
      }
      /**
       * <pre>
       *&#47; Comparison type. Possible values { "threshold", "signal" }
       * </pre>
       *
       * <code>repeated string compareType = 3;</code>
       */
      public int getCompareTypeCount() {
        return compareType_.size();
      }
      /**
       * <pre>
       *&#47; Comparison type. Possible values { "threshold", "signal" }
       * </pre>
       *
       * <code>repeated string compareType = 3;</code>
       */
      public java.lang.String getCompareType(int index) {
        return compareType_.get(index);
      }
      /**
       * <pre>
       *&#47; Comparison type. Possible values { "threshold", "signal" }
       * </pre>
       *
       * <code>repeated string compareType = 3;</code>
       */
      public com.google.protobuf.ByteString
          getCompareTypeBytes(int index) {
        return compareType_.getByteString(index);
      }
      /**
       * <pre>
       *&#47; Comparison type. Possible values { "threshold", "signal" }
       * </pre>
       *
       * <code>repeated string compareType = 3;</code>
       */
      public Builder setCompareType(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureCompareTypeIsMutable();
        compareType_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Comparison type. Possible values { "threshold", "signal" }
       * </pre>
       *
       * <code>repeated string compareType = 3;</code>
       */
      public Builder addCompareType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureCompareTypeIsMutable();
        compareType_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Comparison type. Possible values { "threshold", "signal" }
       * </pre>
       *
       * <code>repeated string compareType = 3;</code>
       */
      public Builder addAllCompareType(
          java.lang.Iterable<java.lang.String> values) {
        ensureCompareTypeIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, compareType_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Comparison type. Possible values { "threshold", "signal" }
       * </pre>
       *
       * <code>repeated string compareType = 3;</code>
       */
      public Builder clearCompareType() {
        compareType_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Comparison type. Possible values { "threshold", "signal" }
       * </pre>
       *
       * <code>repeated string compareType = 3;</code>
       */
      public Builder addCompareTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureCompareTypeIsMutable();
        compareType_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList threshold_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureThresholdIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          threshold_ = new com.google.protobuf.LazyStringArrayList(threshold_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <pre>
       *&#47; Threshold value
       * </pre>
       *
       * <code>repeated string threshold = 4;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getThresholdList() {
        return threshold_.getUnmodifiableView();
      }
      /**
       * <pre>
       *&#47; Threshold value
       * </pre>
       *
       * <code>repeated string threshold = 4;</code>
       */
      public int getThresholdCount() {
        return threshold_.size();
      }
      /**
       * <pre>
       *&#47; Threshold value
       * </pre>
       *
       * <code>repeated string threshold = 4;</code>
       */
      public java.lang.String getThreshold(int index) {
        return threshold_.get(index);
      }
      /**
       * <pre>
       *&#47; Threshold value
       * </pre>
       *
       * <code>repeated string threshold = 4;</code>
       */
      public com.google.protobuf.ByteString
          getThresholdBytes(int index) {
        return threshold_.getByteString(index);
      }
      /**
       * <pre>
       *&#47; Threshold value
       * </pre>
       *
       * <code>repeated string threshold = 4;</code>
       */
      public Builder setThreshold(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureThresholdIsMutable();
        threshold_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Threshold value
       * </pre>
       *
       * <code>repeated string threshold = 4;</code>
       */
      public Builder addThreshold(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureThresholdIsMutable();
        threshold_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Threshold value
       * </pre>
       *
       * <code>repeated string threshold = 4;</code>
       */
      public Builder addAllThreshold(
          java.lang.Iterable<java.lang.String> values) {
        ensureThresholdIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, threshold_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Threshold value
       * </pre>
       *
       * <code>repeated string threshold = 4;</code>
       */
      public Builder clearThreshold() {
        threshold_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Threshold value
       * </pre>
       *
       * <code>repeated string threshold = 4;</code>
       */
      public Builder addThresholdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureThresholdIsMutable();
        threshold_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList compareToSignals_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureCompareToSignalsIsMutable() {
        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
          compareToSignals_ = new com.google.protobuf.LazyStringArrayList(compareToSignals_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * <pre>
       *&#47; List of signals 
       * </pre>
       *
       * <code>repeated string compareToSignals = 5;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getCompareToSignalsList() {
        return compareToSignals_.getUnmodifiableView();
      }
      /**
       * <pre>
       *&#47; List of signals 
       * </pre>
       *
       * <code>repeated string compareToSignals = 5;</code>
       */
      public int getCompareToSignalsCount() {
        return compareToSignals_.size();
      }
      /**
       * <pre>
       *&#47; List of signals 
       * </pre>
       *
       * <code>repeated string compareToSignals = 5;</code>
       */
      public java.lang.String getCompareToSignals(int index) {
        return compareToSignals_.get(index);
      }
      /**
       * <pre>
       *&#47; List of signals 
       * </pre>
       *
       * <code>repeated string compareToSignals = 5;</code>
       */
      public com.google.protobuf.ByteString
          getCompareToSignalsBytes(int index) {
        return compareToSignals_.getByteString(index);
      }
      /**
       * <pre>
       *&#47; List of signals 
       * </pre>
       *
       * <code>repeated string compareToSignals = 5;</code>
       */
      public Builder setCompareToSignals(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureCompareToSignalsIsMutable();
        compareToSignals_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals 
       * </pre>
       *
       * <code>repeated string compareToSignals = 5;</code>
       */
      public Builder addCompareToSignals(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureCompareToSignalsIsMutable();
        compareToSignals_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals 
       * </pre>
       *
       * <code>repeated string compareToSignals = 5;</code>
       */
      public Builder addAllCompareToSignals(
          java.lang.Iterable<java.lang.String> values) {
        ensureCompareToSignalsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, compareToSignals_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals 
       * </pre>
       *
       * <code>repeated string compareToSignals = 5;</code>
       */
      public Builder clearCompareToSignals() {
        compareToSignals_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; List of signals 
       * </pre>
       *
       * <code>repeated string compareToSignals = 5;</code>
       */
      public Builder addCompareToSignalsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureCompareToSignalsIsMutable();
        compareToSignals_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList comparators_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureComparatorsIsMutable() {
        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
          comparators_ = new com.google.protobuf.LazyStringArrayList(comparators_);
          bitField0_ |= 0x00000020;
         }
      }
      /**
       * <pre>
       *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
       * </pre>
       *
       * <code>repeated string comparators = 6;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getComparatorsList() {
        return comparators_.getUnmodifiableView();
      }
      /**
       * <pre>
       *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
       * </pre>
       *
       * <code>repeated string comparators = 6;</code>
       */
      public int getComparatorsCount() {
        return comparators_.size();
      }
      /**
       * <pre>
       *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
       * </pre>
       *
       * <code>repeated string comparators = 6;</code>
       */
      public java.lang.String getComparators(int index) {
        return comparators_.get(index);
      }
      /**
       * <pre>
       *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
       * </pre>
       *
       * <code>repeated string comparators = 6;</code>
       */
      public com.google.protobuf.ByteString
          getComparatorsBytes(int index) {
        return comparators_.getByteString(index);
      }
      /**
       * <pre>
       *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
       * </pre>
       *
       * <code>repeated string comparators = 6;</code>
       */
      public Builder setComparators(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureComparatorsIsMutable();
        comparators_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
       * </pre>
       *
       * <code>repeated string comparators = 6;</code>
       */
      public Builder addComparators(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureComparatorsIsMutable();
        comparators_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
       * </pre>
       *
       * <code>repeated string comparators = 6;</code>
       */
      public Builder addAllComparators(
          java.lang.Iterable<java.lang.String> values) {
        ensureComparatorsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, comparators_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
       * </pre>
       *
       * <code>repeated string comparators = 6;</code>
       */
      public Builder clearComparators() {
        comparators_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Possible values &gt;, &lt;, =, &gt;=, &lt;=. 
       * </pre>
       *
       * <code>repeated string comparators = 6;</code>
       */
      public Builder addComparatorsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureComparatorsIsMutable();
        comparators_.add(value);
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.AdaEvent)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.AdaEvent)
    private static final com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AdaEvent>
        PARSER = new com.google.protobuf.AbstractParser<AdaEvent>() {
      public AdaEvent parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new AdaEvent(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaEvent getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AdaBundleEventEncryptedOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.AdaBundleEventEncrypted)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Encrypted AdaBundleEvent
     * </pre>
     *
     * <code>string bundle = 1;</code>
     */
    java.lang.String getBundle();
    /**
     * <pre>
     *&#47; Encrypted AdaBundleEvent
     * </pre>
     *
     * <code>string bundle = 1;</code>
     */
    com.google.protobuf.ByteString
        getBundleBytes();
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.AdaBundleEventEncrypted}
   */
  public  static final class AdaBundleEventEncrypted extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.AdaBundleEventEncrypted)
      AdaBundleEventEncryptedOrBuilder {
    // Use AdaBundleEventEncrypted.newBuilder() to construct.
    private AdaBundleEventEncrypted(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AdaBundleEventEncrypted() {
      bundle_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private AdaBundleEventEncrypted(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              bundle_ = s;
              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 {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundleEventEncrypted_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundleEventEncrypted_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted.Builder.class);
    }

    public static final int BUNDLE_FIELD_NUMBER = 1;
    private volatile java.lang.Object bundle_;
    /**
     * <pre>
     *&#47; Encrypted AdaBundleEvent
     * </pre>
     *
     * <code>string bundle = 1;</code>
     */
    public java.lang.String getBundle() {
      java.lang.Object ref = bundle_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        bundle_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *&#47; Encrypted AdaBundleEvent
     * </pre>
     *
     * <code>string bundle = 1;</code>
     */
    public com.google.protobuf.ByteString
        getBundleBytes() {
      java.lang.Object ref = bundle_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        bundle_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getBundleBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, bundle_);
      }
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getBundleBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, bundle_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted other = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted) obj;

      boolean result = true;
      result = result && getBundle()
          .equals(other.getBundle());
      return result;
    }

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

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted 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 com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 com.fca.uconnect.global.AdaBundleEventEncrypted}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.AdaBundleEventEncrypted)
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncryptedOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundleEventEncrypted_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundleEventEncrypted_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted.class, com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        bundle_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.internal_static_com_fca_uconnect_global_AdaBundleEventEncrypted_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted build() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted result = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted(this);
        result.bundle_ = bundle_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted.getDefaultInstance()) return this;
        if (!other.getBundle().isEmpty()) {
          bundle_ = other.bundle_;
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object bundle_ = "";
      /**
       * <pre>
       *&#47; Encrypted AdaBundleEvent
       * </pre>
       *
       * <code>string bundle = 1;</code>
       */
      public java.lang.String getBundle() {
        java.lang.Object ref = bundle_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          bundle_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; Encrypted AdaBundleEvent
       * </pre>
       *
       * <code>string bundle = 1;</code>
       */
      public com.google.protobuf.ByteString
          getBundleBytes() {
        java.lang.Object ref = bundle_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          bundle_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; Encrypted AdaBundleEvent
       * </pre>
       *
       * <code>string bundle = 1;</code>
       */
      public Builder setBundle(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        bundle_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Encrypted AdaBundleEvent
       * </pre>
       *
       * <code>string bundle = 1;</code>
       */
      public Builder clearBundle() {
        
        bundle_ = getDefaultInstance().getBundle();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Encrypted AdaBundleEvent
       * </pre>
       *
       * <code>string bundle = 1;</code>
       */
      public Builder setBundleBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        bundle_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.AdaBundleEventEncrypted)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.AdaBundleEventEncrypted)
    private static final com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AdaBundleEventEncrypted>
        PARSER = new com.google.protobuf.AbstractParser<AdaBundleEventEncrypted>() {
      public AdaBundleEventEncrypted parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new AdaBundleEventEncrypted(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtAda.AdaBundleEventEncrypted getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_AdaBundleEvent_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_AdaBundleEvent_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_AdaBundle_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_AdaBundle_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_AdaPolicy_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_AdaPolicy_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_AdaPlan_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_AdaPlan_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_AdaSignal_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_AdaSignal_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_AdaEvent_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_AdaEvent_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_AdaBundleEventEncrypted_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_AdaBundleEventEncrypted_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\035Global_Uconnect_Ext_Ada.proto\022\027com.fca" +
      ".uconnect.global\"\216\001\n\016AdaBundleEvent\022\021\n\tt" +
      "imestamp\030\001 \001(\t\022\013\n\003vin\030\002 \001(\t\022\n\n\002id\030\003 \001(\003\022" +
      "\014\n\004hash\030\004 \001(\t\022\016\n\006period\030\005 \001(\003\0222\n\006bundle\030" +
      "\006 \003(\0132\".com.fca.uconnect.global.AdaBundl" +
      "e\"\031\n\tAdaBundle\022\014\n\004data\030\001 \003(\t\"\237\001\n\tAdaPoli" +
      "cy\022\n\n\002id\030\001 \001(\003\022\r\n\005pname\030\002 \001(\t\022\r\n\005renew\030\003" +
      " \001(\003\022\025\n\rbackup_window\030\004 \001(\003\022\r\n\005delay\030\005 \001" +
      "(\003\022\021\n\ttimestamp\030\006 \001(\003\022/\n\005plans\030\007 \003(\0132 .c" +
      "om.fca.uconnect.global.AdaPlan\"\247\001\n\007AdaPl",
      "an\022\016\n\006period\030\001 \001(\003\022\014\n\004type\030\002 \001(\t\022\027\n\017tran" +
      "sfer_window\030\003 \001(\003\0223\n\007signals\030\004 \003(\0132\".com" +
      ".fca.uconnect.global.AdaSignal\0220\n\005event\030" +
      "\005 \003(\0132!.com.fca.uconnect.global.AdaEvent" +
      "\"\'\n\tAdaSignal\022\014\n\004name\030\001 \001(\t\022\014\n\004type\030\002 \001(" +
      "\t\"\211\001\n\010AdaEvent\022\022\n\nsignalName\030\001 \001(\t\022\022\n\nsi" +
      "gnalType\030\002 \001(\t\022\023\n\013compareType\030\003 \003(\t\022\021\n\tt" +
      "hreshold\030\004 \003(\t\022\030\n\020compareToSignals\030\005 \003(\t" +
      "\022\023\n\013comparators\030\006 \003(\t\")\n\027AdaBundleEventE" +
      "ncrypted\022\016\n\006bundle\030\001 \001(\tb\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
    internal_static_com_fca_uconnect_global_AdaBundleEvent_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_com_fca_uconnect_global_AdaBundleEvent_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_AdaBundleEvent_descriptor,
        new java.lang.String[] { "Timestamp", "Vin", "Id", "Hash", "Period", "Bundle", });
    internal_static_com_fca_uconnect_global_AdaBundle_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_com_fca_uconnect_global_AdaBundle_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_AdaBundle_descriptor,
        new java.lang.String[] { "Data", });
    internal_static_com_fca_uconnect_global_AdaPolicy_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_com_fca_uconnect_global_AdaPolicy_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_AdaPolicy_descriptor,
        new java.lang.String[] { "Id", "Pname", "Renew", "BackupWindow", "Delay", "Timestamp", "Plans", });
    internal_static_com_fca_uconnect_global_AdaPlan_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_com_fca_uconnect_global_AdaPlan_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_AdaPlan_descriptor,
        new java.lang.String[] { "Period", "Type", "TransferWindow", "Signals", "Event", });
    internal_static_com_fca_uconnect_global_AdaSignal_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_com_fca_uconnect_global_AdaSignal_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_AdaSignal_descriptor,
        new java.lang.String[] { "Name", "Type", });
    internal_static_com_fca_uconnect_global_AdaEvent_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_com_fca_uconnect_global_AdaEvent_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_AdaEvent_descriptor,
        new java.lang.String[] { "SignalName", "SignalType", "CompareType", "Threshold", "CompareToSignals", "Comparators", });
    internal_static_com_fca_uconnect_global_AdaBundleEventEncrypted_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_com_fca_uconnect_global_AdaBundleEventEncrypted_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_AdaBundleEventEncrypted_descriptor,
        new java.lang.String[] { "Bundle", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
