// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Global_Uconnect_Ext_DataLogger.proto
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Com.Fca.Uconnect.Global {

  /// <summary>Holder for reflection information generated from Global_Uconnect_Ext_DataLogger.proto</summary>
  public static partial class GlobalUconnectExtDataLoggerReflection {

    #region Descriptor
    /// <summary>File descriptor for Global_Uconnect_Ext_DataLogger.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static GlobalUconnectExtDataLoggerReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CiRHbG9iYWxfVWNvbm5lY3RfRXh0X0RhdGFMb2dnZXIucHJvdG8SF2NvbS5m",
            "Y2EudWNvbm5lY3QuZ2xvYmFsItsNChFQdWJsaXNoRGF0YUhlYWRlchIMCgR1",
            "bGluGAEgASgJEhQKDG5vT2ZUcmlnZ2VycxgCIAEoBRIWCg5sb2NraW5nVHJp",
            "Z2dlchgDIAEoCBIaChJtYXBEYXRhYmFzZVZlcnNpb24YBCABKAkSCwoDdmlu",
            "GAUgASgJEk8KC25leHRUcmlnZ2VyGAYgAygLMjouY29tLmZjYS51Y29ubmVj",
            "dC5nbG9iYWwuUHVibGlzaERhdGFIZWFkZXIuVHJpZ2dlckluZm9UeXBlElkK",
            "DWNhZG1TV1ZlcnNpb24YByABKAsyQi5jb20uZmNhLnVjb25uZWN0Lmdsb2Jh",
            "bC5QdWJsaXNoRGF0YUhlYWRlci5DYWRtU29mdHdhcmVWZXJzaW9uVHlwZRJR",
            "CglkYlZlcnNpb24YCCABKAsyPi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5Q",
            "dWJsaXNoRGF0YUhlYWRlci5EYXRhYmFzZVZlcnNpb25UeXBlElAKDGZpcnN0",
            "VHJpZ2dlchgJIAEoCzI6LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLlB1Ymxp",
            "c2hEYXRhSGVhZGVyLlRyaWdnZXJJbmZvVHlwZRrbAwoPVHJpZ2dlckluZm9U",
            "eXBlEkMKE3RyaWdnZXJSZWxhdGl2ZVRpbWUYAiABKAsyJi5jb20uZmNhLnVj",
            "b25uZWN0Lmdsb2JhbC5EYXRhU2V0U2lnbmFsEjsKC2dwc0xhdGl0dWRlGAMg",
            "ASgLMiYuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YVNldFNpZ25hbBI8",
            "CgxncHNMb25naXR1ZGUYBCABKAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2Jh",
            "bC5EYXRhU2V0U2lnbmFsEjsKC2dwc0FsdGl0dWRlGAUgASgLMiYuY29tLmZj",
            "YS51Y29ubmVjdC5nbG9iYWwuRGF0YVNldFNpZ25hbBI4CghvZG9tZXRlchgG",
            "IAEoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFTZXRTaWduYWwS",
            "SAoJdHJpZ2dlcklEGAcgASgOMjUuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwu",
            "UHVibGlzaERhdGFIZWFkZXIuVHJpZ2dlcklkcxJHCgdncHNUaW1lGAEgASgL",
            "MjYuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuUHVibGlzaERhdGFIZWFkZXIu",
            "Z3BzVGltZUluZm8aXwoXQ2FkbVNvZnR3YXJlVmVyc2lvblR5cGUSFQoNc3dW",
            "ZXJzaW9uWWVhchgBIAEoBRIVCg1zd1ZlcnNpb25XZWVrGAIgASgFEhYKDnN3",
            "VmVyc2lvblBhdGNoGAMgASgFGlsKE0RhdGFiYXNlVmVyc2lvblR5cGUSFQoN",
            "ZGJWZXJzaW9uWWVhchgBIAEoBRIVCg1kYlZlcnNpb25XZWVrGAIgASgFEhYK",
            "DmRiVmVyc2lvblBhdGNoGAMgASgFGl8KC2dwc1RpbWVJbmZvEg8KB2dwc1ll",
            "YXIYASABKAwSDgoGZ3BzRGF5GAIgASgMEg8KB2dwc0hvdXIYAyABKAwSDgoG",
            "Z3BzU2VjGAQgASgMEg4KBmdwc01pbhgFIAEoDCKSBAoKVHJpZ2dlcklkcxIL",
            "CgdERUZBVUxUEAASFgoSQURBU19NUk1fSW5pdGlhdGVkEAESHwobQURBU19F",
            "dmFzaXZlX1N0ZWVyaW5nX0V2ZW50EAISHAoYTG93X1ZlaGljbGVfQWNjZWxl",
            "cmF0aW9uEAMSIwofRHJpdmVyX01hbnVhbF9UaHJvdHRsZV9PdmVycmlkZRAE",
            "EhoKFlBlcmNlcHRpb25fTGF5ZXJfRXJyb3IQBRIjCh9BRUJfRXZlbnRfQWN0",
            "aXZlX29yX0ZDQV9XYXJuaW5nEAYSMAosTDJQbHVzMkJfU3RlZXJfVG9ycXVl",
            "X0NvbW1hbmRfRXhjZWVkZWRfTGltaXQQBxIOCgpDQURNX0ZhdWx0EAgSDwoL",
            "Q0FETTJfRmF1bHQQCRINCglFUFNfRmF1bHQQChINCglCU01fRmF1bHQQCxIN",
            "CglFUEJfRmF1bHQQDBIOCgpETVNNX0ZhdWx0EA0SFAoQQUJTX0ludGVydmVu",
            "dGlvbhAOEhQKEEVTQ19JbnRlcnZlbnRpb24QDxIqCiZNYXhpbXVtX0xhdGVy",
            "YWxfRW5jcm9hY2htZW50X1RocmVzaG9sZBAQEicKI0hpZ2h3YXlfQXNzaXN0",
            "X1N5c3RlbV9QcmltYXJ5X0ZhdWx0EBESKQolSGlnaHdheV9Bc3Npc3RfU3lz",
            "dGVtX1NlY29uZGFyeV9GYXVsdBASIu7/AQoURGF0YUxvZ01lc3NhZ2VPYmpl",
            "Y3QSGwoTZnVzZWRMYW5lQm91bmRhcmllcxgDIAMoCRJqChZyZWFzb25Gb3JE",
            "aXNlbmdhZ2VtZW50GMwBIAMoCzJJLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFs",
            "LkRhdGFMb2dNZXNzYWdlT2JqZWN0LlJlYXNvbkZvckRpc2VuZ2FnZW1lbnRf",
            "VHlwZRJUChFhYnNBY3RpdmVGbGFnX0JTTRgWIAMoDjI5LmNvbS5mY2EudWNv",
            "bm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkFjdGl2ZV9FbnVt",
            "ElUKEmFic0FjdGl2ZUZsYWdfQlNNMhgXIAMoDjI5LmNvbS5mY2EudWNvbm5l",
            "Y3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkFjdGl2ZV9FbnVtElUK",
            "EWVzY0FjdGl2ZUZsYWdfQlNNGLkBIAMoDjI5LmNvbS5mY2EudWNvbm5lY3Qu",
            "Z2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkFjdGl2ZV9FbnVtEigKH2hk",
            "TWFwQ2VudGVybGluZV9sYXRlcmFsRGlzdGFuY2UY5QEgAygCElcKD2xyY2ZG",
            "YXVsdFN0YXR1cxgnIAMoDjI+LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRh",
            "dGFMb2dNZXNzYWdlT2JqZWN0LkZhdWx0U3RhdHVzX0VudW0SVwoPbHJyZkZh",
            "dWx0U3RhdHVzGCggAygOMj4uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0",
            "YUxvZ01lc3NhZ2VPYmplY3QuRmF1bHRTdGF0dXNfRW51bRJYChBtcnJmbEZh",
            "dWx0U3RhdHVzGCkgAygOMj4uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0",
            "YUxvZ01lc3NhZ2VPYmplY3QuRmF1bHRTdGF0dXNfRW51bRJYChBtcnJybEZh",
            "dWx0U3RhdHVzGCogAygOMj4uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0",
            "YUxvZ01lc3NhZ2VPYmplY3QuRmF1bHRTdGF0dXNfRW51bRJYChBtcnJmckZh",
            "dWx0U3RhdHVzGCsgAygOMj4uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0",
            "YUxvZ01lc3NhZ2VPYmplY3QuRmF1bHRTdGF0dXNfRW51bRJYChBtcnJyckZh",
            "dWx0U3RhdHVzGCwgAygOMj4uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0",
            "YUxvZ01lc3NhZ2VPYmplY3QuRmF1bHRTdGF0dXNfRW51bRJeChNicmFrZVBy",
            "ZWZpbGxSZXF1ZXN0GEcgAygOMkEuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwu",
            "RGF0YUxvZ01lc3NhZ2VPYmplY3QuUHJlZmlsbFJlcXVlc3RfRW51bRJSCg9w",
            "cmVmaWxsUmVzcG9uc2UYSCADKA4yOS5jb20uZmNhLnVjb25uZWN0Lmdsb2Jh",
            "bC5EYXRhTG9nTWVzc2FnZU9iamVjdC5BY3RpdmVfRW51bRJWChJkcml2ZXJI",
            "ZWFkUG9zaXRpb24YXCADKA4yOi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5E",
            "YXRhTG9nTWVzc2FnZU9iamVjdC5QcmVzZW50X0VudW0SUgoSaGF6YXJkU3dp",
            "dGNoU3RhdHVzGF4gAygOMjYuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0",
            "YUxvZ01lc3NhZ2VPYmplY3QuU2V0X0VudW0STAocZ3VpZGFuY2VQYXRoX2xh",
            "dGVyYWxEaXN0YW5jZRhnIAMoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFs",
            "LkRhdGFTZXRTaWduYWwSWgoRU2VhdFZpYnJhdGlvbl9SZXEYxAEgAygOMj4u",
            "Y29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3Qu",
            "U2VhdFZpYl9SZXFfRW51bRJaChFTZWF0VmlicmF0aW9uX1N0cxjFASADKA4y",
            "Pi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVj",
            "dC5TZWF0VmliX1N0c19FbnVtEl8KEXdpcGVyU3dpdGNoU3RhdHVzGGMgAygO",
            "MkQuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmpl",
            "Y3QuV2lwZXJTd2l0Y2hTdGF0dXNfRW51bRJeChFkcml2ZXJNb2RlbFN0YXR1",
            "cxgHIAMoDjJDLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNz",
            "YWdlT2JqZWN0LkRyaXZlck1vZGVsU3RhdHVzRW51bRJcChBmY3dXYXJuaW5n",
            "U3RhdHVzGB4gAygOMkIuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxv",
            "Z01lc3NhZ2VPYmplY3QuRkNXV2FybmluZ1N0YXR1c0VudW0SUgoOYnNtRmF1",
            "bHRTdGF0dXMYHyADKA4yOi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRh",
            "TG9nTWVzc2FnZU9iamVjdC5PcFN0YXR1c0VudW0SUwoPYnNtMkZhdWx0U3Rh",
            "dHVzGCAgAygOMjouY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01l",
            "c3NhZ2VPYmplY3QuT3BTdGF0dXNFbnVtElMKD2NhZG1GYXVsdFN0YXR1cxgi",
            "IAMoDjI6LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdl",
            "T2JqZWN0Lk9wU3RhdHVzRW51bRJUChBjYWRtMkZhdWx0U3RhdHVzGCMgAygO",
            "MjouY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmpl",
            "Y3QuT3BTdGF0dXNFbnVtEloKD2dubW1GYXVsdFN0YXR1cxgkIAMoDjJBLmNv",
            "bS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkdO",
            "TU1GYXVsdFN0YXR1c0VudW0SWgoPZG1zbUZhdWx0U3RhdHVzGCUgAygOMkEu",
            "Y29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3Qu",
            "RE1TTUZhdWx0U3RhdHVzRW51bRJgChdwb3dlcnRyYWluTUlMTGFtcFN0YXR1",
            "cxgmIAMoDjI/LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNz",
            "YWdlT2JqZWN0LkVNU0ZhaWxTdGF0dXNFbnVtEloKD3N3c21GYXVsdFN0YXR1",
            "cxgtIAMoDjJBLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNz",
            "YWdlT2JqZWN0LlNXU01GYXVsdFN0YXR1c0VudW0SWQoPZGFsbUZhdWx0U3Rh",
            "dHVzGC4gAygOMkAuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01l",
            "c3NhZ2VPYmplY3QuQkNNRmF1bHRTdGF0dXNFbnVtEmYKF2FkYXNPcGVyYXRp",
            "bmdTdGF0ZV9DYWRtGDMgAygOMkUuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwu",
            "RGF0YUxvZ01lc3NhZ2VPYmplY3QuSEFTRXNjYWxhdGlvblN0YXR1c0VudW0S",
            "ZwoYYWRhc09wZXJhdGluZ1N0YXRlX0NhZG0yGDQgAygOMkUuY29tLmZjYS51",
            "Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuSEFTRXNjYWxh",
            "dGlvblN0YXR1c0VudW0SUgoNbXJtU3RhdGVfQ2FkbRg1IAMoDjI7LmNvbS5m",
            "Y2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0Lk1STVN0",
            "YXR1c0VudW0SUwoObXJtU3RhdGVfQ2FkbTIYNiADKA4yOy5jb20uZmNhLnVj",
            "b25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5NUk1TdGF0dXNF",
            "bnVtEnEKHnRvcnF1ZU92ZXJsYXlFbmdhZ2VSZXFFUFNfQ2FkbRg4IAMoDjJJ",
            "LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0",
            "LkhBU0xhdEN0cmxSZXF1ZXN0U3RhdHVzRW51bRJyCh90b3JxdWVPdmVybGF5",
            "RW5nYWdlUmVxRVBTX0NhZG0yGDogAygOMkkuY29tLmZjYS51Y29ubmVjdC5n",
            "bG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuSEFTTGF0Q3RybFJlcXVlc3RT",
            "dGF0dXNFbnVtEnUKHHBvd2VydHJhaW5JbnRlcmZhY2VFbmdhZ2VSZXEYQCAD",
            "KAsyTy5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9i",
            "amVjdC5Qb3dlcnRyYWluSW50ZXJmYWNlRW5nYWdlUmVxX1R5cGUSbgolYnJh",
            "a2VEZWNlbEludGVyZmFjZUVuZ2FnZVJlcVR5cGVfQ2FkbRhDIAMoDjI/LmNv",
            "bS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkFF",
            "QlR5cGVTdGF0dXNFbnVtEm8KJmJyYWtlRGVjZWxJbnRlcmZhY2VFbmdhZ2VS",
            "ZXFUeXBlX0NhZG0yGEUgAygOMj8uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwu",
            "RGF0YUxvZ01lc3NhZ2VPYmplY3QuQUVCVHlwZVN0YXR1c0VudW0SbgoZZWxl",
            "Y3Ryb25pY1BhcmtCcmFrZVN0YXR1cxhLIAMoDjJLLmNvbS5mY2EudWNvbm5l",
            "Y3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkVsZWN0cm9uaWNQYXJr",
            "QnJha2VTdGF0dXNFbnVtEnAKGnN0ZWVyaW5nV2hlZWxIYW5kc09uU3RhdHVz",
            "GFUgAygOMkwuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3Nh",
            "Z2VPYmplY3QuU3RlZXJpbmdXaGVlbEhhbmRzT25TdGF0dXNFbnVtEmQKGGVw",
            "c0hhbmRzT25TdGF0dXNfUHJpbWFyeRhWIAMoDjJCLmNvbS5mY2EudWNvbm5l",
            "Y3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkVQU0hhbmRzT25TdGF0",
            "dXNFbnVtEmYKGmVwc0hhbmRzT25TdGF0dXNfU2Vjb25kYXJ5GFcgAygOMkIu",
            "Y29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3Qu",
            "RVBTSGFuZHNPblN0YXR1c0VudW0SYAoSZHJpdmVyR2F6ZUxvY2F0aW9uGF0g",
            "AygOMkQuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VP",
            "YmplY3QuRHJpdmVyR2F6ZUxvY2F0aW9uRW51bRJWCg1wcm5kbFBvc2l0aW9u",
            "GF8gAygOMj8uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3Nh",
            "Z2VPYmplY3QuUFJORExQb3NpdGlvbkVudW0SOwoLeWF3UmF0ZV9CU00YEiAD",
            "KAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0U2lnbmFsEjwK",
            "DHlhd1JhdGVfR05NTRgTIAMoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFs",
            "LkRhdGFTZXRTaWduYWwSPgoOcmZUaXJlUHJlc3N1cmUYGCADKAsyJi5jb20u",
            "ZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0U2lnbmFsEj4KDmxmVGlyZVBy",
            "ZXNzdXJlGBkgAygLMiYuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YVNl",
            "dFNpZ25hbBI+Cg5yclRpcmVQcmVzc3VyZRgaIAMoCzImLmNvbS5mY2EudWNv",
            "bm5lY3QuZ2xvYmFsLkRhdGFTZXRTaWduYWwSPgoObHJUaXJlUHJlc3N1cmUY",
            "GyADKAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0U2lnbmFs",
            "EjwKDGJhdHRlcnlWb2x0MRgcIAMoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xv",
            "YmFsLkRhdGFTZXRTaWduYWwSPAoMYmF0dGVyeVZvbHQyGB0gAygLMiYuY29t",
            "LmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YVNldFNpZ25hbBJFChV0b3JxdWVS",
            "ZXF1ZXN0RVBTX0NhZG0YOSADKAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2Jh",
            "bC5EYXRhU2V0U2lnbmFsEkYKFnRvcnF1ZVJlcXVlc3RFUFNfQ2FkbTIYOyAD",
            "KAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0U2lnbmFsEkMK",
            "E2Vwc01vdG9yVG9ycXVlX0ZEMTQYPiADKAsyJi5jb20uZmNhLnVjb25uZWN0",
            "Lmdsb2JhbC5EYXRhU2V0U2lnbmFsEkIKEmVwc01vdG9yVG9ycXVlX0ZEMhg/",
            "IAMoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFTZXRTaWduYWwS",
            "YwoTcG93ZXJ0cmFpblRvcnF1ZVJlcRhBIAMoCzJGLmNvbS5mY2EudWNvbm5l",
            "Y3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LlBvd2VydHJhaW5Ub3Jx",
            "dWVSZXFfVHlwZRJGChZwb3dlcnRyYWluT3V0cHV0VG9ycXVlGEIgAygLMiYu",
            "Y29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YVNldFNpZ25hbBJGChZicmFr",
            "ZURlY2VsUmVxdWVzdF9DYWRtGEQgAygLMiYuY29tLmZjYS51Y29ubmVjdC5n",
            "bG9iYWwuRGF0YVNldFNpZ25hbBJHChdicmFrZURlY2VsUmVxdWVzdF9DYWRt",
            "MhhGIAMoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFTZXRTaWdu",
            "YWwSRgoWYnJha2VUb3JxdWVBcHBsaWVkX0JTTRhJIAMoCzImLmNvbS5mY2Eu",
            "dWNvbm5lY3QuZ2xvYmFsLkRhdGFTZXRTaWduYWwSRwoXYnJha2VUb3JxdWVB",
            "cHBsaWVkX0JTTTIYSiADKAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5E",
            "YXRhU2V0U2lnbmFsElQKJGRyaXZlckFwcFN0ZWVyaW5nV2hlZWxUb3JxdWVf",
            "UHJpbWFyeRhSIAMoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFT",
            "ZXRTaWduYWwSVgomZHJpdmVyQXBwU3RlZXJpbmdXaGVlbFRvcnF1ZV9TZWNv",
            "bmRhcnkYUyADKAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0",
            "U2lnbmFsEkUKFXRocm90dGxlUGVkYWxQb3NpdGlvbhhUIAMoCzImLmNvbS5m",
            "Y2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFTZXRTaWduYWwSQwoTZXh0ZXJuYWxB",
            "bWJpZW50VGVtcBhbIAMoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRh",
            "dGFTZXRTaWduYWwSSgoaZHJpdmVyTG9uZ2l0dWRpbmFsU2V0U3BlZWQYBSAD",
            "KAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0U2lnbmFsEkEK",
            "EXN5c3RlbVRhcmdldFNwZWVkGAYgAygLMiYuY29tLmZjYS51Y29ubmVjdC5n",
            "bG9iYWwuRGF0YVNldFNpZ25hbBI8Cgx2ZWhpY2xlU3BlZWQYCCADKAsyJi5j",
            "b20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0U2lnbmFsEkUKFXN0ZWVy",
            "aW5nQW5nbGVfUHJpbWFyeRgJIAMoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xv",
            "YmFsLkRhdGFTZXRTaWduYWwSRwoXc3RlZXJpbmdBbmdsZV9TZWNvbmRhcnkY",
            "CyADKAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0U2lnbmFs",
            "EkcKF2xhdGVyYWxBY2NlbGVyYXRpb25fQlNNGA0gAygLMiYuY29tLmZjYS51",
            "Y29ubmVjdC5nbG9iYWwuRGF0YVNldFNpZ25hbBJIChhsYXRlcmFsQWNjZWxl",
            "cmF0aW9uX0dOTU0YDiADKAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5E",
            "YXRhU2V0U2lnbmFsEkQKFGxvbmdBY2NlbGVyYXRpb25fQlNNGA8gAygLMiYu",
            "Y29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YVNldFNpZ25hbBJFChVsb25n",
            "QWNjZWxlcmF0aW9uX0dOTU0YECADKAsyJi5jb20uZmNhLnVjb25uZWN0Lmds",
            "b2JhbC5EYXRhU2V0U2lnbmFsEm0KF2Zyb250TG9uZ1JhbmdlQ2FtZXJhSW1n",
            "GAEgAygLMkwuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3Nh",
            "Z2VPYmplY3QuRnJvbnRMb25nUmFuZ2VDYW1lcmFPYmplY3RUeXBlEmYKEmxv",
            "Y0hETWFwQ29vcmRpbmF0ZRgEIAMoCzJKLmNvbS5mY2EudWNvbm5lY3QuZ2xv",
            "YmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkxvY0hETWFwQ29vcmRpbmF0ZU9i",
            "amVjdFR5cGUSVwoOdHJhY2tlZE9iamVjdHMYAiADKAsyPy5jb20uZmNhLnVj",
            "b25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5UcmFja2VkT2Jq",
            "ZWN0VHlwZRJmChlzdGVlcmluZ0FuZ2xlVHlwZV9QcmltYXJ5GAogAygOMkMu",
            "Y29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3Qu",
            "U3RlZXJpbmdBbmdsZVR5cGVFbnVtEmgKG3N0ZWVyaW5nQW5nbGVUeXBlX1Nl",
            "Y29uZGFyeRgMIAMoDjJDLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFM",
            "b2dNZXNzYWdlT2JqZWN0LlN0ZWVyaW5nQW5nbGVUeXBlRW51bRJYChRlcHNP",
            "dmVybGF5U3RhdGVfRkQxNBg8IAMoDjI6LmNvbS5mY2EudWNvbm5lY3QuZ2xv",
            "YmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0Lk9wU3RhdHVzRW51bRJXChNlcHNP",
            "dmVybGF5U3RhdGVfRkQyGD0gAygOMjouY29tLmZjYS51Y29ubmVjdC5nbG9i",
            "YWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuT3BTdGF0dXNFbnVtElIKC2dwc1Bv",
            "c2l0aW9uGE0gAygLMj0uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxv",
            "Z01lc3NhZ2VPYmplY3QuR1BTUG9zaXRpb25UeXBlElgKEGNhbWVyYU9iamVj",
            "dExpc3QYTiADKAsyPi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9n",
            "TWVzc2FnZU9iamVjdC5DYW1lcmFPYmplY3RUeXBlEmQKFGRyaXZlclNlYXRC",
            "ZWx0U3RhdHVzGFkgAygOMkYuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0",
            "YUxvZ01lc3NhZ2VPYmplY3QuRHJpdmVyU2VhdEJlbHRTdGF0dXNFbnVtElwK",
            "EGRyaXZlckRvb3JTdGF0dXMYWiADKA4yQi5jb20uZmNhLnVjb25uZWN0Lmds",
            "b2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5Ecml2ZXJEb29yU3RhdHVzRW51",
            "bRJuChlmY3dQZXJzb25hbGl6YXRpb25TZXR0aW5nGGAgAygOMksuY29tLmZj",
            "YS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuRkNXUGVy",
            "c29uYWxpemF0aW9uU2V0dGluZ0VudW0SZgoVaGVhZExpZ2h0U3dpdGNoU3Rh",
            "dHVzGGEgAygOMkcuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01l",
            "c3NhZ2VPYmplY3QuSGVhZExpZ2h0U3dpdGNoU3RhdHVzRW51bRJkChRpZ25p",
            "dGlvblN3aXRjaFN0YXR1cxhkIAMoDjJGLmNvbS5mY2EudWNvbm5lY3QuZ2xv",
            "YmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0Lklnbml0aW9uU3dpdGNoU3RhdHVz",
            "RW51bRJmChNlZHJEZXBsb3ltZW50U3RhdHVzGGUgAygLMkkuY29tLmZjYS51",
            "Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuZWRyRGVwbG95",
            "bWVudEltcGFjdExvY2F0aW9uEmQKFGNhZG0yU29mdHdhcmVWZXJzaW9uGGYg",
            "ASgLMkYuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VP",
            "YmplY3QuQ2FkbTJTb2Z0d2FyZVZlcnNpb25UeXBlElwKD0NBRE0yTW9kZVN0",
            "YXR1cxjDASADKA4yQi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9n",
            "TWVzc2FnZU9iamVjdC5DQURNMk1vZGVTdGF0dXNfRW51bRJcChNsMnBITUlS",
            "ZXFUb0F1ZGlvQW1wGMYBIAMoCzI+LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFs",
            "LkRhdGFMb2dNZXNzYWdlT2JqZWN0LkhNSVJlcVRvQXVkaW9BbXASYgoSbDJw",
            "SE1JUmVxVG9DbHVzdGVyGMkBIAMoCzJFLmNvbS5mY2EudWNvbm5lY3QuZ2xv",
            "YmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LmwycEhNSVJlcVRvQ2x1c3Rlcl9U",
            "eXBlEmoKFnR1cm5TaWduYWxTd2l0Y2hTdGF0dXMYygEgAygLMkkuY29tLmZj",
            "YS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuVHVyblNp",
            "Z25hbFN3aXRjaFN0YXR1c19UeXBlEmYKFGRic21JbnRlcm5hbEVycm9yU3Rz",
            "GNUBIAMoDjJHLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNz",
            "YWdlT2JqZWN0LkRCU00yX0ludGVybmFsX0Vycm9yX0VudW0SZgoUZGJzbVJl",
            "c3BvbnNlRXJyb3JTdHMY1gEgAygOMkcuY29tLmZjYS51Y29ubmVjdC5nbG9i",
            "YWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuREJTTTJfSW50ZXJuYWxfRXJyb3Jf",
            "RW51bRJsChpkYnNtT3ZlckN1cnJlbnREZXRlY3RlZFN0cxjXASADKA4yRy5j",
            "b20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5P",
            "dmVyY3VycmVudF9EZXRlY3RlZF9FbnVtEm0KHmRic21PdmVyVGVtcGVyYXR1",
            "cmVEZXRlY3RlZFN0cxjYASADKA4yRC5jb20uZmNhLnVjb25uZWN0Lmdsb2Jh",
            "bC5EYXRhTG9nTWVzc2FnZU9iamVjdC5PdmVydGVtcF9EZXRlY3RlZF9FbnVt",
            "EmsKFmRic21Td2l0Y2hTdHNPcGVuQ2xvc2UY2QEgAygOMkouY29tLmZjYS51",
            "Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuU3dpdGNoX1N0",
            "YXR1c19PcGVuQ2xvc2VfRW51bRJuChtkYnNtVW5kZXJ2b2x0YWdlRGV0ZWN0",
            "ZWRTdHMY2gEgAygOMkguY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxv",
            "Z01lc3NhZ2VPYmplY3QuVW5kZXJ2b2x0YWdlX0RldGVjdGVkX0VudW0SXQoQ",
            "aGVhZExpZ2h0X1N0YXR1cxjbASADKAsyQi5jb20uZmNhLnVjb25uZWN0Lmds",
            "b2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5IZWFkTGlnaHRTdGF0dXNfVHlw",
            "ZRJYCg1ocHBQb2x5bm9taWFsGOYBIAMoCzJALmNvbS5mY2EudWNvbm5lY3Qu",
            "Z2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkhQUFBvbHlub21pYWxfVHlw",
            "ZRJ3ChpjYW1lcmFMYW5lQm9yZGVyUG9seW5vbWlhbBjnASADKAsyUi5jb20u",
            "ZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5jYW1l",
            "cmFMYW5lQm9yZGVyUG9seW5vbWlhbFRlcm1zX1R5cGUSQQoQZGF0YWxvZ1Rp",
            "bWVzdGFtcBjoASADKAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRh",
            "U2V0U2lnbmFsEkoKGXZlcnRpY2FsQWNjZWxlcmF0aW9uX0dOTU0Y6QEgAygL",
            "MiYuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YVNldFNpZ25hbBI+Cg1y",
            "b2xsUmF0ZV9HTk1NGOoBIAMoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFs",
            "LkRhdGFTZXRTaWduYWwSPwoOcGl0Y2hSYXRlX0dOTU0Y6wEgAygLMiYuY29t",
            "LmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YVNldFNpZ25hbBJeChBjdnBhbUZh",
            "dWx0U3RhdHVzGOwBIAMoCzJDLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRh",
            "dGFMb2dNZXNzYWdlT2JqZWN0LmN2cGFtRmF1bHRTdGF0dXNfVHlwZRJcCg9k",
            "YWxtQ29sb3JTdGF0dXMY7gEgAygLMkIuY29tLmZjYS51Y29ubmVjdC5nbG9i",
            "YWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuZGFsbUNvbG9yU3RhdHVzX1R5cGUS",
            "YAoRYWRhc0VuZ2FnZWRTdGF0dXMY8AEgAygLMkQuY29tLmZjYS51Y29ubmVj",
            "dC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuYWRhc0VuZ2FnZWRTdGF0",
            "dXNfVHlwZRJqChZhZGFzRW5nYWdlZFN0YXR1c0NhZG0yGPEBIAMoCzJJLmNv",
            "bS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LmFk",
            "YXNFbmdhZ2VkU3RhdHVzQ2FkbTJfVHlwZRJQCgxicmFrZUplcmtSZXEYwQEg",
            "AygOMjkuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VP",
            "YmplY3QuQWN0aXZlX0VudW0a3gEKFnRyYWNrZWRPYmplY3RzTG9jYXRpb24S",
            "QAoQbG9jYXRpb25MYXRpdHVkZRgBIAEoCzImLmNvbS5mY2EudWNvbm5lY3Qu",
            "Z2xvYmFsLkRhdGFTZXRTaWduYWwSQQoRbG9jYXRpb25Mb25naXR1ZGUYAiAB",
            "KAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0U2lnbmFsEj8K",
            "D2xvY2F0aW9uSGVhZGluZxgDIAEoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xv",
            "YmFsLkRhdGFTZXRTaWduYWwanwEKFnRyYWNrZWRPYmplY3RzVmVsb2NpdHkS",
            "PwoPdmVsb2NpdHlMYXRlcmFsGAEgASgLMiYuY29tLmZjYS51Y29ubmVjdC5n",
            "bG9iYWwuRGF0YVNldFNpZ25hbBJEChR2ZWxvY2l0eUxvbmdpdHVkaW5hbBgC",
            "IAEoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFTZXRTaWduYWwa",
            "6wEKD0dQU1Bvc2l0aW9uVHlwZRIWCg5ub09mU2F0ZWxsaXRlcxgEIAEoBRIR",
            "CglwcmVjaXNpb24YBSABKAESOAoIbGF0aXR1ZGUYASABKAsyJi5jb20uZmNh",
            "LnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0U2lnbmFsEjkKCWxvbmdpdHVkZRgC",
            "IAEoCzImLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFTZXRTaWduYWwS",
            "OAoIYWx0aXR1ZGUYAyABKAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5E",
            "YXRhU2V0U2lnbmFsGrwCChBDYW1lcmFPYmplY3RUeXBlEh0KFXZlbG9jaXR5",
            "X0NhbWVyYU9iamVjdBgDIAMoAhIfChdjb25maWRlbmNlX0NhbWVyYU9iamVj",
            "dBgEIAMoARIeChZjYW1lcmFPYmplY3RMaXN0TnVtYmVyGAUgAygFEl0KCGxv",
            "Y2F0aW9uGAIgAygOMksuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxv",
            "Z01lc3NhZ2VPYmplY3QuQ2FtZXJhT2JqZWN0VHlwZV9Mb2NhdGlvbkVudW0S",
            "aQoOY2xhc3NpZmljYXRpb24YASADKA4yUS5jb20uZmNhLnVjb25uZWN0Lmds",
            "b2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5DYW1lcmFPYmplY3RUeXBlX0Ns",
            "YXNzaWZpY2F0aW9uRW51bRqBAQoYQ2FkbTJTb2Z0d2FyZVZlcnNpb25UeXBl",
            "EiAKGGNhZG0yU29mdHdhcmVWZXJzaW9uWWVhchgBIAEoBRIgChhjYWRtMlNv",
            "ZnR3YXJlVmVyc2lvbldlZWsYAiABKAUSIQoZY2FkbTJTb2Z0d2FyZVZlcnNp",
            "b25QYXRjaBgDIAEoBRqwBAoRVHJhY2tlZE9iamVjdFR5cGUSGwoTdHJhY2tl",
            "ZE9iamVjdE51bWJlchgGIAMoBRJnCg5jbGFzc2lmaWNhdGlvbhgBIAMoDjJP",
            "LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0",
            "LnRyYWNrZWRPYmplY3RzX0NsYXNzaWZpY2F0aW9uRW51bRJkChZsb2NhdGlv",
            "bl9UcmFja2VkT2JqZWN0GAIgAygLMkQuY29tLmZjYS51Y29ubmVjdC5nbG9i",
            "YWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QudHJhY2tlZE9iamVjdHNMb2NhdGlv",
            "bhJkChZ2ZWxvY2l0eV9UcmFja2VkT2JqZWN0GAMgAygLMkQuY29tLmZjYS51",
            "Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QudHJhY2tlZE9i",
            "amVjdHNWZWxvY2l0eRJtChhjb25maWRlbmNlX1RyYWNrZWRPYmplY3QYBCAD",
            "KA4ySy5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9i",
            "amVjdC50cmFja2VkT2JqZWN0c19Db25maWRlbmNlRW51bRJaCghjaXB2Rmxh",
            "ZxgFIAMoDjJILmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNz",
            "YWdlT2JqZWN0LnRyYWNrZWRPYmplY3RzX2NpcEZsYWdFbnVtGpwBCh5Gcm9u",
            "dExvbmdSYW5nZUNhbWVyYU9iamVjdFR5cGUSEgoKcmVzb2x1dGlvbhgBIAMo",
            "BRINCgVpbWFnZRgDIAEoDBJXCghmaWxlVHlwZRgCIAMoDjJFLmNvbS5mY2Eu",
            "dWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkNhbWVyYUlt",
            "YWdlRmlsZVR5cGVFbnVtGtEEChtlZHJEZXBsb3ltZW50SW1wYWN0TG9jYXRp",
            "b24SVwoIRUFSU1JlYXIYASABKA4yRS5jb20uZmNhLnVjb25uZWN0Lmdsb2Jh",
            "bC5EYXRhTG9nTWVzc2FnZU9iamVjdC5FRFJEZXBsb3ltZW50U3RhdHVzRW51",
            "bRJkChVFQVJTSGlnaFNldmVyaXR5RnJvbnQYAiABKA4yRS5jb20uZmNhLnVj",
            "b25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5FRFJEZXBsb3lt",
            "ZW50U3RhdHVzRW51bRJjChRFQVJTTG93U2V2ZXJpdHlGcm9udBgDIAEoDjJF",
            "LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0",
            "LkVEUkRlcGxveW1lbnRTdGF0dXNFbnVtElsKDEVBUlNSb2xsb3ZlchgEIAEo",
            "DjJFLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2Jq",
            "ZWN0LkVEUkRlcGxveW1lbnRTdGF0dXNFbnVtElcKCEVBUlNMZWZ0GAUgASgO",
            "MkUuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmpl",
            "Y3QuRURSRGVwbG95bWVudFN0YXR1c0VudW0SWAoJRUFSU1JpZ2h0GAYgASgO",
            "MkUuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmpl",
            "Y3QuRURSRGVwbG95bWVudFN0YXR1c0VudW0asAIKEEhNSVJlcVRvQXVkaW9B",
            "bXASFAoMQ2hpbWVSZXBSYXRlGAEgAygFEhUKDVJGQ2hpbWVfUnFTdHMYAiAD",
            "KAgSFQoNTEZDaGltZV9ScVN0cxgDIAMoCBIVCg1SUkNoaW1lX1JxU3RzGAQg",
            "AygIEhQKDExSQ2hpbWVfUnFTdBgFIAMoCBJUCgtDaGltZVR5cFN0cxgGIAMo",
            "DjI/LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2Jq",
            "ZWN0LkNoaW1lX1R5cFN0c19FbnVtElUKDENoaW1lUHJpb3J0eRgHIAMoDjI/",
            "LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0",
            "LkNoaW1lUHJpb3J0eV9FbnVtGokQChdsMnBITUlSZXFUb0NsdXN0ZXJfVHlw",
            "ZRJZCg5EaXNwbGF5U3RzX09GRhgWIAMoDjJBLmNvbS5mY2EudWNvbm5lY3Qu",
            "Z2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkRpc3BsYXlTdHNfT0ZGX0Vu",
            "dW0SWQoORGlzcGxheVN0c19BQ0MYASADKA4yQS5jb20uZmNhLnVjb25uZWN0",
            "Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5EaXNwbGF5U3RzX0FDQ19F",
            "bnVtElkKDkRpc3BsYXlTdHNfVmVoGAIgASgOMkEuY29tLmZjYS51Y29ubmVj",
            "dC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuRGlzcGxheVN0c19WZWhf",
            "RW51bRJvChhMYW5lX0Rpc3BsYXlTdHNfTGVmdF9IQVMYAyADKA4yTS5jb20u",
            "ZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5MYW5l",
            "X0Rpc3BsYXlTdHNfTGVmdF9SaWdodF9FbnVtEnAKGUxhbmVfRGlzcGxheVN0",
            "c19SaWdodF9IQVMYBCADKA4yTS5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5E",
            "YXRhTG9nTWVzc2FnZU9iamVjdC5MYW5lX0Rpc3BsYXlTdHNfTGVmdF9SaWdo",
            "dF9FbnVtElsKD0hBU19UZWxsdGFsZVN0cxgFIAMoDjJCLmNvbS5mY2EudWNv",
            "bm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkhBU19UZWxsVGFs",
            "ZVN0c19FbnVtEmMKFEFDQ19TZXRfU3BlZWRfU3RyaWtlGAYgAygOMkUuY29t",
            "LmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuQUND",
            "X1NldFNwZWVkU3RyaWtlX0VudW0SXwoRTGFuZV9EaXNwUG9wdXBTdHMYByAD",
            "KA4yRC5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9i",
            "amVjdC5MYW5lX0Rpc3BQb3B1cFN0c19FbnVtEl0KEEFDQ19EaXNwUG9wdXBT",
            "dHMYCCADKA4yQy5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVz",
            "c2FnZU9iamVjdC5BQ0NfRGlzcFBvcHVwU3RzX0VudW0SUwoLU1ZJX1JlcXVl",
            "c3QYCSADKA4yPi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVz",
            "c2FnZU9iamVjdC5TVklfUmVxdWVzdF9FbnVtEk8KC0hBU19GYWlsU3RzGAog",
            "AygOMjouY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VP",
            "YmplY3QuRmFpbFN0c19FbnVtEk8KC0FDQ19GYWlsU3RzGAsgAygOMjouY29t",
            "LmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuRmFp",
            "bFN0c19FbnVtEk8KC05DQ19GYWlsU3RzGAwgAygOMjouY29tLmZjYS51Y29u",
            "bmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuRmFpbFN0c19FbnVt",
            "Ek8KC0FFQl9GYWlsU3RzGA0gAygOMjouY29tLmZjYS51Y29ubmVjdC5nbG9i",
            "YWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuRmFpbFN0c19FbnVtEksKCUhBU19C",
            "bGluZBgOIAMoDjI4LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dN",
            "ZXNzYWdlT2JqZWN0LkJsaW5kX0VudW0STwoLQUNDX0xpbWl0ZWQYDyADKA4y",
            "Oi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVj",
            "dC5GYWlsU3RzX0VudW0STwoLQUVCX0xpbWl0ZWQYECADKA4yOi5jb20uZmNh",
            "LnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5GYWlsU3Rz",
            "X0VudW0SUgoOQUNDX0xpbWl0X0ZhaWwYESADKA4yOi5jb20uZmNhLnVjb25u",
            "ZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5GYWlsU3RzX0VudW0S",
            "UgoOQUVCX0xpbWl0X0ZhaWwYEiADKA4yOi5jb20uZmNhLnVjb25uZWN0Lmds",
            "b2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5GYWlsU3RzX0VudW0SSwoJQUND",
            "X0JsaW5kGBMgAygOMjguY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxv",
            "Z01lc3NhZ2VPYmplY3QuQmxpbmRfRW51bRJLCglBRUJfQmxpbmQYFCADKA4y",
            "OC5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVj",
            "dC5CbGluZF9FbnVtEk8KCUlDQV9CbGluZBgVIAMoDjI8LmNvbS5mY2EudWNv",
            "bm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LklDQV9CbGluZF9F",
            "bnVtEl0KEERERF9EaXNwUG9wdXBTdHMYFyADKA4yQy5jb20uZmNhLnVjb25u",
            "ZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5ERERfRGlzcFBvcHVw",
            "U3RzX0VudW0aywEKG1R1cm5TaWduYWxTd2l0Y2hTdGF0dXNfVHlwZRJQChBU",
            "dXJuTGV2ZXJMYXRjaGVkGAEgASgOMjYuY29tLmZjYS51Y29ubmVjdC5nbG9i",
            "YWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuU2V0X0VudW0SWgoQVHVybkluZGlj",
            "YXRvclN0cxgCIAEoDjJALmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFM",
            "b2dNZXNzYWdlT2JqZWN0LlR1cm5JbmRpY2F0b3JfRW51bRq/AQoUSGVhZExp",
            "Z2h0U3RhdHVzX1R5cGUSUgoHTG93QmVhbRgBIAEoDjJBLmNvbS5mY2EudWNv",
            "bm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkhlYWRMaWdodFN0",
            "YXR1c0VudW0SUwoISGlnaEJlYW0YAiABKA4yQS5jb20uZmNhLnVjb25uZWN0",
            "Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5IZWFkTGlnaHRTdGF0dXNF",
            "bnVtGvgBCiFQb3dlcnRyYWluSW50ZXJmYWNlRW5nYWdlUmVxX1R5cGUScQoZ",
            "QUNDX0VuZ2luZV9Ub3JxdWVfRW5hYmxlZBgBIAMoDjJOLmNvbS5mY2EudWNv",
            "bm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LlBvd2VydHJhaW5J",
            "bnRlcmZhY2VFbmdhZ2VSZXFFbnVtEmAKCF9FbmFibGVkGAIgAygOMk4uY29t",
            "LmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuUG93",
            "ZXJ0cmFpbkludGVyZmFjZUVuZ2FnZVJlcUVudW0axwEKGFBvd2VydHJhaW5U",
            "b3JxdWVSZXFfVHlwZRJpChFBQ0NfRW5naW5lX1RvcnF1ZRgBIAMoDjJOLmNv",
            "bS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LlBv",
            "d2VydHJhaW5JbnRlcmZhY2VFbmdhZ2VSZXFFbnVtEkAKEEFDQ19XaGVlbF9U",
            "b3JxdWUYAiADKAsyJi5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhU2V0",
            "U2lnbmFsGpMBChxMb2NIRE1hcENvb3JkaW5hdGVPYmplY3RUeXBlEjgKCExh",
            "dGl0dWRlGAEgASgLMiYuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YVNl",
            "dFNpZ25hbBI5CglMb25naXR1ZGUYAiABKAsyJi5jb20uZmNhLnVjb25uZWN0",
            "Lmdsb2JhbC5EYXRhU2V0U2lnbmFsGmoKEkhQUFBvbHlub21pYWxfVHlwZRIK",
            "CgJBMBgBIAEoAhIKCgJBMRgCIAEoAhIKCgJBMhgDIAEoAhIKCgJBMxgEIAEo",
            "AhISCgpTdGFydFJhbmdlGAUgASgCEhAKCEVuZFJhbmdlGAYgASgCGpYBCg9Q",
            "b2x5bm9taWFsX1R5cGUSCgoCQTAYASADKAISCgoCQTEYAiADKAISCgoCQTIY",
            "AyADKAISCgoCQTMYBCADKAISEgoKU3RhcnRSYW5nZRgFIAMoAhIQCghFbmRS",
            "YW5nZRgGIAMoAhIZChFRdWFsaXR5X0luZGljYXRvchgHIAMoAhISCgpDb25m",
            "aWRlbmNlGAggAygCGp0CCiRjYW1lcmFMYW5lQm9yZGVyUG9seW5vbWlhbFRl",
            "cm1zX1R5cGUSUgoLQ3VycmVudExhbmUYASADKAsyPS5jb20uZmNhLnVjb25u",
            "ZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5Qb2x5bm9taWFsX1R5",
            "cGUSTwoITGVmdExhbmUYAiADKAsyPS5jb20uZmNhLnVjb25uZWN0Lmdsb2Jh",
            "bC5EYXRhTG9nTWVzc2FnZU9iamVjdC5Qb2x5bm9taWFsX1R5cGUSUAoJUmln",
            "aHRMYW5lGAMgAygLMj0uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YUxv",
            "Z01lc3NhZ2VPYmplY3QuUG9seW5vbWlhbF9UeXBlGuYDChVjdnBhbUZhdWx0",
            "U3RhdHVzX1R5cGUSWwoPUEFfTGFuZV9EZWN0aW9uGAEgASgOMkIuY29tLmZj",
            "YS51Y29ubmVjdC5nbG9iYWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuQ1ZQQU1G",
            "YXVsdFN0YXR1c0VudW0SWgoOUEFfTGVmdF9TZW5zb3IYAiABKA4yQi5jb20u",
            "ZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5DVlBB",
            "TUZhdWx0U3RhdHVzRW51bRJbCg9QQV9Gcm9udF9TZW5zb3IYAyABKA4yQi5j",
            "b20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5D",
            "VlBBTUZhdWx0U3RhdHVzRW51bRJaCg5Gcm9udFNlbnNvclN0cxgEIAEoDjJC",
            "LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0",
            "LkNWUEFNRmF1bHRTdGF0dXNFbnVtElsKD1BBX1JpZ2h0X1NlbnNvchgFIAEo",
            "DjJCLmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2Jq",
            "ZWN0LkNWUEFNRmF1bHRTdGF0dXNFbnVtGsABChRkYWxtQ29sb3JTdGF0dXNf",
            "VHlwZRJSCgtEYWxtUmVxdWVzdBgBIAEoDjI9LmNvbS5mY2EudWNvbm5lY3Qu",
            "Z2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkRBTE1Db2xvclN0YXR1cxJU",
            "Cg1EYWxtUmVxdWVzdEMyGAIgASgOMj0uY29tLmZjYS51Y29ubmVjdC5nbG9i",
            "YWwuRGF0YUxvZ01lc3NhZ2VPYmplY3QuREFMTUNvbG9yU3RhdHVzGqYCChZh",
            "ZGFzRW5nYWdlZFN0YXR1c19UeXBlElgKDUFDQ19TeXN0ZW1TdHMYASABKA4y",
            "QS5jb20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVj",
            "dC5BRVNfQUNDX1N5c1N0c19FbnVtElUKCkhBU19TdGF0dXMYAiABKA4yQS5j",
            "b20uZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZU9iamVjdC5B",
            "RVNfSEFTX1N0YXR1c19FbnVtElsKD0hBU19UZWxsdGFsZVN0cxgDIAEoDjJC",
            "LmNvbS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0",
            "LkhBU19UZWxsVGFsZVN0c19FbnVtGtQBChthZGFzRW5nYWdlZFN0YXR1c0Nh",
            "ZG0yX1R5cGUSXgoTQWNjX1N5c3RlbVN0c19DQURNMhgBIAEoDjJBLmNvbS5m",
            "Y2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkFFU19B",
            "Q0NfU3lzU3RzX0VudW0SVQoKSEFTX1N0YXR1cxgCIAEoDjJBLmNvbS5mY2Eu",
            "dWNvbm5lY3QuZ2xvYmFsLkRhdGFMb2dNZXNzYWdlT2JqZWN0LkFFU19IQVNf",
            "U3RhdHVzX0VudW0avwoKG1JlYXNvbkZvckRpc2VuZ2FnZW1lbnRfVHlwZRIc",
            "ChRJbnZhbGlkTGFuZURldGVjdGlvbhgBIAEoCBIcChRMb29rYWhlYWREaXN0",
            "YW5jZUxvdxgCIAEoCBIYChBJbnZhbGlkTGFuZVdpZHRoGAMgASgIEh8KF1Jh",
            "ZGl1c09mQ3VydmF0dXJlVG9vTG93GAQgASgIEhoKElJvYWR3YXlVbnN1cHBv",
            "cnRlZBgFIAEoCBIfChdVbnN1cHBvcnRlZFJvYWR3YXlBaGVhZBgGIAEoCBIU",
            "CgxTcGVlZFRvb0hpZ2gYLSABKAgSHAoUQUNDTm90SW5Db3JyZWN0U3RhdGUY",
            "ByABKAgSFAoMVHVyblNpZ25hbE9uGAggASgIEh8KF0RyaXZlck92ZXJyaWRl",
            "Q29uZGl0aW9uGAkgASgIEh8KF1N5c3RlbU92ZXJyaWRlQ29uZGl0aW9uGAog",
            "ASgIEhYKDlRlbXBvcmFyeUZhdWx0GAsgASgIEhYKDlBlcm1hbmVudEZhdWx0",
            "GAwgASgIEhcKD0NhbWVyYUJsaW5kbmVzcxgNIAEoCBIVCg1XaXBlcnNUb29G",
            "YXN0GA4gASgIEiIKGlBvd2VydHJhaW5TdGF0ZVVuc3VwcG9ydGVkGA8gASgI",
            "EhYKDk9wU3RhdERlZ3JhZGVkGBAgASgIEhMKC01hcE91dGRhdGVkGBEgASgI",
            "EhsKE1N1YnNjcmlwdGlvbkV4cGlyZWQYEiABKAgSGQoRRHJpdmVySW5hdHRl",
            "bnRpdmUYEyABKAgSFgoOSGF6YXJkc0FwcGxpZWQYFCABKAgSIQoZVW5zdXBw",
            "b3J0ZWRTcGxpdERpcmVjdGlvbhgVIAEoCBIeChZEcml2ZXJIYW5kc05vdERl",
            "dGVjdGVkGBYgASgIEhcKD1RyYWlsZXJEZXRlY3RlZBgXIAEoCBIaChJQb29y",
            "Um9hZENvbmRpdGlvbnMYGCABKAgSEgoKTEFORV9DVVJWRRgZIAEoCBInCh9B",
            "aXJTdXNwZW5zaW9uU2V0dGluZ1Vuc3VwcG9ydGVkGBogASgIEhoKElZlaGlj",
            "bGVOb3RDZW50ZXJlZBgbIAEoCBIeChZWZWhpY2xlSGVhZGluZ01pc21hdGNo",
            "GBwgASgIEiMKG0xhdGVyYWxTdXBwcmVzc2lvblRyaWdnZXJlZBgdIAEoCBIg",
            "ChhGdWxsU3VwcHJlc3Npb25UcmlnZ2VyZWQYHiABKAgSJAocRHJpdmVySW5h",
            "dHRlbnRpb25TdXBwcmVzc2lvbhgfIAEoCBIZChFMYW5lTWFya2VyQ3Jvc3Nl",
            "ZBggIAEoCBIgChhTdGVlcmluZ0F1dGhvcml0eVJlYWNoZWQYISABKAgSHQoV",
            "RHJpdmVyTGF0ZXJhbE92ZXJyaWRlGCIgASgIEiEKGVVuc3VwcG9ydGVkSWdu",
            "aXRpb25TdGF0dXMYIyABKAgSIgoaSW5zdWZmaWNpZW50UGF0aENvbmZpZGVu",
            "Y2UYJCABKAgSGgoSRHJpdmVyTW9kZWxVbmtub3duGCUgASgIEhQKDEFFQl9O",
            "b3RBdmFpbBgmIAEoCBIcChRMb2dpc3RpY3NNb2RlSW5oaWJpdBgnIAEoCBIR",
            "CglHTk1NRXJyb3IYKCABKAgSIQoZU1dTTUhhbmRzT25EZXRlY3Rpb25FcnJv",
            "chgpIAEoCBIiChpGZWF0dXJlRGVhY3RpdmF0ZWRSZW1vdGVseRgqIAEoCBId",
            "ChVJbnZhbGlkU3dheUJhclNldHRpbmcYKyABKAgSFQoNUHJveGlNaXNtYXRj",
            "aBgsIAEoCCJNChJUdXJuSW5kaWNhdG9yX0VudW0SCgoGQ0VOVEVSEAASCAoE",
            "TEVGVBABEgkKBVJJR0hUEAISFgoSU05BX1RVUk5fSU5ESUNBVE9SEAMiSQoX",
            "QUNDX1NldFNwZWVkU3RyaWtlX0VudW0SGAoUTk9UX1BSRVNFTlRfU0VUU1BF",
            "RUQQABIUChBQUkVTRU5UX1NFVFNQRUVEEAEiWgoQU2VhdFZpYl9SZXFfRW51",
            "bRIWChJOb19SZXF1ZXN0X1NlYXRWaWIQABIKCgZUeXBlXzEQARIKCgZUeXBl",
            "XzIQAhIKCgZUeXBlXzMQAxIKCgZUeXBlXzQQBCJfChBTZWF0VmliX1N0c19F",
            "bnVtEhAKDElOSVRfU2VhdFZpYhAAEhAKDElETEVfU2VhdFZpYhABEhIKDkFD",
            "VElWRV9TZWF0VmliEAISEwoPRkFVTFRFRF9TZWF0VmliEAMiQAoZREJTTTJf",
            "SW50ZXJuYWxfRXJyb3JfRW51bRISCg5OT19FUlJPUl9EQlNNMhAAEg8KC0VS",
            "Uk9SX0RCU00yEAEiSAoZT3ZlcmN1cnJlbnRfRGV0ZWN0ZWRfRW51bRIZChVO",
            "T19GQVVMVF9PVkVSX0NVUlJFTlQQABIQCgxPdmVyX0N1cnJlbnQQASI/ChZP",
            "dmVydGVtcF9EZXRlY3RlZF9FbnVtEhYKEk5PX0ZBVUxUX09WRVJfVEVNUBAA",
            "Eg0KCU9WRVJfVEVNUBABIjMKHFN3aXRjaF9TdGF0dXNfT3BlbkNsb3NlX0Vu",
            "dW0SCAoET1BFThAAEgkKBUNMT1NFEAEiSwoaVW5kZXJ2b2x0YWdlX0RldGVj",
            "dGVkX0VudW0SGgoWTk9fRkFVTFRfVU5ERVJfVk9MVEFHRRAAEhEKDVVOREVS",
            "X1ZPTFRBR0UQASI+CgxGYWlsU3RzX0VudW0SHAoYRmFpbF9Ob3RfUHJlc2Vu",
            "dF9GYWlsU3RzEAASEAoMRmFpbF9QcmVzZW50EAEiKgoKQmxpbmRfRW51bRIL",
            "CgdCbGluZGVkEAASDwoLTm90X0JsaW5kZWQQASItChZXaXBlclN3aXRjaFN0",
            "YXR1c19FbnVtEgkKBUZhbHNlEAASCAoEVHJ1ZRABIjAKEEZhdWx0U3RhdHVz",
            "X0VudW0SDwoLTk9UX0ZBVUxURUQQABILCgdGQVVMVEVEEAEiRgoTUHJlZmls",
            "bFJlcXVlc3RfRW51bRIYChROT19QUkVGSUxMX1JFUVVFU1RFRBAAEhUKEVBS",
            "RUZJTExfUkVRVUVTVEVEEAEiKQoLQWN0aXZlX0VudW0SDgoKTk9UX0FDVElW",
            "RRAAEgoKBkFDVElWRRABIiAKCFNldF9FbnVtEgsKB05PVF9TRVQQABIHCgNT",
            "RVQQASK9EwoWTGFuZV9EaXNwUG9wdXBTdHNfRW51bRILCgdOb19Db2RlEAAS",
            "CgoGTEtBX09uEAESCwoHTEtBX09mZhACEhEKDUxLQV9IYW5kc19PZmYQAxIX",
            "ChNIQVNfRXllc19PZmZfWWVsbG93EAQSFAoQVGFrZV9Db250cm9sX1JlZBAF",
            "EhUKEUhBU19SZWFkeV9IaWdod2F5EAYSEgoOQmxpbmRfU3BvdF9PRkYQBxIV",
            "ChFIQVNfUmVhZHlfQUNDX1NldBAIEiEKHUhBU19VbmF2YWlsYWJsZV9TcGVl",
            "ZF90b19IaWdoEAkSGwoXSEFTX1VuYXZhaWxhYmxlX1RyYWlsZXIQChIbChdI",
            "QVNfVW5hdmFpbGFibGVfVGVtcE5BUBALEhIKDkhBU19DYW5jZWxfRk9XEAwS",
            "EwoPSEFTX0NhbmNlbF9MYW5lEA0SFAoQSEFTX0NhbmNlbF9DdXJ2ZRAPEiUK",
            "IVVuc3VwcG9ydF9MYW5lX0FoZWFkX1Rha2VfQ29udHJvbBAQEg8KC01STV9J",
            "bl9Qcm9nEBESEAoMTVJNX0NvbXBsZXRlEBISFAoQSEFTX1VuYXZhaWxfTGFu",
            "ZRATEhgKFEhBU19IYW5kc19PZmZfWWVsbG93EBQSFQoRSEFTX0hhbmRzX09m",
            "Zl9SZWQQFRIYChRIQVNfQ2FuY2VsX0hhbmRzX09mZhAWEhkKFUhBU19BRUJf",
            "TEtBX0NhbV9CbGluZBAXEhUKEUhBU19BRUJfQ2FtX0JsaW5kEBgSFQoRSEFT",
            "X0xLQV9DYW1fQmxpbmQQGRIRCg1IQVNfQ2FtX0JsaW5kEBoSFQoRTEtBX0FF",
            "Ql9DYW1fQmxpbmQQGxIRCg1MS0FfQ2FtX0JsaW5kEBwSFwoTSEFTX0FFQl9S",
            "YWRhcl9CbGluZBAdEhMKD0hBU19SYWRhcl9CbGluZBAeEhwKGEhBU19BRUJf",
            "TEtBX0xJTUlURURfRmFpbBAfEhgKFEhBU19BRUJfTElNSVRFRF9GYWlsECAS",
            "GAoUTEtBX0FFQl9MSU1JVEVEX0ZhaWwQIRIUChBIQVNfQUVCX0xLQV9GYWls",
            "ECISEAoMSEFTX0FFQl9GYWlsECMSEAoMSEFTX0xLQV9GYWlsECQSDAoISEFT",
            "X0ZhaWwQJRIQCgxMS0FfQUVCX0ZhaWwQJhIMCghMS0FfRmFpbBAnEg4KCkhB",
            "U19DYW5jZWwQKBIKCgZIQVNfT04QKhILCgdIQVNfT0ZGECsSFAoQQlNTX0Js",
            "aW5kX0FMTV9PbhAsEhUKEUJTU19CbGluZF9BTE1fT2ZmEC0SEwoPQlNTX09Q",
            "Ul9BTE1fT2ZmEC4SEgoOQlNTX09QUl9BTE1fT24QLxITCg9CU1NfU1JWX0FM",
            "TV9PZmYQMBISCg5CU1NfU1JWX0FMTV9PbhAxEhkKFUhBU19VbmF2YWlsX1Jv",
            "YWRfRGF0YRAyEhoKFkhBU19VbmF2YWlsX05vX0V5ZXNfT24QMxIXChNIQVNf",
            "VW5hdmFpbF9NYXBfT09EEDQSGgoWSEFTX1VuYXZhaWxfTG9ja2VkX091dBA1",
            "EhgKFEhBU19DYW5jZWxfUm9hZF9EYXRhEDYSIAocSEFTX0NhbmNlbF9Ecml2",
            "ZXJfTm90X0F0dGVudBA3EhoKFkhBU19DYW5jZWxfQnJha2VfRXZlbnQQOBId",
            "ChlIQVNfQ2FuY2VsX1NwZWVkX1Rvb19IaWdoEDkSHAoYSEFTX0NhbmNlbF9D",
            "b250cm9sX0xpbWl0EDoSHwobSEFTX0FDQ19VbmF2YWlsYWJsZV80V0RfTG93",
            "EDsSHwobSEFTX0FDQ19VbmF2YWlsYWJsZV9FU0NfT2ZmEDwSIQodSEFTX0FD",
            "Q19VbmF2YWlsYWJsZV9FU0NfRXZlbnQQPRImCiJIQVNfQUNDX1VuYXZhaWxh",
            "YmxlX0JyYWtlc19Db29saW5nED4SIgoeSEFTX0FDQ19VbmF2YWlsYWJsZV9F",
            "UEJfQWN0aXZlED8SHwobSEFTX0FDQ19VbmF2YWlsYWJsZV9TaGlmdF9EEEAS",
            "IQodSEFTX0FDQ19VbmF2YWlsYWJsZV9Eb29yX09wZW4QQRIqCiZIQVNfQUND",
            "X1VuYXZhaWxhYmxlX1NlYXRiZWx0X1VuYnVja2xlZBBCEiUKIUhBU19BQ0Nf",
            "VW5hdmFpbGFibGVfUm9hZF90b19TdGVlcBBDEh8KG0hBU19BQ0NfVW5hdmFp",
            "bGFibGVfTG93X1JQTRBEEiAKHEhBU19BQ0NfVW5hdmFpbGFibGVfSGlnaF9S",
            "UE0QRRISCg5IQVNfQUNDX0NhbmNlbBBGEh4KGkhBU19BQ0NfQUVCX0NhbmNl",
            "bF9FU0NfT2ZmEEcSGgoWSEFTX0FDQ19DYW5jZWxfRVNDX09mZhBIEhwKGEhB",
            "U19BQ0NfQ2FuY2VsX0VTQ19FdmVudBBJEiEKHUhBU19BQ0NfQ2FuY2VsX0Jy",
            "YWtlc19Db29saW5nEEoSHQoZSEFTX0FDQ19DYW5jZWxfRVBCX0FjdGl2ZRBL",
            "EhoKFkhBU19BQ0NfQ2FuY2VsX1NoaWZ0X0QQTBIcChhIQVNfQUNDX0NhbmNl",
            "bF9Eb29yX09wZW4QTRIlCiFIQVNfQUNDX0NhbmNlbF9TZWF0YmVsdF9VbmJ1",
            "Y2tsZWQQThIgChxIQVNfQUNDX0NhbmNlbF9Sb2FkX3RvX1N0ZWVwEE8SGgoW",
            "SEFTX0FDQ19DYW5jZWxfTG93X1JQTRBQEhsKF0hBU19BQ0NfQ2FuY2VsX0hp",
            "Z2hfUlBNEFESGAoUSEFTX0FDQ19Vc2VyX0VuYWJsZWQQUxIPCgtIQVNfQUND",
            "X1NldBBUEhEKDUxLQV9PZmZfQ2hlY2sQVRIXChNIQVNfQ3VydmVfVG9vX1Rp",
            "Z2h0EFYSEgoOSEFTX0xhbmVfU3BsaXQQVxITCg9IQVNfT25fUmVtaW5kZXIQ",
            "WBIQCgxUeHRNc2dfVEJEXzEQWRIQCgxUeHRNc2dfVEJEXzIQWhIQCgxUeHRN",
            "c2dfVEJEXzMQWxIQCgxUeHRNc2dfVEJEXzQQXBIQCgxUeHRNc2dfVEJEXzUQ",
            "XRIQCgxUeHRNc2dfVEJEXzYQXhIQCgxUeHRNc2dfVEJEXzcQXxIQCgxUeHRN",
            "c2dfVEJEXzgQYBIQCgxUeHRNc2dfVEJEXzkQYRIRCg1UeHRNc2dfVEJEXzEw",
            "EGISEQoNVHh0TXNnX1RCRF8xMRBjEhEKDVR4dE1zZ19UQkRfMTIQZBIRCg1U",
            "eHRNc2dfVEJEXzEzEGUSEQoNVHh0TXNnX1RCRF8xNBBmEhEKDVR4dE1zZ19U",
            "QkRfMTUQZxIQCgxTdGF5X0luX0xhbmUQaCJAChVTdGVlcmluZ0FuZ2xlVHlw",
            "ZUVudW0SDAoIQUJTT0xVVEUQABIMCghSRUxBVElWRRABEgsKB1NOQV9TQVQQ",
            "AyJiChhEcml2ZXJTZWF0QmVsdFN0YXR1c0VudW0SFAoQU2VhdF9CZWx0X0Zh",
            "c3RlbhAAEhgKFFNlYXRfQmVsdF9Ob3RfRmFzdGVuEAESFgoSU05BX0RyaXZl",
            "clNlYXRCZWx0EAIiSAoURHJpdmVyRG9vclN0YXR1c0VudW0SDQoJT1BFTl9E",
            "T09SEAASDwoLQ0xPU0VEX0RPT1IQARIQCgxGQVVMVEVEX0RPT1IQAiJ/Ch1G",
            "Q1dQZXJzb25hbGl6YXRpb25TZXR0aW5nRW51bRIPCgtPZmZfU2V0dGluZxAA",
            "EhEKDUF1ZGlvX1NldHRpbmcQARIWChJBdWRpb0JyYWtlX1NldHRpbmcQAhIR",
            "Cg1CcmFrZV9TZXR0aW5nEAMSDwoLTm90X1JlcXVlc3QQBCKiAQoZSGVhZExp",
            "Z2h0U3dpdGNoU3RhdHVzRW51bRILCgdPRkZfRFJMEAASEgoOUG9zaXRpb25f",
            "TGFtcHMQARIMCghMb3dfQmVhbRACEhgKFEF1dG9fSGVhZExpZ2h0U3dpdGNo",
            "EAMSEQoNU2hvcnRfQ2lyY3VpdBAEEhAKDE9wZW5fQ2lyY3VpdBAFEhcKE1NO",
            "QV9IZWFkTGlnaHRTd2l0Y2gQByI6ChNIZWFkTGlnaHRTdGF0dXNFbnVtEhEK",
            "DU9mZl9IZWFkbGlnaHQQABIQCgxPbl9IZWFkbGlnaHQQASJwChhJZ25pdGlv",
            "blN3aXRjaFN0YXR1c0VudW0SEgoOSW5pdGlhbGl6YXRpb24QABIKCgZJR05f",
            "TEsQARILCgdBQ0NfSUdOEAMSCwoHUlVOX0lHThAEEg0KCVNUQVJUX0lHThAF",
            "EgsKB1NOQV9JR04QByKdAQojQ2FtZXJhT2JqZWN0VHlwZV9DbGFzc2lmaWNh",
            "dGlvbkVudW0SBwoDQ0FSEAASCQoFVFJVQ0sQARIOCgpNT1RPUkNZQ0xFEAIS",
            "CwoHQklDWUNMRRADEg4KClBFREVTVFJBSU4QBBISCg5HRU5FUkFMX09CSkVD",
            "VBAFEgoKBkFOSU1BTBAGEhUKEVVOQ0VSVEFJTl9WRUhJQ0xFEAciggEKHUNh",
            "bWVyYU9iamVjdFR5cGVfTG9jYXRpb25FbnVtEhIKDkxFRlRfTkVYVF9ORVhU",
            "EAASDQoJTEVGVF9ORVhUEAESDAoIRUdPX0xBTkUQAhIOCgpSSUdIVF9ORVhU",
            "EAMSEwoPUklHSFRfTkVYVF9ORVhUEAQSCwoHVU5LTk9XThAFIsgCCiF0cmFj",
            "a2VkT2JqZWN0c19DbGFzc2lmaWNhdGlvbkVudW0SHQoZT0JKRUNUX0NMQVNT",
            "X1VOREVURVJNSU5FRBAAEhQKEE9CSkVDVF9DTEFTU19DQVIQARIbChdPQkpF",
            "Q1RfQ0xBU1NfTU9UT1JDWUNMRRACEhYKEk9CSkVDVF9DTEFTU19UUlVDSxAD",
            "EhsKF09CSkVDVF9DTEFTU19QRURFU1RSSUFOEAQSFQoRT0JKRUNUX0NMQVNT",
            "X1BPTEUQBRIVChFPQkpFQ1RfQ0xBU1NfVFJFRRAGEhcKE09CSkVDVF9DTEFT",
            "U19BTklNQUwQBxIUChBPQkpFQ1RfQ0xBU1NfR09EEAgSGAoUT0JKRUNUX0NM",
            "QVNTX0JJQ1lDTEUQCRIlCiFPQkpFQ1RfQ0xBU1NfVU5JREVOVElGSUVEX1ZF",
            "SElDTEUQCiJICh10cmFja2VkT2JqZWN0c19Db25maWRlbmNlRW51bRIICgRO",
            "T05FEAASBwoDTE9XEAESCgoGTUVESVVNEAISCAoESElHSBADIkUKGnRyYWNr",
            "ZWRPYmplY3RzX2NpcEZsYWdFbnVtEhAKDE5PVF9SRUxFVkVOVBAAEgsKB05P",
            "X0NJUFYQARIICgRDSVBWEAIiPwoXQ2FtZXJhSW1hZ2VGaWxlVHlwZUVudW0S",
            "BwoDUE5HEAASCAoESlBFRxABEgcKA0JNUBACEggKBEgyNjQQAyKCAQoVRHJp",
            "dmVyTW9kZWxTdGF0dXNFbnVtEhUKEUFUVEVOVElPTl9Vbmtub3duEAASGgoW",
            "QVRURU5USU9OX0NyaXRlcmlhX01ldBABEh4KGkFUVEVOVElPTl9Dcml0ZXJp",
            "YV9Ob3RfTWV0EAISFgoSRkFVTFRFRF9EUklWRVJNT0RFEAMi2AQKFEZDV1dh",
            "cm5pbmdTdGF0dXNFbnVtEgsKB05PX0NPREUQABIcChhQcmVfSW50ZXJ2ZW50",
            "aW9uX1dhcm5pbmcQARIUChBCcmFraW5nX0NvbXBsZXRlEAQSGgoWQUVCX1Vu",
            "YXZhaWxibGVfRVNDX09mZhAFEhoKFkFFQl9VbmF2YWlsYmxlXzRXRF9Mb3cQ",
            "BhIaChZBY3RpdmVfQnJha2luZ19FbmFibGVkEAcSGwoXQWN0aXZlX0JyYWtp",
            "bmdfRGlzYWJsZWQQCBIVChFBRUJfVXNlcl9EaXNhYmxlZBAJEhMKD0FFQl9S",
            "YWRhcl9CbGluZBAKEg0KCU5vdF91c2VkMRALEgwKCEFFQl9GYWlsEAwSDQoJ",
            "Tm90X3VzZWQyEA0SEQoNQUVCX0NhbV9CbGluZBAOEg0KCU5vdF91c2VkMxAP",
            "EhQKEEFFQl9MSU1JVEVEX0ZhaWwQEBILCgdQRUJfT2ZmEBESCgoGUEVCX09u",
            "EBISEwoPUEVCX1JhZGFyX0JsaW5kEBMSDAoIUEVCX0ZhaWwQFBIRCg1QRUJf",
            "Q2FtX0JsaW5kEBUSJgoiRkNXX0xpbWl0ZWRfUEVCX09mZl9DYW1lcmFfQmxp",
            "bmRlZBAWEiMKH0ZDV19MaW1pdGVkX1BFQl9PZmZfQ2FtZXJhX0ZhaWwQFxIi",
            "Ch5QcmVfSW50ZXJ2ZW50aW9uX1dhcm5pbmdfSUNBX0wQGBIiCh5QcmVfSW50",
            "ZXJ2ZW50aW9uX1dhcm5pbmdfSUNBX1IQGRIaChZBRUJfTGltaXRfQ29ybmVy",
            "X0JsaW5kEBoidAoMT3BTdGF0dXNFbnVtEgwKCEluYWN0aXZlEAASDwoLRnVs",
            "bFNlcnZpY2UQARITCg9GYWlsT3BlcmF0aW9uYWwQAhIQCgxGYWlsRGVncmFk",
            "ZWQQAxINCglFbWVyZ2VuY3kQBBIPCgtOb19GdW5jdGlvbhAFImcKFENWUEFN",
            "RmF1bHRTdGF0dXNFbnVtEhAKDEFDVElWRV9DVlBBTRAAEhYKEk5PVF9BQ1RJ",
            "VkVfQkxPQ0tFRBABEhYKEk5PVF9BQ1RJVkVfRkFJTFVSRRACEg0KCVNOQV9D",
            "VlBBTRADIogBChNHTk1NRmF1bHRTdGF0dXNFbnVtEg0KCU5vdF9BdmFpbBAA",
            "EhcKE0F2YWlsX2Z1bGxfY2FwYWNpdHkQARISCg5QcmltYXJ5X0lNVV9OQRAC",
            "Eg8KC0dQU19HTlNTX05BEAMSFgoSQ29ycmVjdGlvbl9EYXRhX05BEAQSDAoI",
            "U05BX0dOTU0QByJTChNETVNNRmF1bHRTdGF0dXNFbnVtEgsKB1NUQU5EQlkQ",
            "ABILCgdURU1QX05BEAESEgoOSU5URVJOQUxfRVJST1IQAhIOCgpGVU5DVElP",
            "TkFMEAMigAEKEUVNU0ZhaWxTdGF0dXNFbnVtEhQKEEZhaWxfTm90X1ByZXNl",
            "bnQQABIfChtGYWlsX0ZsYXNoX0xpZ2h0X0luZGljYXRpb24QARIdChlGYWls",
            "X0ZpeF9MaWdodF9JbmRpY2F0aW9uEAISFQoRRmxhc2hfRm9yX1NlcnZpY2UQ",
            "AyLVAgoTU1dTTUZhdWx0U3RhdHVzRW51bRIRCg1OT19FUlJPUl9TV1NNEAAS",
            "FAoQSE9EX0VFUFJPTV9FUlJPUhABEhEKDUhPRF9ST01fRVJST1IQAhIWChJI",
            "T0RfV0FUQ0hET0dfRVJST1IQAxIRCg1IT0RfQ1BVX0VSUk9SEAQSIAocSE9E",
            "X0dVQVJEX0lOVEVSUlVQVElPTl9FUlJPUhAFEiAKHEhPRF9TRU5TRV9JTlRF",
            "UlJVUFRJT05fRVJST1IQBhIiCh5IT0RfQ1BVX0RFRkVDVF9PUl9NQVRfU0hP",
            "UlRBR0UQBxIWChJVTkRFUlZPTFRBR0VfRVJST1IQCBIVChFPVkVSVk9MVEFH",
            "RV9FUlJPUhAJEhQKEEhPRF9DT0RJTkdfRVJST1IQChIcChhIT0RfR0VORVJJ",
            "Q19TWVNURU1fRVJST1IQCxIMCghTTkFfU1dTTRAPIi0KEkJDTUZhdWx0U3Rh",
            "dHVzRW51bRIMCghOb19GYXVsdBAAEgkKBUZhdWx0EAEikAEKD0RBTE1Db2xv",
            "clN0YXR1cxIKCgZOb19SZXEQABIQCgxZZWxsb3dfU29saWQQARIRCg1ZZWxs",
            "b3dfUnVud2F5EAISDQoJUmVkX1NvbGlkEAMSDgoKUmVkX1J1bndheRAEEg4K",
            "CkJsdWVfU29saWQQBRIPCgtCbHVlX1J1bndheRAGEgwKCFNOQV9EQUxNEA8i",
            "fwoXSEFTRXNjYWxhdGlvblN0YXR1c0VudW0SDAoITm9fU3RhdGUQABIKCgZT",
            "dGF0ZTAQARIKCgZTdGF0ZTIQAxILCgdTdGF0ZTNhEAQSCwoHU3RhdGUzYhAF",
            "EgsKB1N0YXRlNGEQBhILCgdTdGF0ZTRiEAcSCgoGU3RhdGU1EAgijwEKDU1S",
            "TVN0YXR1c0VudW0SEgoOTk9UX0FDVElWRV9NUk0QABISCg5NUk1fSU5fUFJP",
            "Q0VTUxABEhoKFlZFSElDTEVfU0VDVVJFX1JFUVVFU1QQAhIfChtWZWhpY2xl",
            "X1NFQ1VSRU1FTlRfQ09NUExFVEUQAxIMCghDQU5DRUxFRBAEEgsKB1NOQV9N",
            "Uk0QByJJChtIQVNMYXRDdHJsUmVxdWVzdFN0YXR1c0VudW0SCAoESURMRRAA",
            "Eg8KC0ZBVUxURURfSEFTEAESDwoLSEFTX1JFUVVFU1QQAiJACiBQb3dlcnRy",
            "YWluSW50ZXJmYWNlRW5nYWdlUmVxRW51bRIPCgtOT1RfRU5BQkxFRBAAEgsK",
            "B0VOQUJMRUQQASKLAQoRQUVCVHlwZVN0YXR1c0VudW0SCwoHTk9ORV9BRRAA",
            "EgcKA0FDQxABEgcKA0NNUxACEgsKB0NNU19YVEQQAxIHCgNBQkEQBBIICgRM",
            "U0NNEAUSBwoDUEVCEAYSCQoFSUNBX0wQBxIJCgVJQ0FfUhAIEgsKB0hBU19N",
            "Uk0QCRILCgdTTkFfQUVCEA8ixQIKHUVsZWN0cm9uaWNQYXJrQnJha2VTdGF0",
            "dXNFbnVtEgwKCFJlbGVhc2VkEAASCwoHQXBwbGllZBABEhEKDUR5bmFtaWNC",
            "cmtFU0MQAhIRCg1EeW5hbWljQnJrRVBCEAMSFQoRRW1lcmdlbmN5X0JyYWtp",
            "bmcQBBIMCghBcHBseWluZxAFEhQKEE1haW50ZW5hbmNlX01vZGUQBhISCg5B",
            "c3NlbWJseV9DaGVjaxAHEhMKD0luc3BlY3Rpb25fTW9kZRAIEg8KC1JlX0Ns",
            "YW1waW5nEAkSEAoMQWRqdXN0ZV9Nb2RlEAoSDQoJUmVsZWFzaW5nEAsSFgoS",
            "RmF1bHRfRVBCX1JlbGVhc2VkEAwSFQoRRmF1bHRfRVBCX0FwcGxpZWQQDRIR",
            "Cg1GYXVsdF9QcmVzZW50EA4SCwoHU05BX0VQQhAPIqgBCh5TdGVlcmluZ1do",
            "ZWVsSGFuZHNPblN0YXR1c0VudW0SFgoSSEFORFNfT0ZGX0RFVEVDVEVEEAAS",
            "FgoSRU5FUkdZX1NBVklOR19NT0RFEAESGgoWSEFORFNfT0ZGX05PVF9ERVRF",
            "Q1RFRBACEhcKE0hBTkRTX05PVF9BVkFJTEFCTEUQAxITCg9IQU5EU19PRkZf",
            "RVJST1IQBBIMCghTTkFfU1dITxAPIjYKFEVQU0hhbmRzT25TdGF0dXNFbnVt",
            "EhAKDE5PVF9ERVRFQ1RFRBAAEgwKCERFVEVDVEVEEAEikQEKFkRyaXZlckdh",
            "emVMb2NhdGlvbkVudW0SCwoHVW5rbm93bhAAEgsKB09uX1JvYWQQARILCgdD",
            "bHVzdGVyEAISDwoLTGVmdF9NaXJyb3IQAxIQCgxSaWdodF9NaXJyb3IQBBIJ",
            "CgVSYWRpbxAFEhQKEFJlYXJfVmlld19NaXJyb3IQBhIMCghPZmZfUm9hZBAH",
            "IvgBChFQUk5ETFBvc2l0aW9uRW51bRILCgdOZXV0cmFsEAASEQoNRm9yd2Fy",
            "ZEdlYXJfMRABEhEKDUZvcndhcmRHZWFyXzIQAhIRCg1Gb3J3YXJkR2Vhcl8z",
            "EAMSEQoNRm9yd2FyZEdlYXJfNBAEEhEKDUZvcndhcmRHZWFyXzUQBRIRCg1G",
            "b3J3YXJkR2Vhcl82EAYSEQoNRm9yd2FyZEdlYXJfNxAHEhEKDUZvcndhcmRH",
            "ZWFyXzgQCBIRCg1Gb3J3YXJkR2Vhcl85EAkSCwoHUEFSS0lORxANEg8KC1Jl",
            "c2VydmVHZWFyEA4SDQoJU05BX1BSTkRMEA8iuwMKIkwyUEhNSVJlcVNlYXRC",
            "ZWx0TW90b3JBY3R1YXRvckVudW0SDgoKTm9fUmVxdWVzdBAAEhEKDVNsYWNr",
            "X1JlbW92YWwQARIJCgVBYm9ydBACEhwKGExldmVsXzhfRm9yY2VfUmV0cmFj",
            "dGlvbhADEhwKGExldmVsXzdfRm9yY2VfUmV0cmFjdGlvbhAEEhwKGExldmVs",
            "XzZfRm9yY2VfUmV0cmFjdGlvbhAFEhwKGExldmVsXzVfRm9yY2VfUmV0cmFj",
            "dGlvbhAGEhwKGExldmVsXzRfRm9yY2VfUmV0cmFjdGlvbhAHEhwKGExldmVs",
            "XzNfRm9yY2VfUmV0cmFjdGlvbhAIEhwKGExldmVsXzJfRm9yY2VfUmV0cmFj",
            "dGlvbhAJEhwKGExldmVsXzFfRm9yY2VfUmV0cmFjdGlvbhAKEhMKD0hhcHRp",
            "Y19XYXJpbmdfNBALEhMKD0hhcHRpY19XYXJpbmdfMxAMEhMKD0hhcHRpY19X",
            "YXJpbmdfMhANEhMKD0hhcHRpY19XYXJpbmdfMRAOEiMKH1NOQV9MMlBsdXNT",
            "ZWF0QmVsdE1vdG9yQWN0dWF0b3IQDyLHAQoTQUVTX0FDQ19TeXNTdHNfRW51",
            "bRIWChJPRkZfQUVTX0FDQ19TeXNTdHMQABIPCgtBQ0NfRW5hYmxlZBABEg8K",
            "C0FDQ19FbmdhZ2VkEAISGQoVQUNDX0VuZ2FnZWRfQnJha2VPbmx5EAMSDgoK",
            "QUNDX0NhbmNlbBAEEg8KC05DQ19FbmFibGVkEAUSDwoLTkNDX0VuZ2FnZWQQ",
            "BhIOCgpOQ0NfQ2FuY2VsEAcSDAoISEFTX0JTb0MQCBILCgdTTkFfQUVTEA8i",
            "YgoTQUVTX0hBU19TdGF0dXNfRW51bRIMCghEaXNhYmxlZBAAEhcKE0VuYWJs",
            "ZWRfQUVTX0hBU19TdHMQARILCgdFbmdhZ2VkEAISFwoTRmF1bHRlZF9BRVNf",
            "SEFTX1N0cxADIlYKFEhBU19UZWxsVGFsZVN0c19FbnVtEgcKA09GRhAAEggK",
            "BEdyZXkQARIJCgVHcmVlbhACEgoKBlllbGxvdxADEgcKA1JlZBAEEgsKB1NO",
            "QV9IQVMQByKZAQoRQ2hpbWVfVHlwU3RzX0VudW0SCwoHRGVmYXVsdBAAEgoK",
            "BkNoaW1lMRABEgoKBkNoaW1lMhACEgoKBkNoaW1lMxADEgoKBkNoaW1lNBAE",
            "EgoKBkNoaW1lNRAFEgoKBkNoaW1lNhAGEgoKBkNoaW1lNxAHEgoKBkNoaW1l",
            "OBAIEgoKBkNoaW1lORAJEgsKB0NoaW1lMTAQCiI2ChFDaGltZVByaW9ydHlf",
            "RW51bRIFCgFBEAASBQoBQhABEgUKAUMQAhIFCgFEEAMSBQoBRRAEIn0KE0Rp",
            "c3BsYXlTdHNfT0ZGX0VudW0SGgoWTm9fQ29kZV9EaXNwbGF5U3RzX09GRhAA",
            "Eg8KC0FDQ19MS0FfSEFTEAESCwoHQUNDX0xLQRACEgsKB0FDQ19IQVMQAxIW",
            "ChJBQ0NfRGlzcGxheVN0c19PRkYQBBIHCgNMS0EQBSKoAgoTRGlzcGxheVN0",
            "c19BQ0NfRW51bRIWChJPRkZfRGlzcGxheVN0c19BY2MQABINCglSZWFkeV9U",
            "RzEQARINCglSZWFkeV9URzIQAhINCglSZWFkeV9URzMQAxINCglSZWFkeV9U",
            "RzQQBBIQCgxBQ0NfRV9OVF9URzEQBRIQCgxBQ0NfRV9OVF9URzIQBhIQCgxB",
            "Q0NfRV9OVF9URzMQBxIQCgxBQ0NfRV9OVF9URzQQCBIQCgxBQ0NfRV9XVF9U",
            "RzEQCRIQCgxBQ0NfRV9XVF9URzIQChIQCgxBQ0NfRV9XVF9URzMQCxIQCgxB",
            "Q0NfRV9XVF9URzQQDBINCglOQ0NfUmVhZHkQDRIeChpOQ0NfRW5nYWdlZF9E",
            "aXNwbGF5U3RzX0FDQxAOIqcBChNEaXNwbGF5U3RzX1ZlaF9FbnVtEhYKEk9G",
            "Rl9EaXNwbGF5U3RzX1ZlaBAAEhAKDENlbnRlcl9XaGl0ZRABEhAKDENlbnRl",
            "cl9HcmVlbhACEhQKEFJpZ2h0X0Nyb3NzaW5nXzEQAxITCg9MZWZ0X0Nyb3Nz",
            "aW5nXzEQBBIUChBSaWdodF9Dcm9zc2luZ18yEAUSEwoPTGVmdF9Dcm9zc2lu",
            "Z18yEAYiuwEKH0xhbmVfRGlzcGxheVN0c19MZWZ0X1JpZ2h0X0VudW0SHQoZ",
            "T0ZGX0Rpc3BsYXlTdHNfTGVmdF9SaWdodBAAEggKBEdyYXkQARIZChVHcmVl",
            "bl9MYW5lX0Rpc3BsYXlTdHMQAhIaChZZZWxsb3dfTGFuZV9EaXNwbGF5U3Rz",
            "EAMSEwoPWWVsbG93X0ZsYXNoaW5nEAQSFwoTUmVkX0xhbmVfRGlzcGxheVN0",
            "cxAFEgoKBkRhc2hlZBAGIksKEFNWSV9SZXF1ZXN0X0VudW0SCwoHT0ZGX1NW",
            "SRAAEg0KCUdyZWVuX1NWSRABEg4KClllbGxvd19TVkkQAhILCgdSZWRfU1ZJ",
            "EAMiSgoQQUVCX0ZhaWxTdHNfRW51bRIgChxBRUJfRmFpbF9Ob3RfUHJlc2Vu",
            "dF9GYWlsU3RzEAASFAoQQUVCX0ZhaWxfUHJlc2VudBABIjYKDklDQV9CbGlu",
            "ZF9FbnVtEg8KC0lDQV9CbGluZGVkEAASEwoPSUNBX05vdF9CbGluZGVkEAEi",
            "fAoVREREX0Rpc3BQb3B1cFN0c19FbnVtEhwKGE5vX0NvZGVfREREX0Rpc3BQ",
            "b3BVcFN0cxAAEhgKFERyb3dzbmluZXNzX0RldGVjdGVkEAESEQoNREREX1Bl",
            "cm1fRmFpbBACEhgKFFNOQV9ERERfRGlzcFBvcFVwU3RzEAMighYKFUFDQ19E",
            "aXNwUG9wdXBTdHNfRW51bRIcChhOb19Db2RlX0FDQ19EaXNwUG9wVXBTdHMQ",
            "ABITCg9BQ0NfVW5hdmFpbGFibGUQARIbChdBQ0NfVW5hdmFpbGFibGVfNFdE",
            "X0xvdxACEhsKF0FDQ19VbmF2YWlsYWJsZV9FU0NfT2ZmEAMSHQoZQUNDX1Vu",
            "YXZhaWxhYmxlX0VTQ19FdmVudBAEEiIKHkFDQ19VbmF2YWlsYWJsZV9CcmFr",
            "ZXNfQ29vbGluZxAFEiMKH0FDQ19VbmF2YWlsYWJsZV9CZWxvd19NaW5fU3Bl",
            "ZWQQBhIjCh9BQ0NfVW5hdmFpbGFibGVfQWJvdmVfTWF4X1NwZWVkEAcSHgoa",
            "QUNDX1VuYXZhaWxhYmxlX0VQQl9BY3RpdmUQCBIbChdBQ0NfVW5hdmFpbGFi",
            "bGVfU2hpZnRfRBAJEh0KGUFDQ19VbmF2YWlsYWJsZV9Eb29yX09wZW4QChIm",
            "CiJBQ0NfVW5hdmFpbGFibGVfU2VhdGJlbHRfVW5idWNrbGVkEAsSIQodQUND",
            "X1VuYXZhaWxhYmxlX1JvYWRfdG9fU3RlZXAQDBIeChpBQ0NfVW5hdmFpbGFi",
            "bGVfV3JvbmdfR2VhchANEhsKF0FDQ19VbmF2YWlsYWJsZV9Mb3dfUlBNEA4S",
            "HAoYQUNDX1VuYXZhaWxhYmxlX0hpZ2hfUlBNEA8SIgoeQUNDX1VuYXZhaWxh",
            "YmxlX0NsdXRjaF9FbmdhZ2VkEBASGwoXQUNDX0NhbmNlbF9EaXNwUG9wVXBT",
            "dHMQERIaChZBQ0NfQUVCX0NhbmNlbF9FU0NfT2ZmEBISFgoSQUNDX0NhbmNl",
            "bF9FU0NfT2ZmEBMSGAoUQUNDX0NhbmNlbF9FU0NfRXZlbnQQFBIdChlBQ0Nf",
            "Q2FuY2VsX0JyYWtlc19Db29saW5nEBUSHgoaQUNDX0NhbmNlbF9CZWxvd19N",
            "aW5fU3BlZWQQFhIeChpBQ0NfQ2FuY2VsX0Fib3ZlX01heF9TcGVlZBAXEhkK",
            "FUFDQ19DYW5jZWxfRVBCX0FjdGl2ZRAYEhYKEkFDQ19DYW5jZWxfU2hpZnRf",
            "RBAZEhgKFEFDQ19DYW5jZWxfRG9vcl9PcGVuEBoSIQodQUNDX0NhbmNlbF9T",
            "ZWF0YmVsdF9VbmJ1Y2tsZWQQGxIcChhBQ0NfQ2FuY2VsX1JvYWRfdG9fU3Rl",
            "ZXAQHBIZChVBQ0NfQ2FuY2VsX1dyb25nX2dlYXIQHRIWChJBQ0NfQ2FuY2Vs",
            "X0xvd19SUE0QHhIXChNBQ0NfQ2FuY2VsX0hpZ2hfUlBNEB8SJAogQUNDX1N0",
            "b3BfVmVoaWNsZV9PYmplY3RfRGV0ZWN0ZWQQIBIeChpBQ0NfV2FybmluZ19D",
            "bHV0Y2hfRW5nYWdlZBAhEh8KG0FDQ19XYXJuaW5nX05ldXRyYWxfRW5nYWdl",
            "ZBAiEhUKEUFDQ19PZmZfRVNDX0ZhdWx0ECMSGQoVQUNDX1Byb3hpbWl0eV9X",
            "YXJuaW5nECQSEwoPTkNDX1VuYXZhaWxhYmxlECUSGwoXTkNDX1VuYXZhaWxh",
            "YmxlXzRXRF9Mb3cQJhIbChdOQ0NfVW5hdmFpbGFibGVfRVNDX09mZhAnEh0K",
            "GU5DQ19VbmF2YWlsYWJsZV9FU0NfRXZlbnQQKBIiCh5OQ0NfVW5hdmFpbGFi",
            "bGVfQnJha2VzX0Nvb2xpbmcQKRIjCh9OQ0NfVW5hdmFpbGFibGVfQmVsb3df",
            "TWluX1NwZWVkECoSIwofTkNDX1VuYXZhaWxhYmxlX0Fib3ZlX01heF9TcGVl",
            "ZBArEh4KGk5DQ19VbmF2YWlsYWJsZV9FUEJfQWN0aXZlECwSGwoXTkNDX1Vu",
            "YXZhaWxhYmxlX1NoaWZ0X0QQLRIeChpOQ0NfVW5hdmFpbGFibGVfV3Jvbmdf",
            "R2VhchAuEhsKF05DQ19VbmF2YWlsYWJsZV9Mb3dfUlBNEC8SHAoYTkNDX1Vu",
            "YXZhaWxhYmxlX0hpZ2hfUlBNEDASIgoeTkNDX1VuYXZhaWxhYmxlX0NsdXRj",
            "aF9FbmdhZ2VkEDESGwoXTkNDX0NhbmNlbF9EaXNwUG9wVXBTdHMQMhIaChZO",
            "Q0NfQUVCX0NhbmNlbF9FU0NfT2ZmEDMSFgoSTkNDX0NhbmNlbF9FU0NfT2Zm",
            "EDQSGAoUTkNDX0NhbmNlbF9FU0NfRXZlbnQQNRIdChlOQ0NfQ2FuY2VsX0Jy",
            "YWtlc19Db29saW5nEDYSHgoaTkNDX0NhbmNlbF9CZWxvd19NaW5fU3BlZWQQ",
            "NxIeChpOQ0NfQ2FuY2VsX0Fib3ZlX01heF9TcGVlZBA4EhkKFU5DQ19DYW5j",
            "ZWxfRVBCX0FjdGl2ZRA5EhYKEk5DQ19DYW5jZWxfU2hpZnRfRBA6EhkKFU5D",
            "Q19DYW5jZWxfV3JvbmdfR2VhchA7EhYKEk5DQ19DYW5jZWxfTG93X1JQTRA8",
            "EhcKE05DQ19DYW5jZWxfSGlnaF9SUE0QPRIeChpOQ0NfV2FybmluZ19DbHV0",
            "Y2hfRW5nYWdlZBA+Eh8KG05DQ19XYXJuaW5nX05ldXRyYWxfRW5nYWdlZBA/",
            "EhcKE0FDQ19Vc2VyX0VuYWJsZWRfRDEQQBIXChNBQ0NfVXNlcl9FbmFibGVk",
            "X0QyEEESFwoTQUNDX1VzZXJfRW5hYmxlZF9EMxBCEhcKE0FDQ19Vc2VyX0Vu",
            "YWJsZWRfRDQQQxIVChFBQ0NfU2V0X0QxX1RhcmdldBBEEhUKEUFDQ19TZXRf",
            "RDJfVGFyZ2V0EEUSFQoRQUNDX1NldF9EM19UYXJnZXQQRhIVChFBQ0NfU2V0",
            "X0Q0X1RhcmdldBBHEhgKFEFDQ19TZXRfRDFfTm9fVGFyZ2V0EEgSGAoUQUND",
            "X1NldF9EMl9Ob19UYXJnZXQQSRIYChRBQ0NfU2V0X0QzX05vX1RhcmdldBBK",
            "EhgKFEFDQ19TZXRfRDRfTm9fVGFyZ2V0EEsSEAoMQUNDX092ZXJyaWRlEEwS",
            "FQoRQUNDX1VzZXJfRGlzYWJsZWQQTRIUChBOQ0NfVXNlcl9FbmFibGVkEE4S",
            "CwoHTkNDX1NldBBPEhUKEU5DQ19Vc2VyX0Rpc2JhbGVkEFASEAoMTkNDX092",
            "ZXJyaWRlEFESIQodRnJvbnRfUmFkYXJfU2Vuc29yX1BsYW50X01vZGUQUhIZ",
            "ChVBQ0NfQUVCX0xLQV9DYW1fQmxpbmQQUxIVChFBQ0NfQUVCX0NhbV9CbGlu",
            "ZBBUEhUKEUFDQ19MS0FfQ2FtX0JsaW5kEFUSEQoNQUNDX0NhbV9CbGluZBBW",
            "EhwKGEFDQ19BRUJfTEtBX0xJTUlURURfRmFpbBBXEhgKFEFDQ19BRUJfTElN",
            "SVRFRF9GYWlsEFgSGAoUQUNDX0xLQV9MSU1JVEVEX0ZhaWwQWRIUChBBQ0Nf",
            "TElNSVRFRF9GYWlsEFoSFwoTQUNDX0FFQl9SYWRhcl9CbGluZBBbEhMKD0FD",
            "Q19SYWRhcl9CbGluZBBcEhQKEEFDQ19BRUJfTEtBX0ZhaWwQXRIQCgxBQ0Nf",
            "QUVCX0ZhaWwQXhIQCgxBQ0NfTEtBX0ZhaWwQXxIMCghBQ0NfRmFpbBBgEhQK",
            "EE5DQ19BRUJfTEtBX0ZhaWwQYRIQCgxOQ0NfQUVCX0ZhaWwQYhIQCgxOQ0Nf",
            "TEtBX0ZhaWwQYxIMCghOQ0NfRmFpbBBkEhIKDkFsaWdubWVudF9Nb2RlEGUS",
            "FAoQTWlzYWxpZ25lZF9SYWRhchBmIjoKF0VEUkRlcGxveW1lbnRTdGF0dXNF",
            "bnVtEhIKDkRvX05vdF9BY3R1YXRlEAASCwoHQWN0dWF0ZRABIjwKEUNoaW1l",
            "RnJvbnRScV9FbnVtEhQKEE5PX1JFUVVFU1RfQ0hJTUUQABIRCg1SRVFVRVNU",
            "X0NISU1FEAEiTgoQQ2hpbWVSZWFyUnFfRU5VTRIdChlOb19yZ2h0X3JlYXJf",
            "Y2hpbWVfb25fcmVxEAASGwoXUmlnaHRfcmVhcl9jaGltZV9vbl9yZXEQASIs",
            "CgxQcmVzZW50X0VudW0SDwoLTm90X1ByZXNlbnQQABILCgdQcmVzZW50EAEi",
            "OwoUQ0FETTJNb2RlU3RhdHVzX0VudW0SDAoIT0ZGX01PREUQABIICgRHQVRF",
            "EAESCwoHQ09OVFJPTBACIj0KFURhdGFMb2dNZXNzYWdlUmVxdWVzdBIMCgR1",
            "bGluGAEgASgJEhYKDnNlcXVlbmNlTnVtYmVyGAIgAygFIuYDCg1EYXRhU2V0",
            "U2lnbmFsEhUKCmludDMyVmFsdWUYoR8gASgFSAASFQoKaW50NjRWYWx1ZRii",
            "HyABKANIABIWCgtzdHJpbmdWYWx1ZRijHyABKAlIABIWCgtkb3VibGVWYWx1",
            "ZRikHyABKAFIABIVCgpmbG9hdFZhbHVlGKUfIAEoAkgAEhQKCWJvb2xWYWx1",
            "ZRimHyABKAhIABIVCgpieXRlc1ZhbHVlGKcfIAEoDEgAEhYKC3VJbnQzMlZh",
            "bHVlGKgfIAEoDUgAEhYKC3VJbnQ2NFZhbHVlGKkfIAEoBEgAEhYKC3NJbnQz",
            "MlZhbHVlGKofIAEoEUgAEhYKC3NJbnQ2NFZhbHVlGKsfIAEoEkgAEhcKDGZp",
            "eGVkMzJWYWx1ZRisHyABKAdIABIXCgxmaXhlZDY0VmFsdWUYrR8gASgGSAAS",
            "GAoNc0ZpeGVkMzJWYWx1ZRiuHyABKA9IABIYCg1zRml4ZWQ2NFZhbHVlGK8f",
            "IAEoEEgAEhIKCnNpZ25hbE5hbWUYAiABKAkSEAoIc2lnbmFsSWQYAyABKAUS",
            "OAoDdW9tGAQgASgOMisuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuU2lnbmFs",
            "VmFsdWVVT01FbnVtQg0KC3NpZ25hbFZhbHVlIt0CChZEYXRhTG9nTWVzc2Fn",
            "ZVJlc3BvbnNlEgwKBHVsaW4YAyABKAkSFwoPZGF0YWxvZ1NlcXVlbmNlGAUg",
            "ASgFEhwKFGRhdGFsb2dTZXF1ZW5jZVRvdGFsGAYgASgFEkgKEWRhdGFMb2dN",
            "ZXNzYWdlT2JqGAIgAygLMi0uY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0",
            "YUxvZ01lc3NhZ2VPYmplY3QSXAoLcmVzcG9uc2VUeXAYASABKA4yRy5jb20u",
            "ZmNhLnVjb25uZWN0Lmdsb2JhbC5EYXRhTG9nTWVzc2FnZVJlc3BvbnNlLkRh",
            "dGFMb2dSZXNwb25zZVR5cGVFbnVtIlYKF0RhdGFMb2dSZXNwb25zZVR5cGVF",
            "bnVtEhAKDFNVQ0NFU1NfVUxJThAAEhYKElVMSU5fTk9UX0FWQUlMQUJMRRAB",
            "EhEKDUdFTkVSQUxfRVJST1IQAiqVBwoSU2lnbmFsVmFsdWVVT01FbnVtEgYK",
            "Ak5BEAASDgoKQ0VOVElNRVRFUhABEgkKBU1FVEVSEAISDQoJS0lMT01FVEVS",
            "EAMSCAoESU5DSBAEEggKBEZPT1QQBRIICgRNSUxFEAYSDgoKTUlMTElMSVRF",
            "UhAHEgkKBUxJVEVSEAgSCAoEUElOVBAJEgkKBVFVQVJUEAoSCgoGR0FMTE9O",
            "EAsSCgoGUkFESUFOEAwSCgoGREVHUkVFEA0SCgoGU0VDT05EEA4SCgoGTUlO",
            "VVRFEA8SCAoESE9VUhAQEgcKA0RBWRAREggKBFlFQVIQEhIJCgVIRVJUWhAT",
            "EhYKElJBRElBTlNfUEVSX1NFQ09ORBAUEhYKEkRFR1JFRVNfUEVSX1NFQ09O",
            "RBAVEgsKB0RFQ0lCRUwQFhIVChFNRVRFUlNfUEVSX1NFQ09ORBAXEhcKE0tJ",
            "TE9NRVRFUlNfUEVSX0hPVVIQGBITCg9GRUVUX1BFUl9TRUNPTkQQGRISCg5N",
            "SUxFU19QRVJfSE9VUhAaEggKBEdSQU0QGxIMCghLSUxPR1JBTRAcEgkKBU9V",
            "TkNFEB0SCQoFUE9VTkQQHhIHCgNUT04QHxIKCgZORVdUT04QIBIQCgxORVdU",
            "T05fTUVURVIQIRIOCgpGT09UX1BPVU5EECISCQoFSk9VTEUQIxIICgRXQVRU",
            "ECQSDAoIS0lMT1dBVFQQJRIOCgpIT1JTRVBPV0VSECYSGgoWUE9VTkRTX1BF",
            "Ul9TUVVBUkVfSU5DSBAnEgoKBktFTFZJThAoEg4KCkNFTlRJR1JBREUQKRIO",
            "CgpGQUhSRU5IRUlUECoSCQoFTFVNRU4QKxIKCgZBTVBFUkUQLBIICgRWT0xU",
            "EC0SBwoDT0hNEC4SCQoFS09ITVMQLxILCgdQRVJDRU5UEDASCAoEQkFSUxAx",
            "Eg8KC1BTSV9QRVJfQklUEDISCQoFUFVMU0UQMxIYChRLSUxPTUVURVJTX1BF",
            "Ul9MSVRFUhA0EhQKEE1JTEVTX1BFUl9HQUxMT04QNRITCg9MSVRSRVNfUEVS",
            "X0hPVVIQNhIcChhNRVRFUlNfUEVSX1NFQ09ORF9TRUNPTkQQNxITCg9NSUxM",
            "SUFSQ1NFQ09ORFMQOBIOCgpNSUxMSU1FVEVSEDkSGgoWRkVFVF9QRVJfU0VD",
            "T05EX1NFQ09ORBA6EhkKFVJFVk9MVVRJT05fUEVSX01JTlVURRA7YgZwcm90",
            "bzM="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { },
          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Com.Fca.Uconnect.Global.SignalValueUOMEnum), }, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.PublishDataHeader), global::Com.Fca.Uconnect.Global.PublishDataHeader.Parser, new[]{ "Ulin", "NoOfTriggers", "LockingTrigger", "MapDatabaseVersion", "Vin", "NextTrigger", "CadmSWVersion", "DbVersion", "FirstTrigger" }, null, new[]{ typeof(global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerIds) }, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType), global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType.Parser, new[]{ "TriggerRelativeTime", "GpsLatitude", "GpsLongitude", "GpsAltitude", "Odometer", "TriggerID", "GpsTime" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.CadmSoftwareVersionType), global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.CadmSoftwareVersionType.Parser, new[]{ "SwVersionYear", "SwVersionWeek", "SwVersionPatch" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.DatabaseVersionType), global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.DatabaseVersionType.Parser, new[]{ "DbVersionYear", "DbVersionWeek", "DbVersionPatch" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.gpsTimeInfo), global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.gpsTimeInfo.Parser, new[]{ "GpsYear", "GpsDay", "GpsHour", "GpsSec", "GpsMin" }, null, null, null)}),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Parser, new[]{ "FusedLaneBoundaries", "ReasonForDisengagement", "AbsActiveFlagBSM", "AbsActiveFlagBSM2", "EscActiveFlagBSM", "HdMapCenterlineLateralDistance", "LrcfFaultStatus", "LrrfFaultStatus", "MrrflFaultStatus", "MrrrlFaultStatus", "MrrfrFaultStatus", "MrrrrFaultStatus", "BrakePrefillRequest", "PrefillResponse", "DriverHeadPosition", "HazardSwitchStatus", "GuidancePathLateralDistance", "SeatVibrationReq", "SeatVibrationSts", "WiperSwitchStatus", "DriverModelStatus", "FcwWarningStatus", "BsmFaultStatus", "Bsm2FaultStatus", "CadmFaultStatus", "Cadm2FaultStatus", "GnmmFaultStatus", "DmsmFaultStatus", "PowertrainMILLampStatus", "SwsmFaultStatus", "DalmFaultStatus", "AdasOperatingStateCadm", "AdasOperatingStateCadm2", "MrmStateCadm", "MrmStateCadm2", "TorqueOverlayEngageReqEPSCadm", "TorqueOverlayEngageReqEPSCadm2", "PowertrainInterfaceEngageReq", "BrakeDecelInterfaceEngageReqTypeCadm", "BrakeDecelInterfaceEngageReqTypeCadm2", "ElectronicParkBrakeStatus", "SteeringWheelHandsOnStatus", "EpsHandsOnStatusPrimary", "EpsHandsOnStatusSecondary", "DriverGazeLocation", "PrndlPosition", "YawRateBSM", "YawRateGNMM", "RfTirePressure", "LfTirePressure", "RrTirePressure", "LrTirePressure", "BatteryVolt1", "BatteryVolt2", "TorqueRequestEPSCadm", "TorqueRequestEPSCadm2", "EpsMotorTorqueFD14", "EpsMotorTorqueFD2", "PowertrainTorqueReq", "PowertrainOutputTorque", "BrakeDecelRequestCadm", "BrakeDecelRequestCadm2", "BrakeTorqueAppliedBSM", "BrakeTorqueAppliedBSM2", "DriverAppSteeringWheelTorquePrimary", "DriverAppSteeringWheelTorqueSecondary", "ThrottlePedalPosition", "ExternalAmbientTemp", "DriverLongitudinalSetSpeed", "SystemTargetSpeed", "VehicleSpeed", "SteeringAnglePrimary", "SteeringAngleSecondary", "LateralAccelerationBSM", "LateralAccelerationGNMM", "LongAccelerationBSM", "LongAccelerationGNMM", "FrontLongRangeCameraImg", "LocHDMapCoordinate", "TrackedObjects", "SteeringAngleTypePrimary", "SteeringAngleTypeSecondary", "EpsOverlayStateFD14", "EpsOverlayStateFD2", "GpsPosition", "CameraObjectList", "DriverSeatBeltStatus", "DriverDoorStatus", "FcwPersonalizationSetting", "HeadLightSwitchStatus", "IgnitionSwitchStatus", "EdrDeploymentStatus", "Cadm2SoftwareVersion", "CADM2ModeStatus", "L2PHMIReqToAudioAmp", "L2PHMIReqToCluster", "TurnSignalSwitchStatus", "DbsmInternalErrorSts", "DbsmResponseErrorSts", "DbsmOverCurrentDetectedSts", "DbsmOverTemperatureDetectedSts", "DbsmSwitchStsOpenClose", "DbsmUndervoltageDetectedSts", "HeadLightStatus", "HppPolynomial", "CameraLaneBorderPolynomial", "DatalogTimestamp", "VerticalAccelerationGNMM", "RollRateGNMM", "PitchRateGNMM", "CvpamFaultStatus", "DalmColorStatus", "AdasEngagedStatus", "AdasEngagedStatusCadm2", "BrakeJerkReq" }, null, new[]{ typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnIndicator_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_SetSpeedStrike_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Req_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Sts_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overcurrent_Detected_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overtemp_Detected_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Switch_Status_OpenClose_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Undervoltage_Detected_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.WiperSwitchStatus_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PrefillRequest_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Set_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DispPopupSts_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverSeatBeltStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverDoorStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWPersonalizationSettingEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightSwitchStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.IgnitionSwitchStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_ClassificationEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_LocationEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ClassificationEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ConfidenceEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_cipFlagEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraImageFileTypeEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverModelStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWWarningStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GNMMFaultStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DMSMFaultStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EMSFailStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SWSMFaultStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.BCMFaultStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DALMColorStatus), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ElectronicParkBrakeStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringWheelHandsOnStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverGazeLocationEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PRNDLPositionEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.L2PHMIReqSeatBeltMotorActuatorEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_ACC_SysSts_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_HAS_Status_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HAS_TellTaleSts_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Chime_TypSts_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ChimePriorty_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_OFF_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_ACC_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_Veh_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SVI_Request_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEB_FailSts_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ICA_Blind_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DDD_DispPopupSts_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_DispPopupSts_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ChimeFrontRq_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ChimeRearRq_ENUM), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Present_Enum), typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CADM2ModeStatus_Enum) }, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsLocation), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsLocation.Parser, new[]{ "LocationLatitude", "LocationLongitude", "LocationHeading" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsVelocity), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsVelocity.Parser, new[]{ "VelocityLateral", "VelocityLongitudinal" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GPSPositionType), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GPSPositionType.Parser, new[]{ "NoOfSatellites", "Precision", "Latitude", "Longitude", "Altitude" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType.Parser, new[]{ "VelocityCameraObject", "ConfidenceCameraObject", "CameraObjectListNumber", "Location", "Classification" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Cadm2SoftwareVersionType), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Cadm2SoftwareVersionType.Parser, new[]{ "Cadm2SoftwareVersionYear", "Cadm2SoftwareVersionWeek", "Cadm2SoftwareVersionPatch" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TrackedObjectType), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TrackedObjectType.Parser, new[]{ "TrackedObjectNumber", "Classification", "LocationTrackedObject", "VelocityTrackedObject", "ConfidenceTrackedObject", "CipvFlag" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FrontLongRangeCameraObjectType), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FrontLongRangeCameraObjectType.Parser, new[]{ "Resolution", "Image", "FileType" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.edrDeploymentImpactLocation), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.edrDeploymentImpactLocation.Parser, new[]{ "EARSRear", "EARSHighSeverityFront", "EARSLowSeverityFront", "EARSRollover", "EARSLeft", "EARSRight" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HMIReqToAudioAmp), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HMIReqToAudioAmp.Parser, new[]{ "ChimeRepRate", "RFChimeRqSts", "LFChimeRqSts", "RRChimeRqSts", "LRChimeRqSt", "ChimeTypSts", "ChimePriorty" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.l2pHMIReqToCluster_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.l2pHMIReqToCluster_Type.Parser, new[]{ "DisplayStsOFF", "DisplayStsACC", "DisplayStsVeh", "LaneDisplayStsLeftHAS", "LaneDisplayStsRightHAS", "HASTelltaleSts", "ACCSetSpeedStrike", "LaneDispPopupSts", "ACCDispPopupSts", "SVIRequest", "HASFailSts", "ACCFailSts", "NCCFailSts", "AEBFailSts", "HASBlind", "ACCLimited", "AEBLimited", "ACCLimitFail", "AEBLimitFail", "ACCBlind", "AEBBlind", "ICABlind", "DDDDispPopupSts" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnSignalSwitchStatus_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnSignalSwitchStatus_Type.Parser, new[]{ "TurnLeverLatched", "TurnIndicatorSts" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatus_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatus_Type.Parser, new[]{ "LowBeam", "HighBeam" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReq_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReq_Type.Parser, new[]{ "ACCEngineTorqueEnabled", "Enabled" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainTorqueReq_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainTorqueReq_Type.Parser, new[]{ "ACCEngineTorque", "ACCWheelTorque" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.LocHDMapCoordinateObjectType), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.LocHDMapCoordinateObjectType.Parser, new[]{ "Latitude", "Longitude" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HPPPolynomial_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HPPPolynomial_Type.Parser, new[]{ "A0", "A1", "A2", "A3", "StartRange", "EndRange" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type.Parser, new[]{ "A0", "A1", "A2", "A3", "StartRange", "EndRange", "QualityIndicator", "Confidence" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cameraLaneBorderPolynomialTerms_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cameraLaneBorderPolynomialTerms_Type.Parser, new[]{ "CurrentLane", "LeftLane", "RightLane" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cvpamFaultStatus_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cvpamFaultStatus_Type.Parser, new[]{ "PALaneDection", "PALeftSensor", "PAFrontSensor", "FrontSensorSts", "PARightSensor" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.dalmColorStatus_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.dalmColorStatus_Type.Parser, new[]{ "DalmRequest", "DalmRequestC2" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatus_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatus_Type.Parser, new[]{ "ACCSystemSts", "HASStatus", "HASTelltaleSts" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatusCadm2_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatusCadm2_Type.Parser, new[]{ "AccSystemStsCADM2", "HASStatus" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ReasonForDisengagement_Type), global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ReasonForDisengagement_Type.Parser, new[]{ "InvalidLaneDetection", "LookaheadDistanceLow", "InvalidLaneWidth", "RadiusOfCurvatureTooLow", "RoadwayUnsupported", "UnsupportedRoadwayAhead", "SpeedTooHigh", "ACCNotInCorrectState", "TurnSignalOn", "DriverOverrideCondition", "SystemOverrideCondition", "TemporaryFault", "PermanentFault", "CameraBlindness", "WipersTooFast", "PowertrainStateUnsupported", "OpStatDegraded", "MapOutdated", "SubscriptionExpired", "DriverInattentive", "HazardsApplied", "UnsupportedSplitDirection", "DriverHandsNotDetected", "TrailerDetected", "PoorRoadConditions", "LANECURVE", "AirSuspensionSettingUnsupported", "VehicleNotCentered", "VehicleHeadingMismatch", "LateralSuppressionTriggered", "FullSuppressionTriggered", "DriverInattentionSuppression", "LaneMarkerCrossed", "SteeringAuthorityReached", "DriverLateralOverride", "UnsupportedIgnitionStatus", "InsufficientPathConfidence", "DriverModelUnknown", "AEBNotAvail", "LogisticsModeInhibit", "GNMMError", "SWSMHandsOnDetectionError", "FeatureDeactivatedRemotely", "InvalidSwayBarSetting", "ProxiMismatch" }, null, null, null)}),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageRequest), global::Com.Fca.Uconnect.Global.DataLogMessageRequest.Parser, new[]{ "Ulin", "SequenceNumber" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataSetSignal), global::Com.Fca.Uconnect.Global.DataSetSignal.Parser, new[]{ "Int32Value", "Int64Value", "StringValue", "DoubleValue", "FloatValue", "BoolValue", "BytesValue", "UInt32Value", "UInt64Value", "SInt32Value", "SInt64Value", "Fixed32Value", "Fixed64Value", "SFixed32Value", "SFixed64Value", "SignalName", "SignalId", "Uom" }, new[]{ "SignalValue" }, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataLogMessageResponse), global::Com.Fca.Uconnect.Global.DataLogMessageResponse.Parser, new[]{ "Ulin", "DatalogSequence", "DatalogSequenceTotal", "DataLogMessageObj", "ResponseTyp" }, null, new[]{ typeof(global::Com.Fca.Uconnect.Global.DataLogMessageResponse.Types.DataLogResponseTypeEnum) }, null)
          }));
    }
    #endregion

  }
  #region Enums
  public enum SignalValueUOMEnum {
    [pbr::OriginalName("NA")] Na = 0,
    /// <summary>
    //// CENTIMETER
    /// </summary>
    [pbr::OriginalName("CENTIMETER")] Centimeter = 1,
    /// <summary>
    //// METER
    /// </summary>
    [pbr::OriginalName("METER")] Meter = 2,
    /// <summary>
    //// KILOMETER
    /// </summary>
    [pbr::OriginalName("KILOMETER")] Kilometer = 3,
    /// <summary>
    //// INCH
    /// </summary>
    [pbr::OriginalName("INCH")] Inch = 4,
    /// <summary>
    //// FOOT
    /// </summary>
    [pbr::OriginalName("FOOT")] Foot = 5,
    /// <summary>
    //// MILE
    /// </summary>
    [pbr::OriginalName("MILE")] Mile = 6,
    /// <summary>
    //// MILLILITER
    /// </summary>
    [pbr::OriginalName("MILLILITER")] Milliliter = 7,
    /// <summary>
    //// LITER
    /// </summary>
    [pbr::OriginalName("LITER")] Liter = 8,
    /// <summary>
    //// PINT
    /// </summary>
    [pbr::OriginalName("PINT")] Pint = 9,
    /// <summary>
    //// QUART
    /// </summary>
    [pbr::OriginalName("QUART")] Quart = 10,
    /// <summary>
    //// GALLON
    /// </summary>
    [pbr::OriginalName("GALLON")] Gallon = 11,
    /// <summary>
    //// RADIAN
    /// </summary>
    [pbr::OriginalName("RADIAN")] Radian = 12,
    /// <summary>
    //// DEGREE
    /// </summary>
    [pbr::OriginalName("DEGREE")] Degree = 13,
    /// <summary>
    //// SECOND
    /// </summary>
    [pbr::OriginalName("SECOND")] Second = 14,
    /// <summary>
    //// MINUTE
    /// </summary>
    [pbr::OriginalName("MINUTE")] Minute = 15,
    /// <summary>
    //// HOUR
    /// </summary>
    [pbr::OriginalName("HOUR")] Hour = 16,
    /// <summary>
    //// DAY
    /// </summary>
    [pbr::OriginalName("DAY")] Day = 17,
    /// <summary>
    //// YEAR
    /// </summary>
    [pbr::OriginalName("YEAR")] Year = 18,
    /// <summary>
    //// HERTZ
    /// </summary>
    [pbr::OriginalName("HERTZ")] Hertz = 19,
    /// <summary>
    //// RADIANS_PER_SECOND
    /// </summary>
    [pbr::OriginalName("RADIANS_PER_SECOND")] RadiansPerSecond = 20,
    /// <summary>
    //// DEGREES_PER_SECOND
    /// </summary>
    [pbr::OriginalName("DEGREES_PER_SECOND")] DegreesPerSecond = 21,
    /// <summary>
    //// DECIBEL
    /// </summary>
    [pbr::OriginalName("DECIBEL")] Decibel = 22,
    /// <summary>
    //// METERS_PER_SECOND
    /// </summary>
    [pbr::OriginalName("METERS_PER_SECOND")] MetersPerSecond = 23,
    /// <summary>
    //// KILOMETERS_PER_HOUR
    /// </summary>
    [pbr::OriginalName("KILOMETERS_PER_HOUR")] KilometersPerHour = 24,
    /// <summary>
    //// FEET_PER_SECOND
    /// </summary>
    [pbr::OriginalName("FEET_PER_SECOND")] FeetPerSecond = 25,
    /// <summary>
    //// MILES_PER_HOUR
    /// </summary>
    [pbr::OriginalName("MILES_PER_HOUR")] MilesPerHour = 26,
    /// <summary>
    //// GRAM
    /// </summary>
    [pbr::OriginalName("GRAM")] Gram = 27,
    /// <summary>
    //// KILOGRAM
    /// </summary>
    [pbr::OriginalName("KILOGRAM")] Kilogram = 28,
    /// <summary>
    //// OUNCE
    /// </summary>
    [pbr::OriginalName("OUNCE")] Ounce = 29,
    /// <summary>
    //// POUND
    /// </summary>
    [pbr::OriginalName("POUND")] Pound = 30,
    /// <summary>
    //// TON
    /// </summary>
    [pbr::OriginalName("TON")] Ton = 31,
    /// <summary>
    //// NEWTON
    /// </summary>
    [pbr::OriginalName("NEWTON")] Newton = 32,
    /// <summary>
    //// NEWTON_METER
    /// </summary>
    [pbr::OriginalName("NEWTON_METER")] NewtonMeter = 33,
    /// <summary>
    //// FOOT_POUND
    /// </summary>
    [pbr::OriginalName("FOOT_POUND")] FootPound = 34,
    /// <summary>
    //// JOULE
    /// </summary>
    [pbr::OriginalName("JOULE")] Joule = 35,
    /// <summary>
    //// WATT
    /// </summary>
    [pbr::OriginalName("WATT")] Watt = 36,
    /// <summary>
    //// KILOWATT
    /// </summary>
    [pbr::OriginalName("KILOWATT")] Kilowatt = 37,
    /// <summary>
    //// HORSEPOWER
    /// </summary>
    [pbr::OriginalName("HORSEPOWER")] Horsepower = 38,
    /// <summary>
    //// POUNDS_PER_SQUARE_INCH
    /// </summary>
    [pbr::OriginalName("POUNDS_PER_SQUARE_INCH")] PoundsPerSquareInch = 39,
    /// <summary>
    //// KELVIN
    /// </summary>
    [pbr::OriginalName("KELVIN")] Kelvin = 40,
    /// <summary>
    //// CENTIGRADE
    /// </summary>
    [pbr::OriginalName("CENTIGRADE")] Centigrade = 41,
    /// <summary>
    //// FAHRENHEIT
    /// </summary>
    [pbr::OriginalName("FAHRENHEIT")] Fahrenheit = 42,
    /// <summary>
    //// LUMEN
    /// </summary>
    [pbr::OriginalName("LUMEN")] Lumen = 43,
    /// <summary>
    //// AMPERE
    /// </summary>
    [pbr::OriginalName("AMPERE")] Ampere = 44,
    /// <summary>
    //// VOLT
    /// </summary>
    [pbr::OriginalName("VOLT")] Volt = 45,
    /// <summary>
    //// OHM
    /// </summary>
    [pbr::OriginalName("OHM")] Ohm = 46,
    /// <summary>
    //// KOHMS
    /// </summary>
    [pbr::OriginalName("KOHMS")] Kohms = 47,
    /// <summary>
    //// PERCENT
    /// </summary>
    [pbr::OriginalName("PERCENT")] Percent = 48,
    /// <summary>
    //// BARS
    /// </summary>
    [pbr::OriginalName("BARS")] Bars = 49,
    /// <summary>
    //// PSI_PER_BIT
    /// </summary>
    [pbr::OriginalName("PSI_PER_BIT")] PsiPerBit = 50,
    /// <summary>
    //// PULSE
    /// </summary>
    [pbr::OriginalName("PULSE")] Pulse = 51,
    /// <summary>
    //// KILOMETERS_PER_LITER
    /// </summary>
    [pbr::OriginalName("KILOMETERS_PER_LITER")] KilometersPerLiter = 52,
    /// <summary>
    //// MILES_PER_GALLON
    /// </summary>
    [pbr::OriginalName("MILES_PER_GALLON")] MilesPerGallon = 53,
    /// <summary>
    //// LITRES_PER_HOUR
    /// </summary>
    [pbr::OriginalName("LITRES_PER_HOUR")] LitresPerHour = 54,
    /// <summary>
    //// METERS_PER_SECOND_SECOND
    /// </summary>
    [pbr::OriginalName("METERS_PER_SECOND_SECOND")] MetersPerSecondSecond = 55,
    /// <summary>
    //// MILLIARCSECONDS
    /// </summary>
    [pbr::OriginalName("MILLIARCSECONDS")] Milliarcseconds = 56,
    /// <summary>
    //// MILLIMETER
    /// </summary>
    [pbr::OriginalName("MILLIMETER")] Millimeter = 57,
    /// <summary>
    //// FEET_PER_SECOND_SECOND
    /// </summary>
    [pbr::OriginalName("FEET_PER_SECOND_SECOND")] FeetPerSecondSecond = 58,
    /// <summary>
    //// REVOLUTION_PER_MINUTE
    /// </summary>
    [pbr::OriginalName("REVOLUTION_PER_MINUTE")] RevolutionPerMinute = 59,
  }

  #endregion

  #region Messages
  public sealed partial class PublishDataHeader : pb::IMessage<PublishDataHeader> {
    private static readonly pb::MessageParser<PublishDataHeader> _parser = new pb::MessageParser<PublishDataHeader>(() => new PublishDataHeader());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<PublishDataHeader> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtDataLoggerReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PublishDataHeader() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PublishDataHeader(PublishDataHeader other) : this() {
      ulin_ = other.ulin_;
      noOfTriggers_ = other.noOfTriggers_;
      lockingTrigger_ = other.lockingTrigger_;
      mapDatabaseVersion_ = other.mapDatabaseVersion_;
      vin_ = other.vin_;
      nextTrigger_ = other.nextTrigger_.Clone();
      CadmSWVersion = other.cadmSWVersion_ != null ? other.CadmSWVersion.Clone() : null;
      DbVersion = other.dbVersion_ != null ? other.DbVersion.Clone() : null;
      FirstTrigger = other.firstTrigger_ != null ? other.FirstTrigger.Clone() : null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PublishDataHeader Clone() {
      return new PublishDataHeader(this);
    }

    /// <summary>Field number for the "ulin" field.</summary>
    public const int UlinFieldNumber = 1;
    private string ulin_ = "";
    /// <summary>
    //// Ulin shall be assigned a 20 digit Unique Log Identification Number (ULIN) that consists of the CADM2 ECU Serial Number (12 or 14 digit F18C Traceability Number) followed by a 6 digit sequential number.  The sequential number shall be incremented with each data file stored over the life of the CADM2.   Modules that use a 12 digit traceability number shall pad their traceability number with two trailing ?-? (ASCII 0x2D)  to bring it up to the required 14 digits.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Ulin {
      get { return ulin_; }
      set {
        ulin_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "noOfTriggers" field.</summary>
    public const int NoOfTriggersFieldNumber = 2;
    private int noOfTriggers_;
    /// <summary>
    ////  Number of triggers in data file.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int NoOfTriggers {
      get { return noOfTriggers_; }
      set {
        noOfTriggers_ = value;
      }
    }

    /// <summary>Field number for the "lockingTrigger" field.</summary>
    public const int LockingTriggerFieldNumber = 3;
    private bool lockingTrigger_;
    /// <summary>
    //// Data File Contains Locking Trigger. DataLogMemoryFull.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool LockingTrigger {
      get { return lockingTrigger_; }
      set {
        lockingTrigger_ = value;
      }
    }

    /// <summary>Field number for the "mapDatabaseVersion" field.</summary>
    public const int MapDatabaseVersionFieldNumber = 4;
    private string mapDatabaseVersion_ = "";
    /// <summary>
    //// Map Database Version.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string MapDatabaseVersion {
      get { return mapDatabaseVersion_; }
      set {
        mapDatabaseVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "vin" field.</summary>
    public const int VinFieldNumber = 5;
    private string vin_ = "";
    /// <summary>
    ////  Vehicle Identification Number (VIN).
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Vin {
      get { return vin_; }
      set {
        vin_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "nextTrigger" field.</summary>
    public const int NextTriggerFieldNumber = 6;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType> _repeated_nextTrigger_codec
        = pb::FieldCodec.ForMessage(50, global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType> nextTrigger_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType>();
    /// <summary>
    //// Array of Trigger ids based on no. of Triggers in data file.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType> NextTrigger {
      get { return nextTrigger_; }
    }

    /// <summary>Field number for the "cadmSWVersion" field.</summary>
    public const int CadmSWVersionFieldNumber = 7;
    private global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.CadmSoftwareVersionType cadmSWVersion_;
    /// <summary>
    //// CADM Software Version Details.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.CadmSoftwareVersionType CadmSWVersion {
      get { return cadmSWVersion_; }
      set {
        cadmSWVersion_ = value;
      }
    }

    /// <summary>Field number for the "dbVersion" field.</summary>
    public const int DbVersionFieldNumber = 8;
    private global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.DatabaseVersionType dbVersion_;
    /// <summary>
    //// Data Log Database Version.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.DatabaseVersionType DbVersion {
      get { return dbVersion_; }
      set {
        dbVersion_ = value;
      }
    }

    /// <summary>Field number for the "firstTrigger" field.</summary>
    public const int FirstTriggerFieldNumber = 9;
    private global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType firstTrigger_;
    /// <summary>
    //// Trigger id of the First Trigger event fired.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType FirstTrigger {
      get { return firstTrigger_; }
      set {
        firstTrigger_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as PublishDataHeader);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PublishDataHeader other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Ulin != other.Ulin) return false;
      if (NoOfTriggers != other.NoOfTriggers) return false;
      if (LockingTrigger != other.LockingTrigger) return false;
      if (MapDatabaseVersion != other.MapDatabaseVersion) return false;
      if (Vin != other.Vin) return false;
      if(!nextTrigger_.Equals(other.nextTrigger_)) return false;
      if (!object.Equals(CadmSWVersion, other.CadmSWVersion)) return false;
      if (!object.Equals(DbVersion, other.DbVersion)) return false;
      if (!object.Equals(FirstTrigger, other.FirstTrigger)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Ulin.Length != 0) hash ^= Ulin.GetHashCode();
      if (NoOfTriggers != 0) hash ^= NoOfTriggers.GetHashCode();
      if (LockingTrigger != false) hash ^= LockingTrigger.GetHashCode();
      if (MapDatabaseVersion.Length != 0) hash ^= MapDatabaseVersion.GetHashCode();
      if (Vin.Length != 0) hash ^= Vin.GetHashCode();
      hash ^= nextTrigger_.GetHashCode();
      if (cadmSWVersion_ != null) hash ^= CadmSWVersion.GetHashCode();
      if (dbVersion_ != null) hash ^= DbVersion.GetHashCode();
      if (firstTrigger_ != null) hash ^= FirstTrigger.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Ulin.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Ulin);
      }
      if (NoOfTriggers != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(NoOfTriggers);
      }
      if (LockingTrigger != false) {
        output.WriteRawTag(24);
        output.WriteBool(LockingTrigger);
      }
      if (MapDatabaseVersion.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(MapDatabaseVersion);
      }
      if (Vin.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Vin);
      }
      nextTrigger_.WriteTo(output, _repeated_nextTrigger_codec);
      if (cadmSWVersion_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(CadmSWVersion);
      }
      if (dbVersion_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(DbVersion);
      }
      if (firstTrigger_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(FirstTrigger);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Ulin.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Ulin);
      }
      if (NoOfTriggers != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NoOfTriggers);
      }
      if (LockingTrigger != false) {
        size += 1 + 1;
      }
      if (MapDatabaseVersion.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MapDatabaseVersion);
      }
      if (Vin.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Vin);
      }
      size += nextTrigger_.CalculateSize(_repeated_nextTrigger_codec);
      if (cadmSWVersion_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CadmSWVersion);
      }
      if (dbVersion_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DbVersion);
      }
      if (firstTrigger_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(FirstTrigger);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(PublishDataHeader other) {
      if (other == null) {
        return;
      }
      if (other.Ulin.Length != 0) {
        Ulin = other.Ulin;
      }
      if (other.NoOfTriggers != 0) {
        NoOfTriggers = other.NoOfTriggers;
      }
      if (other.LockingTrigger != false) {
        LockingTrigger = other.LockingTrigger;
      }
      if (other.MapDatabaseVersion.Length != 0) {
        MapDatabaseVersion = other.MapDatabaseVersion;
      }
      if (other.Vin.Length != 0) {
        Vin = other.Vin;
      }
      nextTrigger_.Add(other.nextTrigger_);
      if (other.cadmSWVersion_ != null) {
        if (cadmSWVersion_ == null) {
          cadmSWVersion_ = new global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.CadmSoftwareVersionType();
        }
        CadmSWVersion.MergeFrom(other.CadmSWVersion);
      }
      if (other.dbVersion_ != null) {
        if (dbVersion_ == null) {
          dbVersion_ = new global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.DatabaseVersionType();
        }
        DbVersion.MergeFrom(other.DbVersion);
      }
      if (other.firstTrigger_ != null) {
        if (firstTrigger_ == null) {
          firstTrigger_ = new global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType();
        }
        FirstTrigger.MergeFrom(other.FirstTrigger);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            Ulin = input.ReadString();
            break;
          }
          case 16: {
            NoOfTriggers = input.ReadInt32();
            break;
          }
          case 24: {
            LockingTrigger = input.ReadBool();
            break;
          }
          case 34: {
            MapDatabaseVersion = input.ReadString();
            break;
          }
          case 42: {
            Vin = input.ReadString();
            break;
          }
          case 50: {
            nextTrigger_.AddEntriesFrom(input, _repeated_nextTrigger_codec);
            break;
          }
          case 58: {
            if (cadmSWVersion_ == null) {
              cadmSWVersion_ = new global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.CadmSoftwareVersionType();
            }
            input.ReadMessage(cadmSWVersion_);
            break;
          }
          case 66: {
            if (dbVersion_ == null) {
              dbVersion_ = new global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.DatabaseVersionType();
            }
            input.ReadMessage(dbVersion_);
            break;
          }
          case 74: {
            if (firstTrigger_ == null) {
              firstTrigger_ = new global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerInfoType();
            }
            input.ReadMessage(firstTrigger_);
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the PublishDataHeader message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      public enum TriggerIds {
        [pbr::OriginalName("DEFAULT")] Default = 0,
        /// <summary>
        //// Trigger fired when ADAS Minimum Risk Maneuver (MRM) Initiated
        /// </summary>
        [pbr::OriginalName("ADAS_MRM_Initiated")] AdasMrmInitiated = 1,
        /// <summary>
        //// Trigger Fired: ADAS Evasive Steering Event ((Steering Wheel Power (Rate * Torque) > 300 Nm deg/Sec for 100ms)
        /// </summary>
        [pbr::OriginalName("ADAS_Evasive_Steering_Event")] AdasEvasiveSteeringEvent = 2,
        /// <summary>
        //// Trigger Fired when Vehicle acceleration less than -6 m/s2 for 200 ms
        /// </summary>
        [pbr::OriginalName("Low_Vehicle_Acceleration")] LowVehicleAcceleration = 3,
        /// <summary>
        //// Trigger Fired when Driver manual throttle override in excess of 90% pedal travel for 200 ms.
        /// </summary>
        [pbr::OriginalName("Driver_Manual_Throttle_Override")] DriverManualThrottleOverride = 4,
        /// <summary>
        //// Trigger fired when Perception Layer error. Fused tracked object changes from Bicycle or pedestrian to Vehicle (Car,tuck, motorcycle) or Vehicle to Bicycle or pedestrian.
        /// </summary>
        [pbr::OriginalName("Perception_Layer_Error")] PerceptionLayerError = 5,
        /// <summary>
        //// Trigger Fired when "AEB Event Active (FCW, CMS, CMS-XTD, LSCM, PEB, EBA, ICA_L, ICA_R, AEB_P, AEB_P_Extended) OR FCW warning".
        /// </summary>
        [pbr::OriginalName("AEB_Event_Active_or_FCA_Warning")] AebEventActiveOrFcaWarning = 6,
        /// <summary>
        //// Trigger fired when L2Plus2B Steer Torque Command in excess of 95% of limit for 200 ms.
        /// </summary>
        [pbr::OriginalName("L2Plus2B_Steer_Torque_Command_Exceeded_Limit")] L2Plus2BSteerTorqueCommandExceededLimit = 7,
        /// <summary>
        //// Trigger Fired when CADM Fault transitions to Active.
        /// </summary>
        [pbr::OriginalName("CADM_Fault")] CadmFault = 8,
        /// <summary>
        //// Trigger Fired when CADM2 Fault transitions to Active.
        /// </summary>
        [pbr::OriginalName("CADM2_Fault")] Cadm2Fault = 9,
        /// <summary>
        //// Trigger fired when EPS Fault transitions to Active.
        /// </summary>
        [pbr::OriginalName("EPS_Fault")] EpsFault = 10,
        /// <summary>
        //// Trigger fired when BSM Fault transitions to Active.
        /// </summary>
        [pbr::OriginalName("BSM_Fault")] BsmFault = 11,
        /// <summary>
        //// Trigger fired when EPB Fault transitions to Active.
        /// </summary>
        [pbr::OriginalName("EPB_Fault")] EpbFault = 12,
        /// <summary>
        //// Trigger fires when DMSM Fault transitions to Active.
        /// </summary>
        [pbr::OriginalName("DMSM_Fault")] DmsmFault = 13,
        /// <summary>
        //// Trigger fires when ABS intervention transitions to active.
        /// </summary>
        [pbr::OriginalName("ABS_Intervention")] AbsIntervention = 14,
        /// <summary>
        //// Trigger fires when ESC intervention transitions to active.
        /// </summary>
        [pbr::OriginalName("ESC_Intervention")] EscIntervention = 15,
        /// <summary>
        //// Trigger fires when Maximum Lateral encroachment Threshold.
        /// </summary>
        [pbr::OriginalName("Maximum_Lateral_Encroachment_Threshold")] MaximumLateralEncroachmentThreshold = 16,
        /// <summary>
        //// Trigger fires when Highway Assist System Primary Fault transitions to Active.
        /// </summary>
        [pbr::OriginalName("Highway_Assist_System_Primary_Fault")] HighwayAssistSystemPrimaryFault = 17,
        /// <summary>
        //// Trigger fires when Highway Assist System Secondary Fault transitions to Active.
        /// </summary>
        [pbr::OriginalName("Highway_Assist_System_Secondary_Fault")] HighwayAssistSystemSecondaryFault = 18,
      }

      public sealed partial class TriggerInfoType : pb::IMessage<TriggerInfoType> {
        private static readonly pb::MessageParser<TriggerInfoType> _parser = new pb::MessageParser<TriggerInfoType>(() => new TriggerInfoType());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<TriggerInfoType> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.PublishDataHeader.Descriptor.NestedTypes[0]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public TriggerInfoType() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public TriggerInfoType(TriggerInfoType other) : this() {
          TriggerRelativeTime = other.triggerRelativeTime_ != null ? other.TriggerRelativeTime.Clone() : null;
          GpsLatitude = other.gpsLatitude_ != null ? other.GpsLatitude.Clone() : null;
          GpsLongitude = other.gpsLongitude_ != null ? other.GpsLongitude.Clone() : null;
          GpsAltitude = other.gpsAltitude_ != null ? other.GpsAltitude.Clone() : null;
          Odometer = other.odometer_ != null ? other.Odometer.Clone() : null;
          triggerID_ = other.triggerID_;
          GpsTime = other.gpsTime_ != null ? other.GpsTime.Clone() : null;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public TriggerInfoType Clone() {
          return new TriggerInfoType(this);
        }

        /// <summary>Field number for the "triggerRelativeTime" field.</summary>
        public const int TriggerRelativeTimeFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataSetSignal triggerRelativeTime_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal TriggerRelativeTime {
          get { return triggerRelativeTime_; }
          set {
            triggerRelativeTime_ = value;
          }
        }

        /// <summary>Field number for the "gpsLatitude" field.</summary>
        public const int GpsLatitudeFieldNumber = 3;
        private global::Com.Fca.Uconnect.Global.DataSetSignal gpsLatitude_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal GpsLatitude {
          get { return gpsLatitude_; }
          set {
            gpsLatitude_ = value;
          }
        }

        /// <summary>Field number for the "gpsLongitude" field.</summary>
        public const int GpsLongitudeFieldNumber = 4;
        private global::Com.Fca.Uconnect.Global.DataSetSignal gpsLongitude_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal GpsLongitude {
          get { return gpsLongitude_; }
          set {
            gpsLongitude_ = value;
          }
        }

        /// <summary>Field number for the "gpsAltitude" field.</summary>
        public const int GpsAltitudeFieldNumber = 5;
        private global::Com.Fca.Uconnect.Global.DataSetSignal gpsAltitude_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal GpsAltitude {
          get { return gpsAltitude_; }
          set {
            gpsAltitude_ = value;
          }
        }

        /// <summary>Field number for the "odometer" field.</summary>
        public const int OdometerFieldNumber = 6;
        private global::Com.Fca.Uconnect.Global.DataSetSignal odometer_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal Odometer {
          get { return odometer_; }
          set {
            odometer_ = value;
          }
        }

        /// <summary>Field number for the "triggerID" field.</summary>
        public const int TriggerIDFieldNumber = 7;
        private global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerIds triggerID_ = 0;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerIds TriggerID {
          get { return triggerID_; }
          set {
            triggerID_ = value;
          }
        }

        /// <summary>Field number for the "gpsTime" field.</summary>
        public const int GpsTimeFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.gpsTimeInfo gpsTime_;
        /// <summary>
        //// GPS Time
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.gpsTimeInfo GpsTime {
          get { return gpsTime_; }
          set {
            gpsTime_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as TriggerInfoType);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(TriggerInfoType other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (!object.Equals(TriggerRelativeTime, other.TriggerRelativeTime)) return false;
          if (!object.Equals(GpsLatitude, other.GpsLatitude)) return false;
          if (!object.Equals(GpsLongitude, other.GpsLongitude)) return false;
          if (!object.Equals(GpsAltitude, other.GpsAltitude)) return false;
          if (!object.Equals(Odometer, other.Odometer)) return false;
          if (TriggerID != other.TriggerID) return false;
          if (!object.Equals(GpsTime, other.GpsTime)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (triggerRelativeTime_ != null) hash ^= TriggerRelativeTime.GetHashCode();
          if (gpsLatitude_ != null) hash ^= GpsLatitude.GetHashCode();
          if (gpsLongitude_ != null) hash ^= GpsLongitude.GetHashCode();
          if (gpsAltitude_ != null) hash ^= GpsAltitude.GetHashCode();
          if (odometer_ != null) hash ^= Odometer.GetHashCode();
          if (TriggerID != 0) hash ^= TriggerID.GetHashCode();
          if (gpsTime_ != null) hash ^= GpsTime.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (gpsTime_ != null) {
            output.WriteRawTag(10);
            output.WriteMessage(GpsTime);
          }
          if (triggerRelativeTime_ != null) {
            output.WriteRawTag(18);
            output.WriteMessage(TriggerRelativeTime);
          }
          if (gpsLatitude_ != null) {
            output.WriteRawTag(26);
            output.WriteMessage(GpsLatitude);
          }
          if (gpsLongitude_ != null) {
            output.WriteRawTag(34);
            output.WriteMessage(GpsLongitude);
          }
          if (gpsAltitude_ != null) {
            output.WriteRawTag(42);
            output.WriteMessage(GpsAltitude);
          }
          if (odometer_ != null) {
            output.WriteRawTag(50);
            output.WriteMessage(Odometer);
          }
          if (TriggerID != 0) {
            output.WriteRawTag(56);
            output.WriteEnum((int) TriggerID);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (triggerRelativeTime_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(TriggerRelativeTime);
          }
          if (gpsLatitude_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(GpsLatitude);
          }
          if (gpsLongitude_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(GpsLongitude);
          }
          if (gpsAltitude_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(GpsAltitude);
          }
          if (odometer_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(Odometer);
          }
          if (TriggerID != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TriggerID);
          }
          if (gpsTime_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(GpsTime);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(TriggerInfoType other) {
          if (other == null) {
            return;
          }
          if (other.triggerRelativeTime_ != null) {
            if (triggerRelativeTime_ == null) {
              triggerRelativeTime_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            TriggerRelativeTime.MergeFrom(other.TriggerRelativeTime);
          }
          if (other.gpsLatitude_ != null) {
            if (gpsLatitude_ == null) {
              gpsLatitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            GpsLatitude.MergeFrom(other.GpsLatitude);
          }
          if (other.gpsLongitude_ != null) {
            if (gpsLongitude_ == null) {
              gpsLongitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            GpsLongitude.MergeFrom(other.GpsLongitude);
          }
          if (other.gpsAltitude_ != null) {
            if (gpsAltitude_ == null) {
              gpsAltitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            GpsAltitude.MergeFrom(other.GpsAltitude);
          }
          if (other.odometer_ != null) {
            if (odometer_ == null) {
              odometer_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            Odometer.MergeFrom(other.Odometer);
          }
          if (other.TriggerID != 0) {
            TriggerID = other.TriggerID;
          }
          if (other.gpsTime_ != null) {
            if (gpsTime_ == null) {
              gpsTime_ = new global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.gpsTimeInfo();
            }
            GpsTime.MergeFrom(other.GpsTime);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10: {
                if (gpsTime_ == null) {
                  gpsTime_ = new global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.gpsTimeInfo();
                }
                input.ReadMessage(gpsTime_);
                break;
              }
              case 18: {
                if (triggerRelativeTime_ == null) {
                  triggerRelativeTime_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(triggerRelativeTime_);
                break;
              }
              case 26: {
                if (gpsLatitude_ == null) {
                  gpsLatitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(gpsLatitude_);
                break;
              }
              case 34: {
                if (gpsLongitude_ == null) {
                  gpsLongitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(gpsLongitude_);
                break;
              }
              case 42: {
                if (gpsAltitude_ == null) {
                  gpsAltitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(gpsAltitude_);
                break;
              }
              case 50: {
                if (odometer_ == null) {
                  odometer_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(odometer_);
                break;
              }
              case 56: {
                triggerID_ = (global::Com.Fca.Uconnect.Global.PublishDataHeader.Types.TriggerIds) input.ReadEnum();
                break;
              }
            }
          }
        }

      }

      public sealed partial class CadmSoftwareVersionType : pb::IMessage<CadmSoftwareVersionType> {
        private static readonly pb::MessageParser<CadmSoftwareVersionType> _parser = new pb::MessageParser<CadmSoftwareVersionType>(() => new CadmSoftwareVersionType());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<CadmSoftwareVersionType> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.PublishDataHeader.Descriptor.NestedTypes[1]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public CadmSoftwareVersionType() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public CadmSoftwareVersionType(CadmSoftwareVersionType other) : this() {
          swVersionYear_ = other.swVersionYear_;
          swVersionWeek_ = other.swVersionWeek_;
          swVersionPatch_ = other.swVersionPatch_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public CadmSoftwareVersionType Clone() {
          return new CadmSoftwareVersionType(this);
        }

        /// <summary>Field number for the "swVersionYear" field.</summary>
        public const int SwVersionYearFieldNumber = 1;
        private int swVersionYear_;
        /// <summary>
        //// CADM Software Version (F151)Year.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int SwVersionYear {
          get { return swVersionYear_; }
          set {
            swVersionYear_ = value;
          }
        }

        /// <summary>Field number for the "swVersionWeek" field.</summary>
        public const int SwVersionWeekFieldNumber = 2;
        private int swVersionWeek_;
        /// <summary>
        //// CADM Software Version (F151) Week.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int SwVersionWeek {
          get { return swVersionWeek_; }
          set {
            swVersionWeek_ = value;
          }
        }

        /// <summary>Field number for the "swVersionPatch" field.</summary>
        public const int SwVersionPatchFieldNumber = 3;
        private int swVersionPatch_;
        /// <summary>
        //// CADM Software Version (F151) Patch.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int SwVersionPatch {
          get { return swVersionPatch_; }
          set {
            swVersionPatch_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as CadmSoftwareVersionType);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(CadmSoftwareVersionType other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (SwVersionYear != other.SwVersionYear) return false;
          if (SwVersionWeek != other.SwVersionWeek) return false;
          if (SwVersionPatch != other.SwVersionPatch) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (SwVersionYear != 0) hash ^= SwVersionYear.GetHashCode();
          if (SwVersionWeek != 0) hash ^= SwVersionWeek.GetHashCode();
          if (SwVersionPatch != 0) hash ^= SwVersionPatch.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (SwVersionYear != 0) {
            output.WriteRawTag(8);
            output.WriteInt32(SwVersionYear);
          }
          if (SwVersionWeek != 0) {
            output.WriteRawTag(16);
            output.WriteInt32(SwVersionWeek);
          }
          if (SwVersionPatch != 0) {
            output.WriteRawTag(24);
            output.WriteInt32(SwVersionPatch);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (SwVersionYear != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(SwVersionYear);
          }
          if (SwVersionWeek != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(SwVersionWeek);
          }
          if (SwVersionPatch != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(SwVersionPatch);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(CadmSoftwareVersionType other) {
          if (other == null) {
            return;
          }
          if (other.SwVersionYear != 0) {
            SwVersionYear = other.SwVersionYear;
          }
          if (other.SwVersionWeek != 0) {
            SwVersionWeek = other.SwVersionWeek;
          }
          if (other.SwVersionPatch != 0) {
            SwVersionPatch = other.SwVersionPatch;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                SwVersionYear = input.ReadInt32();
                break;
              }
              case 16: {
                SwVersionWeek = input.ReadInt32();
                break;
              }
              case 24: {
                SwVersionPatch = input.ReadInt32();
                break;
              }
            }
          }
        }

      }

      public sealed partial class DatabaseVersionType : pb::IMessage<DatabaseVersionType> {
        private static readonly pb::MessageParser<DatabaseVersionType> _parser = new pb::MessageParser<DatabaseVersionType>(() => new DatabaseVersionType());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<DatabaseVersionType> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.PublishDataHeader.Descriptor.NestedTypes[2]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public DatabaseVersionType() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public DatabaseVersionType(DatabaseVersionType other) : this() {
          dbVersionYear_ = other.dbVersionYear_;
          dbVersionWeek_ = other.dbVersionWeek_;
          dbVersionPatch_ = other.dbVersionPatch_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public DatabaseVersionType Clone() {
          return new DatabaseVersionType(this);
        }

        /// <summary>Field number for the "dbVersionYear" field.</summary>
        public const int DbVersionYearFieldNumber = 1;
        private int dbVersionYear_;
        /// <summary>
        //// Data Log Database Version Year.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int DbVersionYear {
          get { return dbVersionYear_; }
          set {
            dbVersionYear_ = value;
          }
        }

        /// <summary>Field number for the "dbVersionWeek" field.</summary>
        public const int DbVersionWeekFieldNumber = 2;
        private int dbVersionWeek_;
        /// <summary>
        //// Data Log Database Version Week.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int DbVersionWeek {
          get { return dbVersionWeek_; }
          set {
            dbVersionWeek_ = value;
          }
        }

        /// <summary>Field number for the "dbVersionPatch" field.</summary>
        public const int DbVersionPatchFieldNumber = 3;
        private int dbVersionPatch_;
        /// <summary>
        //// Data Log Database Version Patch.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int DbVersionPatch {
          get { return dbVersionPatch_; }
          set {
            dbVersionPatch_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as DatabaseVersionType);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(DatabaseVersionType other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (DbVersionYear != other.DbVersionYear) return false;
          if (DbVersionWeek != other.DbVersionWeek) return false;
          if (DbVersionPatch != other.DbVersionPatch) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (DbVersionYear != 0) hash ^= DbVersionYear.GetHashCode();
          if (DbVersionWeek != 0) hash ^= DbVersionWeek.GetHashCode();
          if (DbVersionPatch != 0) hash ^= DbVersionPatch.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (DbVersionYear != 0) {
            output.WriteRawTag(8);
            output.WriteInt32(DbVersionYear);
          }
          if (DbVersionWeek != 0) {
            output.WriteRawTag(16);
            output.WriteInt32(DbVersionWeek);
          }
          if (DbVersionPatch != 0) {
            output.WriteRawTag(24);
            output.WriteInt32(DbVersionPatch);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (DbVersionYear != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(DbVersionYear);
          }
          if (DbVersionWeek != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(DbVersionWeek);
          }
          if (DbVersionPatch != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(DbVersionPatch);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(DatabaseVersionType other) {
          if (other == null) {
            return;
          }
          if (other.DbVersionYear != 0) {
            DbVersionYear = other.DbVersionYear;
          }
          if (other.DbVersionWeek != 0) {
            DbVersionWeek = other.DbVersionWeek;
          }
          if (other.DbVersionPatch != 0) {
            DbVersionPatch = other.DbVersionPatch;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                DbVersionYear = input.ReadInt32();
                break;
              }
              case 16: {
                DbVersionWeek = input.ReadInt32();
                break;
              }
              case 24: {
                DbVersionPatch = input.ReadInt32();
                break;
              }
            }
          }
        }

      }

      public sealed partial class gpsTimeInfo : pb::IMessage<gpsTimeInfo> {
        private static readonly pb::MessageParser<gpsTimeInfo> _parser = new pb::MessageParser<gpsTimeInfo>(() => new gpsTimeInfo());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<gpsTimeInfo> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.PublishDataHeader.Descriptor.NestedTypes[3]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public gpsTimeInfo() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public gpsTimeInfo(gpsTimeInfo other) : this() {
          gpsYear_ = other.gpsYear_;
          gpsDay_ = other.gpsDay_;
          gpsHour_ = other.gpsHour_;
          gpsSec_ = other.gpsSec_;
          gpsMin_ = other.gpsMin_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public gpsTimeInfo Clone() {
          return new gpsTimeInfo(this);
        }

        /// <summary>Field number for the "gpsYear" field.</summary>
        public const int GpsYearFieldNumber = 1;
        private pb::ByteString gpsYear_ = pb::ByteString.Empty;
        /// <summary>
        //// Year of the gps time.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pb::ByteString GpsYear {
          get { return gpsYear_; }
          set {
            gpsYear_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
          }
        }

        /// <summary>Field number for the "gpsDay" field.</summary>
        public const int GpsDayFieldNumber = 2;
        private pb::ByteString gpsDay_ = pb::ByteString.Empty;
        /// <summary>
        //// Day of the gps time.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pb::ByteString GpsDay {
          get { return gpsDay_; }
          set {
            gpsDay_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
          }
        }

        /// <summary>Field number for the "gpsHour" field.</summary>
        public const int GpsHourFieldNumber = 3;
        private pb::ByteString gpsHour_ = pb::ByteString.Empty;
        /// <summary>
        //// Hour of the gps time.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pb::ByteString GpsHour {
          get { return gpsHour_; }
          set {
            gpsHour_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
          }
        }

        /// <summary>Field number for the "gpsSec" field.</summary>
        public const int GpsSecFieldNumber = 4;
        private pb::ByteString gpsSec_ = pb::ByteString.Empty;
        /// <summary>
        //// Seconds of the gps time.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pb::ByteString GpsSec {
          get { return gpsSec_; }
          set {
            gpsSec_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
          }
        }

        /// <summary>Field number for the "gpsMin" field.</summary>
        public const int GpsMinFieldNumber = 5;
        private pb::ByteString gpsMin_ = pb::ByteString.Empty;
        /// <summary>
        //// Minutes of the gps time.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pb::ByteString GpsMin {
          get { return gpsMin_; }
          set {
            gpsMin_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as gpsTimeInfo);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(gpsTimeInfo other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (GpsYear != other.GpsYear) return false;
          if (GpsDay != other.GpsDay) return false;
          if (GpsHour != other.GpsHour) return false;
          if (GpsSec != other.GpsSec) return false;
          if (GpsMin != other.GpsMin) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (GpsYear.Length != 0) hash ^= GpsYear.GetHashCode();
          if (GpsDay.Length != 0) hash ^= GpsDay.GetHashCode();
          if (GpsHour.Length != 0) hash ^= GpsHour.GetHashCode();
          if (GpsSec.Length != 0) hash ^= GpsSec.GetHashCode();
          if (GpsMin.Length != 0) hash ^= GpsMin.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (GpsYear.Length != 0) {
            output.WriteRawTag(10);
            output.WriteBytes(GpsYear);
          }
          if (GpsDay.Length != 0) {
            output.WriteRawTag(18);
            output.WriteBytes(GpsDay);
          }
          if (GpsHour.Length != 0) {
            output.WriteRawTag(26);
            output.WriteBytes(GpsHour);
          }
          if (GpsSec.Length != 0) {
            output.WriteRawTag(34);
            output.WriteBytes(GpsSec);
          }
          if (GpsMin.Length != 0) {
            output.WriteRawTag(42);
            output.WriteBytes(GpsMin);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (GpsYear.Length != 0) {
            size += 1 + pb::CodedOutputStream.ComputeBytesSize(GpsYear);
          }
          if (GpsDay.Length != 0) {
            size += 1 + pb::CodedOutputStream.ComputeBytesSize(GpsDay);
          }
          if (GpsHour.Length != 0) {
            size += 1 + pb::CodedOutputStream.ComputeBytesSize(GpsHour);
          }
          if (GpsSec.Length != 0) {
            size += 1 + pb::CodedOutputStream.ComputeBytesSize(GpsSec);
          }
          if (GpsMin.Length != 0) {
            size += 1 + pb::CodedOutputStream.ComputeBytesSize(GpsMin);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(gpsTimeInfo other) {
          if (other == null) {
            return;
          }
          if (other.GpsYear.Length != 0) {
            GpsYear = other.GpsYear;
          }
          if (other.GpsDay.Length != 0) {
            GpsDay = other.GpsDay;
          }
          if (other.GpsHour.Length != 0) {
            GpsHour = other.GpsHour;
          }
          if (other.GpsSec.Length != 0) {
            GpsSec = other.GpsSec;
          }
          if (other.GpsMin.Length != 0) {
            GpsMin = other.GpsMin;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10: {
                GpsYear = input.ReadBytes();
                break;
              }
              case 18: {
                GpsDay = input.ReadBytes();
                break;
              }
              case 26: {
                GpsHour = input.ReadBytes();
                break;
              }
              case 34: {
                GpsSec = input.ReadBytes();
                break;
              }
              case 42: {
                GpsMin = input.ReadBytes();
                break;
              }
            }
          }
        }

      }

    }
    #endregion

  }

  public sealed partial class DataLogMessageObject : pb::IMessage<DataLogMessageObject> {
    private static readonly pb::MessageParser<DataLogMessageObject> _parser = new pb::MessageParser<DataLogMessageObject>(() => new DataLogMessageObject());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<DataLogMessageObject> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtDataLoggerReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataLogMessageObject() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataLogMessageObject(DataLogMessageObject other) : this() {
      fusedLaneBoundaries_ = other.fusedLaneBoundaries_.Clone();
      reasonForDisengagement_ = other.reasonForDisengagement_.Clone();
      absActiveFlagBSM_ = other.absActiveFlagBSM_.Clone();
      absActiveFlagBSM2_ = other.absActiveFlagBSM2_.Clone();
      escActiveFlagBSM_ = other.escActiveFlagBSM_.Clone();
      hdMapCenterlineLateralDistance_ = other.hdMapCenterlineLateralDistance_.Clone();
      lrcfFaultStatus_ = other.lrcfFaultStatus_.Clone();
      lrrfFaultStatus_ = other.lrrfFaultStatus_.Clone();
      mrrflFaultStatus_ = other.mrrflFaultStatus_.Clone();
      mrrrlFaultStatus_ = other.mrrrlFaultStatus_.Clone();
      mrrfrFaultStatus_ = other.mrrfrFaultStatus_.Clone();
      mrrrrFaultStatus_ = other.mrrrrFaultStatus_.Clone();
      brakePrefillRequest_ = other.brakePrefillRequest_.Clone();
      prefillResponse_ = other.prefillResponse_.Clone();
      driverHeadPosition_ = other.driverHeadPosition_.Clone();
      hazardSwitchStatus_ = other.hazardSwitchStatus_.Clone();
      guidancePathLateralDistance_ = other.guidancePathLateralDistance_.Clone();
      seatVibrationReq_ = other.seatVibrationReq_.Clone();
      seatVibrationSts_ = other.seatVibrationSts_.Clone();
      wiperSwitchStatus_ = other.wiperSwitchStatus_.Clone();
      driverModelStatus_ = other.driverModelStatus_.Clone();
      fcwWarningStatus_ = other.fcwWarningStatus_.Clone();
      bsmFaultStatus_ = other.bsmFaultStatus_.Clone();
      bsm2FaultStatus_ = other.bsm2FaultStatus_.Clone();
      cadmFaultStatus_ = other.cadmFaultStatus_.Clone();
      cadm2FaultStatus_ = other.cadm2FaultStatus_.Clone();
      gnmmFaultStatus_ = other.gnmmFaultStatus_.Clone();
      dmsmFaultStatus_ = other.dmsmFaultStatus_.Clone();
      powertrainMILLampStatus_ = other.powertrainMILLampStatus_.Clone();
      swsmFaultStatus_ = other.swsmFaultStatus_.Clone();
      dalmFaultStatus_ = other.dalmFaultStatus_.Clone();
      adasOperatingStateCadm_ = other.adasOperatingStateCadm_.Clone();
      adasOperatingStateCadm2_ = other.adasOperatingStateCadm2_.Clone();
      mrmStateCadm_ = other.mrmStateCadm_.Clone();
      mrmStateCadm2_ = other.mrmStateCadm2_.Clone();
      torqueOverlayEngageReqEPSCadm_ = other.torqueOverlayEngageReqEPSCadm_.Clone();
      torqueOverlayEngageReqEPSCadm2_ = other.torqueOverlayEngageReqEPSCadm2_.Clone();
      powertrainInterfaceEngageReq_ = other.powertrainInterfaceEngageReq_.Clone();
      brakeDecelInterfaceEngageReqTypeCadm_ = other.brakeDecelInterfaceEngageReqTypeCadm_.Clone();
      brakeDecelInterfaceEngageReqTypeCadm2_ = other.brakeDecelInterfaceEngageReqTypeCadm2_.Clone();
      electronicParkBrakeStatus_ = other.electronicParkBrakeStatus_.Clone();
      steeringWheelHandsOnStatus_ = other.steeringWheelHandsOnStatus_.Clone();
      epsHandsOnStatusPrimary_ = other.epsHandsOnStatusPrimary_.Clone();
      epsHandsOnStatusSecondary_ = other.epsHandsOnStatusSecondary_.Clone();
      driverGazeLocation_ = other.driverGazeLocation_.Clone();
      prndlPosition_ = other.prndlPosition_.Clone();
      yawRateBSM_ = other.yawRateBSM_.Clone();
      yawRateGNMM_ = other.yawRateGNMM_.Clone();
      rfTirePressure_ = other.rfTirePressure_.Clone();
      lfTirePressure_ = other.lfTirePressure_.Clone();
      rrTirePressure_ = other.rrTirePressure_.Clone();
      lrTirePressure_ = other.lrTirePressure_.Clone();
      batteryVolt1_ = other.batteryVolt1_.Clone();
      batteryVolt2_ = other.batteryVolt2_.Clone();
      torqueRequestEPSCadm_ = other.torqueRequestEPSCadm_.Clone();
      torqueRequestEPSCadm2_ = other.torqueRequestEPSCadm2_.Clone();
      epsMotorTorqueFD14_ = other.epsMotorTorqueFD14_.Clone();
      epsMotorTorqueFD2_ = other.epsMotorTorqueFD2_.Clone();
      powertrainTorqueReq_ = other.powertrainTorqueReq_.Clone();
      powertrainOutputTorque_ = other.powertrainOutputTorque_.Clone();
      brakeDecelRequestCadm_ = other.brakeDecelRequestCadm_.Clone();
      brakeDecelRequestCadm2_ = other.brakeDecelRequestCadm2_.Clone();
      brakeTorqueAppliedBSM_ = other.brakeTorqueAppliedBSM_.Clone();
      brakeTorqueAppliedBSM2_ = other.brakeTorqueAppliedBSM2_.Clone();
      driverAppSteeringWheelTorquePrimary_ = other.driverAppSteeringWheelTorquePrimary_.Clone();
      driverAppSteeringWheelTorqueSecondary_ = other.driverAppSteeringWheelTorqueSecondary_.Clone();
      throttlePedalPosition_ = other.throttlePedalPosition_.Clone();
      externalAmbientTemp_ = other.externalAmbientTemp_.Clone();
      driverLongitudinalSetSpeed_ = other.driverLongitudinalSetSpeed_.Clone();
      systemTargetSpeed_ = other.systemTargetSpeed_.Clone();
      vehicleSpeed_ = other.vehicleSpeed_.Clone();
      steeringAnglePrimary_ = other.steeringAnglePrimary_.Clone();
      steeringAngleSecondary_ = other.steeringAngleSecondary_.Clone();
      lateralAccelerationBSM_ = other.lateralAccelerationBSM_.Clone();
      lateralAccelerationGNMM_ = other.lateralAccelerationGNMM_.Clone();
      longAccelerationBSM_ = other.longAccelerationBSM_.Clone();
      longAccelerationGNMM_ = other.longAccelerationGNMM_.Clone();
      frontLongRangeCameraImg_ = other.frontLongRangeCameraImg_.Clone();
      locHDMapCoordinate_ = other.locHDMapCoordinate_.Clone();
      trackedObjects_ = other.trackedObjects_.Clone();
      steeringAngleTypePrimary_ = other.steeringAngleTypePrimary_.Clone();
      steeringAngleTypeSecondary_ = other.steeringAngleTypeSecondary_.Clone();
      epsOverlayStateFD14_ = other.epsOverlayStateFD14_.Clone();
      epsOverlayStateFD2_ = other.epsOverlayStateFD2_.Clone();
      gpsPosition_ = other.gpsPosition_.Clone();
      cameraObjectList_ = other.cameraObjectList_.Clone();
      driverSeatBeltStatus_ = other.driverSeatBeltStatus_.Clone();
      driverDoorStatus_ = other.driverDoorStatus_.Clone();
      fcwPersonalizationSetting_ = other.fcwPersonalizationSetting_.Clone();
      headLightSwitchStatus_ = other.headLightSwitchStatus_.Clone();
      ignitionSwitchStatus_ = other.ignitionSwitchStatus_.Clone();
      edrDeploymentStatus_ = other.edrDeploymentStatus_.Clone();
      Cadm2SoftwareVersion = other.cadm2SoftwareVersion_ != null ? other.Cadm2SoftwareVersion.Clone() : null;
      cADM2ModeStatus_ = other.cADM2ModeStatus_.Clone();
      l2PHMIReqToAudioAmp_ = other.l2PHMIReqToAudioAmp_.Clone();
      l2PHMIReqToCluster_ = other.l2PHMIReqToCluster_.Clone();
      turnSignalSwitchStatus_ = other.turnSignalSwitchStatus_.Clone();
      dbsmInternalErrorSts_ = other.dbsmInternalErrorSts_.Clone();
      dbsmResponseErrorSts_ = other.dbsmResponseErrorSts_.Clone();
      dbsmOverCurrentDetectedSts_ = other.dbsmOverCurrentDetectedSts_.Clone();
      dbsmOverTemperatureDetectedSts_ = other.dbsmOverTemperatureDetectedSts_.Clone();
      dbsmSwitchStsOpenClose_ = other.dbsmSwitchStsOpenClose_.Clone();
      dbsmUndervoltageDetectedSts_ = other.dbsmUndervoltageDetectedSts_.Clone();
      headLightStatus_ = other.headLightStatus_.Clone();
      hppPolynomial_ = other.hppPolynomial_.Clone();
      cameraLaneBorderPolynomial_ = other.cameraLaneBorderPolynomial_.Clone();
      datalogTimestamp_ = other.datalogTimestamp_.Clone();
      verticalAccelerationGNMM_ = other.verticalAccelerationGNMM_.Clone();
      rollRateGNMM_ = other.rollRateGNMM_.Clone();
      pitchRateGNMM_ = other.pitchRateGNMM_.Clone();
      cvpamFaultStatus_ = other.cvpamFaultStatus_.Clone();
      dalmColorStatus_ = other.dalmColorStatus_.Clone();
      adasEngagedStatus_ = other.adasEngagedStatus_.Clone();
      adasEngagedStatusCadm2_ = other.adasEngagedStatusCadm2_.Clone();
      brakeJerkReq_ = other.brakeJerkReq_.Clone();
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataLogMessageObject Clone() {
      return new DataLogMessageObject(this);
    }

    /// <summary>Field number for the "fusedLaneBoundaries" field.</summary>
    public const int FusedLaneBoundariesFieldNumber = 3;
    private static readonly pb::FieldCodec<string> _repeated_fusedLaneBoundaries_codec
        = pb::FieldCodec.ForString(26);
    private readonly pbc::RepeatedField<string> fusedLaneBoundaries_ = new pbc::RepeatedField<string>();
    /// <summary>
    //// Fused Lane Boundaries: Polynomial terms of Fused Lane Boundaries used for path planning
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<string> FusedLaneBoundaries {
      get { return fusedLaneBoundaries_; }
    }

    /// <summary>Field number for the "reasonForDisengagement" field.</summary>
    public const int ReasonForDisengagementFieldNumber = 204;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ReasonForDisengagement_Type> _repeated_reasonForDisengagement_codec
        = pb::FieldCodec.ForMessage(1634, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ReasonForDisengagement_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ReasonForDisengagement_Type> reasonForDisengagement_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ReasonForDisengagement_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ReasonForDisengagement_Type> ReasonForDisengagement {
      get { return reasonForDisengagement_; }
    }

    /// <summary>Field number for the "absActiveFlag_BSM" field.</summary>
    public const int AbsActiveFlagBSMFieldNumber = 22;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> _repeated_absActiveFlagBSM_codec
        = pb::FieldCodec.ForEnum(178, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> absActiveFlagBSM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum>();
    /// <summary>
    //// ABS Intervention Active Flag in BSM. ABSActive.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> AbsActiveFlagBSM {
      get { return absActiveFlagBSM_; }
    }

    /// <summary>Field number for the "absActiveFlag_BSM2" field.</summary>
    public const int AbsActiveFlagBSM2FieldNumber = 23;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> _repeated_absActiveFlagBSM2_codec
        = pb::FieldCodec.ForEnum(186, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> absActiveFlagBSM2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum>();
    /// <summary>
    //// ABS Intervention Active Flag in BSM2. ABSActive_B2.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> AbsActiveFlagBSM2 {
      get { return absActiveFlagBSM2_; }
    }

    /// <summary>Field number for the "escActiveFlag_BSM" field.</summary>
    public const int EscActiveFlagBSMFieldNumber = 185;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> _repeated_escActiveFlagBSM_codec
        = pb::FieldCodec.ForEnum(1482, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> escActiveFlagBSM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum>();
    /// <summary>
    //// ESC Intervention Active Flag in BSM. ESCActive.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> EscActiveFlagBSM {
      get { return escActiveFlagBSM_; }
    }

    /// <summary>Field number for the "hdMapCenterline_lateralDistance" field.</summary>
    public const int HdMapCenterlineLateralDistanceFieldNumber = 229;
    private static readonly pb::FieldCodec<float> _repeated_hdMapCenterlineLateralDistance_codec
        = pb::FieldCodec.ForFloat(1834);
    private readonly pbc::RepeatedField<float> hdMapCenterlineLateralDistance_ = new pbc::RepeatedField<float>();
    /// <summary>
    //// float array of length 40
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<float> HdMapCenterlineLateralDistance {
      get { return hdMapCenterlineLateralDistance_; }
    }

    /// <summary>Field number for the "lrcfFaultStatus" field.</summary>
    public const int LrcfFaultStatusFieldNumber = 39;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> _repeated_lrcfFaultStatus_codec
        = pb::FieldCodec.ForEnum(314, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> lrcfFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum>();
    /// <summary>
    //// LRCF Fault Status in CADM. LRCF_C1.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> LrcfFaultStatus {
      get { return lrcfFaultStatus_; }
    }

    /// <summary>Field number for the "lrrfFaultStatus" field.</summary>
    public const int LrrfFaultStatusFieldNumber = 40;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> _repeated_lrrfFaultStatus_codec
        = pb::FieldCodec.ForEnum(322, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> lrrfFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum>();
    /// <summary>
    //// LRRF Fault Status in CADM. LRRF_C1.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> LrrfFaultStatus {
      get { return lrrfFaultStatus_; }
    }

    /// <summary>Field number for the "mrrflFaultStatus" field.</summary>
    public const int MrrflFaultStatusFieldNumber = 41;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> _repeated_mrrflFaultStatus_codec
        = pb::FieldCodec.ForEnum(330, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> mrrflFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum>();
    /// <summary>
    //// MRRFL Fault Status in CADM. MRRRL_Fault_C1.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> MrrflFaultStatus {
      get { return mrrflFaultStatus_; }
    }

    /// <summary>Field number for the "mrrrlFaultStatus" field.</summary>
    public const int MrrrlFaultStatusFieldNumber = 42;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> _repeated_mrrrlFaultStatus_codec
        = pb::FieldCodec.ForEnum(338, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> mrrrlFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum>();
    /// <summary>
    //// MRRRL Fault Status in CADM. MRRRL_Fault_C1.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> MrrrlFaultStatus {
      get { return mrrrlFaultStatus_; }
    }

    /// <summary>Field number for the "mrrfrFaultStatus" field.</summary>
    public const int MrrfrFaultStatusFieldNumber = 43;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> _repeated_mrrfrFaultStatus_codec
        = pb::FieldCodec.ForEnum(346, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> mrrfrFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum>();
    /// <summary>
    //// MRRFR Fault Status in CADM. MRRFR_Fault_C1.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> MrrfrFaultStatus {
      get { return mrrfrFaultStatus_; }
    }

    /// <summary>Field number for the "mrrrrFaultStatus" field.</summary>
    public const int MrrrrFaultStatusFieldNumber = 44;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> _repeated_mrrrrFaultStatus_codec
        = pb::FieldCodec.ForEnum(354, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> mrrrrFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum>();
    /// <summary>
    //// MRRRR Fault Status in CADM. MRRRR_Fault_C1.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FaultStatus_Enum> MrrrrFaultStatus {
      get { return mrrrrFaultStatus_; }
    }

    /// <summary>Field number for the "brakePrefillRequest" field.</summary>
    public const int BrakePrefillRequestFieldNumber = 71;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PrefillRequest_Enum> _repeated_brakePrefillRequest_codec
        = pb::FieldCodec.ForEnum(570, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PrefillRequest_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PrefillRequest_Enum> brakePrefillRequest_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PrefillRequest_Enum>();
    /// <summary>
    //// Brake Prefill Request in CADM. Prefill_Req.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PrefillRequest_Enum> BrakePrefillRequest {
      get { return brakePrefillRequest_; }
    }

    /// <summary>Field number for the "prefillResponse" field.</summary>
    public const int PrefillResponseFieldNumber = 72;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> _repeated_prefillResponse_codec
        = pb::FieldCodec.ForEnum(578, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> prefillResponse_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum>();
    /// <summary>
    //// Prefill Response. PrefillActive.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> PrefillResponse {
      get { return prefillResponse_; }
    }

    /// <summary>Field number for the "driverHeadPosition" field.</summary>
    public const int DriverHeadPositionFieldNumber = 92;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Present_Enum> _repeated_driverHeadPosition_codec
        = pb::FieldCodec.ForEnum(738, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Present_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Present_Enum> driverHeadPosition_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Present_Enum>();
    /// <summary>
    //// Driver Head Position. Driver_Presence.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Present_Enum> DriverHeadPosition {
      get { return driverHeadPosition_; }
    }

    /// <summary>Field number for the "hazardSwitchStatus" field.</summary>
    public const int HazardSwitchStatusFieldNumber = 94;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Set_Enum> _repeated_hazardSwitchStatus_codec
        = pb::FieldCodec.ForEnum(754, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Set_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Set_Enum> hazardSwitchStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Set_Enum>();
    /// <summary>
    //// Hazard Switch Status in BCM. HazardSwitchPresse.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Set_Enum> HazardSwitchStatus {
      get { return hazardSwitchStatus_; }
    }

    /// <summary>Field number for the "guidancePath_lateralDistance" field.</summary>
    public const int GuidancePathLateralDistanceFieldNumber = 103;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_guidancePathLateralDistance_codec
        = pb::FieldCodec.ForMessage(826, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> guidancePathLateralDistance_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// activePlannerBehaviour in CADM.  Array of length 41
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> GuidancePathLateralDistance {
      get { return guidancePathLateralDistance_; }
    }

    /// <summary>Field number for the "SeatVibration_Req" field.</summary>
    public const int SeatVibrationReqFieldNumber = 196;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Req_Enum> _repeated_seatVibrationReq_codec
        = pb::FieldCodec.ForEnum(1570, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Req_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Req_Enum> seatVibrationReq_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Req_Enum>();
    /// <summary>
    //// SeatVib_Req.Info Seat vibration status
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Req_Enum> SeatVibrationReq {
      get { return seatVibrationReq_; }
    }

    /// <summary>Field number for the "SeatVibration_Sts" field.</summary>
    public const int SeatVibrationStsFieldNumber = 197;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Sts_Enum> _repeated_seatVibrationSts_codec
        = pb::FieldCodec.ForEnum(1578, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Sts_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Sts_Enum> seatVibrationSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Sts_Enum>();
    /// <summary>
    //// BCM_FD_12.SeatVib_Sts. Seat vibration status
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SeatVib_Sts_Enum> SeatVibrationSts {
      get { return seatVibrationSts_; }
    }

    /// <summary>Field number for the "wiperSwitchStatus" field.</summary>
    public const int WiperSwitchStatusFieldNumber = 99;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.WiperSwitchStatus_Enum> _repeated_wiperSwitchStatus_codec
        = pb::FieldCodec.ForEnum(794, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.WiperSwitchStatus_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.WiperSwitchStatus_Enum> wiperSwitchStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.WiperSwitchStatus_Enum>();
    /// <summary>
    //// Wiper Switch Status in BCM. Wiper_Move.info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.WiperSwitchStatus_Enum> WiperSwitchStatus {
      get { return wiperSwitchStatus_; }
    }

    /// <summary>Field number for the "driverModelStatus" field.</summary>
    public const int DriverModelStatusFieldNumber = 7;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverModelStatusEnum> _repeated_driverModelStatus_codec
        = pb::FieldCodec.ForEnum(58, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverModelStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverModelStatusEnum> driverModelStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverModelStatusEnum>();
    /// <summary>
    //// Driver Model Status in CADM. Driver_Model.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverModelStatusEnum> DriverModelStatus {
      get { return driverModelStatus_; }
    }

    /// <summary>Field number for the "fcwWarningStatus" field.</summary>
    public const int FcwWarningStatusFieldNumber = 30;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWWarningStatusEnum> _repeated_fcwWarningStatus_codec
        = pb::FieldCodec.ForEnum(242, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWWarningStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWWarningStatusEnum> fcwWarningStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWWarningStatusEnum>();
    /// <summary>
    //// FCW Warning Status in CADM. AEB_DispPopupSts.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWWarningStatusEnum> FcwWarningStatus {
      get { return fcwWarningStatus_; }
    }

    /// <summary>Field number for the "bsmFaultStatus" field.</summary>
    public const int BsmFaultStatusFieldNumber = 31;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> _repeated_bsmFaultStatus_codec
        = pb::FieldCodec.ForEnum(250, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> bsmFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum>();
    /// <summary>
    //// BSM Fault Status in BSM. BSM_OpStat.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> BsmFaultStatus {
      get { return bsmFaultStatus_; }
    }

    /// <summary>Field number for the "bsm2FaultStatus" field.</summary>
    public const int Bsm2FaultStatusFieldNumber = 32;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> _repeated_bsm2FaultStatus_codec
        = pb::FieldCodec.ForEnum(258, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> bsm2FaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum>();
    /// <summary>
    //// BSM 2 Fault Status. BRAKE2_FD_2.Brake_OpStat
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> Bsm2FaultStatus {
      get { return bsm2FaultStatus_; }
    }

    /// <summary>Field number for the "cadmFaultStatus" field.</summary>
    public const int CadmFaultStatusFieldNumber = 34;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> _repeated_cadmFaultStatus_codec
        = pb::FieldCodec.ForEnum(274, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> cadmFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum>();
    /// <summary>
    //// CADM Fault Status in CADM. CADM_OpStat.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> CadmFaultStatus {
      get { return cadmFaultStatus_; }
    }

    /// <summary>Field number for the "cadm2FaultStatus" field.</summary>
    public const int Cadm2FaultStatusFieldNumber = 35;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> _repeated_cadm2FaultStatus_codec
        = pb::FieldCodec.ForEnum(282, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> cadm2FaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum>();
    /// <summary>
    //// CADM2 Fault Status in CADM2. CADM2_OpStat.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> Cadm2FaultStatus {
      get { return cadm2FaultStatus_; }
    }

    /// <summary>Field number for the "gnmmFaultStatus" field.</summary>
    public const int GnmmFaultStatusFieldNumber = 36;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GNMMFaultStatusEnum> _repeated_gnmmFaultStatus_codec
        = pb::FieldCodec.ForEnum(290, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GNMMFaultStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GNMMFaultStatusEnum> gnmmFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GNMMFaultStatusEnum>();
    /// <summary>
    //// GNMM Fault Status in GNMM. GNMM_Health.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GNMMFaultStatusEnum> GnmmFaultStatus {
      get { return gnmmFaultStatus_; }
    }

    /// <summary>Field number for the "dmsmFaultStatus" field.</summary>
    public const int DmsmFaultStatusFieldNumber = 37;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DMSMFaultStatusEnum> _repeated_dmsmFaultStatus_codec
        = pb::FieldCodec.ForEnum(298, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DMSMFaultStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DMSMFaultStatusEnum> dmsmFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DMSMFaultStatusEnum>();
    /// <summary>
    //// DMSM Fault Status in DMSM. DMSM_System_Stat.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DMSMFaultStatusEnum> DmsmFaultStatus {
      get { return dmsmFaultStatus_; }
    }

    /// <summary>Field number for the "powertrainMILLampStatus" field.</summary>
    public const int PowertrainMILLampStatusFieldNumber = 38;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EMSFailStatusEnum> _repeated_powertrainMILLampStatus_codec
        = pb::FieldCodec.ForEnum(306, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EMSFailStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EMSFailStatusEnum> powertrainMILLampStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EMSFailStatusEnum>();
    /// <summary>
    //// Powertrain MIL Lamp Status in ECM. EMSFailSts.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EMSFailStatusEnum> PowertrainMILLampStatus {
      get { return powertrainMILLampStatus_; }
    }

    /// <summary>Field number for the "swsmFaultStatus" field.</summary>
    public const int SwsmFaultStatusFieldNumber = 45;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SWSMFaultStatusEnum> _repeated_swsmFaultStatus_codec
        = pb::FieldCodec.ForEnum(362, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SWSMFaultStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SWSMFaultStatusEnum> swsmFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SWSMFaultStatusEnum>();
    /// <summary>
    //// SWSM Fault Status for Hands Off Status in SWSM. SWSM_1.ERR_ST_HOD
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SWSMFaultStatusEnum> SwsmFaultStatus {
      get { return swsmFaultStatus_; }
    }

    /// <summary>Field number for the "dalmFaultStatus" field.</summary>
    public const int DalmFaultStatusFieldNumber = 46;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.BCMFaultStatusEnum> _repeated_dalmFaultStatus_codec
        = pb::FieldCodec.ForEnum(370, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.BCMFaultStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.BCMFaultStatusEnum> dalmFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.BCMFaultStatusEnum>();
    /// <summary>
    //// DALM Fault Status in BCM. BCM_FD_12.DALM_Status
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.BCMFaultStatusEnum> DalmFaultStatus {
      get { return dalmFaultStatus_; }
    }

    /// <summary>Field number for the "adasOperatingState_Cadm" field.</summary>
    public const int AdasOperatingStateCadmFieldNumber = 51;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum> _repeated_adasOperatingStateCadm_codec
        = pb::FieldCodec.ForEnum(410, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum> adasOperatingStateCadm_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum>();
    /// <summary>
    /// repeated BCMFaultStatusEnum msbdFaultStatus = 48; /// MSBD Fault Status in BCM. BCM_FD_22.MSBD_Fault_Status
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum> AdasOperatingStateCadm {
      get { return adasOperatingStateCadm_; }
    }

    /// <summary>Field number for the "adasOperatingState_Cadm2" field.</summary>
    public const int AdasOperatingStateCadm2FieldNumber = 52;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum> _repeated_adasOperatingStateCadm2_codec
        = pb::FieldCodec.ForEnum(418, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum> adasOperatingStateCadm2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum>();
    /// <summary>
    //// ADAS Operating State in CADM2. HAS_Escalation_Sts_C2.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASEscalationStatusEnum> AdasOperatingStateCadm2 {
      get { return adasOperatingStateCadm2_; }
    }

    /// <summary>Field number for the "mrmState_Cadm" field.</summary>
    public const int MrmStateCadmFieldNumber = 53;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum> _repeated_mrmStateCadm_codec
        = pb::FieldCodec.ForEnum(426, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum> mrmStateCadm_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum>();
    /// <summary>
    //// MRM State in CADM. MRM_Status.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum> MrmStateCadm {
      get { return mrmStateCadm_; }
    }

    /// <summary>Field number for the "mrmState_Cadm2" field.</summary>
    public const int MrmStateCadm2FieldNumber = 54;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum> _repeated_mrmStateCadm2_codec
        = pb::FieldCodec.ForEnum(434, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum> mrmStateCadm2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum>();
    /// <summary>
    //// MRM State in CADM2. MRM_Status_C2.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.MRMStatusEnum> MrmStateCadm2 {
      get { return mrmStateCadm2_; }
    }

    /// <summary>Field number for the "torqueOverlayEngageReqEPS_Cadm" field.</summary>
    public const int TorqueOverlayEngageReqEPSCadmFieldNumber = 56;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum> _repeated_torqueOverlayEngageReqEPSCadm_codec
        = pb::FieldCodec.ForEnum(450, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum> torqueOverlayEngageReqEPSCadm_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum>();
    /// <summary>
    //// Torque Overlay Engage Request to EPS for CADM. HAS_LAT_CTRL_RequestSts.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum> TorqueOverlayEngageReqEPSCadm {
      get { return torqueOverlayEngageReqEPSCadm_; }
    }

    /// <summary>Field number for the "torqueOverlayEngageReqEPS_Cadm2" field.</summary>
    public const int TorqueOverlayEngageReqEPSCadm2FieldNumber = 58;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum> _repeated_torqueOverlayEngageReqEPSCadm2_codec
        = pb::FieldCodec.ForEnum(466, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum> torqueOverlayEngageReqEPSCadm2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum>();
    /// <summary>
    //// Torque Overlay Engage Request to EPS for CADM2. HAS_LAT_CTRL_RequestSts_C2.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HASLatCtrlRequestStatusEnum> TorqueOverlayEngageReqEPSCadm2 {
      get { return torqueOverlayEngageReqEPSCadm2_; }
    }

    /// <summary>Field number for the "powertrainInterfaceEngageReq" field.</summary>
    public const int PowertrainInterfaceEngageReqFieldNumber = 64;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReq_Type> _repeated_powertrainInterfaceEngageReq_codec
        = pb::FieldCodec.ForMessage(514, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReq_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReq_Type> powertrainInterfaceEngageReq_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReq_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReq_Type> PowertrainInterfaceEngageReq {
      get { return powertrainInterfaceEngageReq_; }
    }

    /// <summary>Field number for the "brakeDecelInterfaceEngageReqType_Cadm" field.</summary>
    public const int BrakeDecelInterfaceEngageReqTypeCadmFieldNumber = 67;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum> _repeated_brakeDecelInterfaceEngageReqTypeCadm_codec
        = pb::FieldCodec.ForEnum(538, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum> brakeDecelInterfaceEngageReqTypeCadm_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum>();
    /// <summary>
    //// Brake Decel Interface Engage Request Type in CADM. AEB_Type.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum> BrakeDecelInterfaceEngageReqTypeCadm {
      get { return brakeDecelInterfaceEngageReqTypeCadm_; }
    }

    /// <summary>Field number for the "brakeDecelInterfaceEngageReqType_Cadm2" field.</summary>
    public const int BrakeDecelInterfaceEngageReqTypeCadm2FieldNumber = 69;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum> _repeated_brakeDecelInterfaceEngageReqTypeCadm2_codec
        = pb::FieldCodec.ForEnum(554, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum> brakeDecelInterfaceEngageReqTypeCadm2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum>();
    /// <summary>
    //// Brake Decel Interface Engage Request Type in CADM2. AEB_Type_C2.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AEBTypeStatusEnum> BrakeDecelInterfaceEngageReqTypeCadm2 {
      get { return brakeDecelInterfaceEngageReqTypeCadm2_; }
    }

    /// <summary>Field number for the "electronicParkBrakeStatus" field.</summary>
    public const int ElectronicParkBrakeStatusFieldNumber = 75;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ElectronicParkBrakeStatusEnum> _repeated_electronicParkBrakeStatus_codec
        = pb::FieldCodec.ForEnum(602, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ElectronicParkBrakeStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ElectronicParkBrakeStatusEnum> electronicParkBrakeStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ElectronicParkBrakeStatusEnum>();
    /// <summary>
    //// Electronic Park Brake Status in BSM. EPBSts.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ElectronicParkBrakeStatusEnum> ElectronicParkBrakeStatus {
      get { return electronicParkBrakeStatus_; }
    }

    /// <summary>Field number for the "steeringWheelHandsOnStatus" field.</summary>
    public const int SteeringWheelHandsOnStatusFieldNumber = 85;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringWheelHandsOnStatusEnum> _repeated_steeringWheelHandsOnStatus_codec
        = pb::FieldCodec.ForEnum(682, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringWheelHandsOnStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringWheelHandsOnStatusEnum> steeringWheelHandsOnStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringWheelHandsOnStatusEnum>();
    /// <summary>
    //// Steering Wheel Hands On Status in SWSM. SWSM_1.HOFF_RCOG_SEN
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringWheelHandsOnStatusEnum> SteeringWheelHandsOnStatus {
      get { return steeringWheelHandsOnStatus_; }
    }

    /// <summary>Field number for the "epsHandsOnStatus_Primary" field.</summary>
    public const int EpsHandsOnStatusPrimaryFieldNumber = 86;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum> _repeated_epsHandsOnStatusPrimary_codec
        = pb::FieldCodec.ForEnum(690, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum> epsHandsOnStatusPrimary_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum>();
    /// <summary>
    //// EPS Hands On Status in EPS on FD-14. EPS_Hands_On_Sts.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum> EpsHandsOnStatusPrimary {
      get { return epsHandsOnStatusPrimary_; }
    }

    /// <summary>Field number for the "epsHandsOnStatus_Secondary" field.</summary>
    public const int EpsHandsOnStatusSecondaryFieldNumber = 87;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum> _repeated_epsHandsOnStatusSecondary_codec
        = pb::FieldCodec.ForEnum(698, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum> epsHandsOnStatusSecondary_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum>();
    /// <summary>
    //// EPS Hands On Status in EPS on FD-2. EPS_FD_1.EPS_Hands_On_Sts
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EPSHandsOnStatusEnum> EpsHandsOnStatusSecondary {
      get { return epsHandsOnStatusSecondary_; }
    }

    /// <summary>Field number for the "driverGazeLocation" field.</summary>
    public const int DriverGazeLocationFieldNumber = 93;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverGazeLocationEnum> _repeated_driverGazeLocation_codec
        = pb::FieldCodec.ForEnum(746, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverGazeLocationEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverGazeLocationEnum> driverGazeLocation_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverGazeLocationEnum>();
    /// <summary>
    //// Driver Gaze Location. DM_Zone_Track.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverGazeLocationEnum> DriverGazeLocation {
      get { return driverGazeLocation_; }
    }

    /// <summary>Field number for the "prndlPosition" field.</summary>
    public const int PrndlPositionFieldNumber = 95;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PRNDLPositionEnum> _repeated_prndlPosition_codec
        = pb::FieldCodec.ForEnum(762, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PRNDLPositionEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PRNDLPositionEnum> prndlPosition_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PRNDLPositionEnum>();
    /// <summary>
    //// PRNDL Position in TCM. GearEngaged.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PRNDLPositionEnum> PrndlPosition {
      get { return prndlPosition_; }
    }

    /// <summary>Field number for the "yawRate_BSM" field.</summary>
    public const int YawRateBSMFieldNumber = 18;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_yawRateBSM_codec
        = pb::FieldCodec.ForMessage(146, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> yawRateBSM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Yaw Rate in BSM. YawRate_BSM.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> YawRateBSM {
      get { return yawRateBSM_; }
    }

    /// <summary>Field number for the "yawRate_GNMM" field.</summary>
    public const int YawRateGNMMFieldNumber = 19;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_yawRateGNMM_codec
        = pb::FieldCodec.ForMessage(154, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> yawRateGNMM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Yaw Rate in GNMM. YawRate_GNMM.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> YawRateGNMM {
      get { return yawRateGNMM_; }
    }

    /// <summary>Field number for the "rfTirePressure" field.</summary>
    public const int RfTirePressureFieldNumber = 24;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_rfTirePressure_codec
        = pb::FieldCodec.ForMessage(194, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> rfTirePressure_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// RF Tire Pressure in RF_HUB. PressureValue_RHF_Tyre.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> RfTirePressure {
      get { return rfTirePressure_; }
    }

    /// <summary>Field number for the "lfTirePressure" field.</summary>
    public const int LfTirePressureFieldNumber = 25;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_lfTirePressure_codec
        = pb::FieldCodec.ForMessage(202, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> lfTirePressure_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// LF Tire Pressure in RF_HUB. PressureValue_LHF_Tyre.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> LfTirePressure {
      get { return lfTirePressure_; }
    }

    /// <summary>Field number for the "rrTirePressure" field.</summary>
    public const int RrTirePressureFieldNumber = 26;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_rrTirePressure_codec
        = pb::FieldCodec.ForMessage(210, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> rrTirePressure_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// RR Tire Pressure in RF_HUB. PressureValue_RHR_Tyre.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> RrTirePressure {
      get { return rrTirePressure_; }
    }

    /// <summary>Field number for the "lrTirePressure" field.</summary>
    public const int LrTirePressureFieldNumber = 27;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_lrTirePressure_codec
        = pb::FieldCodec.ForMessage(218, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> lrTirePressure_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// LR Tire Pressure in RF_HUB. PressureValue_LHR_Tyre.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> LrTirePressure {
      get { return lrTirePressure_; }
    }

    /// <summary>Field number for the "batteryVolt1" field.</summary>
    public const int BatteryVolt1FieldNumber = 28;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_batteryVolt1_codec
        = pb::FieldCodec.ForMessage(226, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> batteryVolt1_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Battery Voltage 1 in BCM. BCM_FD_3.Battery_Volt_1
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> BatteryVolt1 {
      get { return batteryVolt1_; }
    }

    /// <summary>Field number for the "batteryVolt2" field.</summary>
    public const int BatteryVolt2FieldNumber = 29;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_batteryVolt2_codec
        = pb::FieldCodec.ForMessage(234, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> batteryVolt2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Battery Voltage 2 in BCM. BCM_FD_3.Battery_Volt_2
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> BatteryVolt2 {
      get { return batteryVolt2_; }
    }

    /// <summary>Field number for the "torqueRequestEPS_Cadm" field.</summary>
    public const int TorqueRequestEPSCadmFieldNumber = 57;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_torqueRequestEPSCadm_codec
        = pb::FieldCodec.ForMessage(458, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> torqueRequestEPSCadm_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Torque Request to EPS for CADM. TorqueOverlaySteeringReq.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> TorqueRequestEPSCadm {
      get { return torqueRequestEPSCadm_; }
    }

    /// <summary>Field number for the "torqueRequestEPS_Cadm2" field.</summary>
    public const int TorqueRequestEPSCadm2FieldNumber = 59;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_torqueRequestEPSCadm2_codec
        = pb::FieldCodec.ForMessage(474, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> torqueRequestEPSCadm2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Torque Request to EPS for CADM. TorqueOverlaySteeringReq.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> TorqueRequestEPSCadm2 {
      get { return torqueRequestEPSCadm2_; }
    }

    /// <summary>Field number for the "epsMotorTorque_FD14" field.</summary>
    public const int EpsMotorTorqueFD14FieldNumber = 62;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_epsMotorTorqueFD14_codec
        = pb::FieldCodec.ForMessage(498, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> epsMotorTorqueFD14_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// EPS FD-14 Motor Torque in EPS. EPSMotorTorque.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> EpsMotorTorqueFD14 {
      get { return epsMotorTorqueFD14_; }
    }

    /// <summary>Field number for the "epsMotorTorque_FD2" field.</summary>
    public const int EpsMotorTorqueFD2FieldNumber = 63;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_epsMotorTorqueFD2_codec
        = pb::FieldCodec.ForMessage(506, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> epsMotorTorqueFD2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// EPS FD-2 Motor Torque in EPS. EPS_FD_1.EPSMotorTorque
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> EpsMotorTorqueFD2 {
      get { return epsMotorTorqueFD2_; }
    }

    /// <summary>Field number for the "powertrainTorqueReq" field.</summary>
    public const int PowertrainTorqueReqFieldNumber = 65;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainTorqueReq_Type> _repeated_powertrainTorqueReq_codec
        = pb::FieldCodec.ForMessage(522, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainTorqueReq_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainTorqueReq_Type> powertrainTorqueReq_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainTorqueReq_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainTorqueReq_Type> PowertrainTorqueReq {
      get { return powertrainTorqueReq_; }
    }

    /// <summary>Field number for the "powertrainOutputTorque" field.</summary>
    public const int PowertrainOutputTorqueFieldNumber = 66;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_powertrainOutputTorque_codec
        = pb::FieldCodec.ForMessage(530, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> powertrainOutputTorque_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Powertrain Output Torque in ECM/HCP. SumTorqueStatic.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> PowertrainOutputTorque {
      get { return powertrainOutputTorque_; }
    }

    /// <summary>Field number for the "brakeDecelRequest_Cadm" field.</summary>
    public const int BrakeDecelRequestCadmFieldNumber = 68;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_brakeDecelRequestCadm_codec
        = pb::FieldCodec.ForMessage(546, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> brakeDecelRequestCadm_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Brake Decel Request in CADM. Intervention.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> BrakeDecelRequestCadm {
      get { return brakeDecelRequestCadm_; }
    }

    /// <summary>Field number for the "brakeDecelRequest_Cadm2" field.</summary>
    public const int BrakeDecelRequestCadm2FieldNumber = 70;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_brakeDecelRequestCadm2_codec
        = pb::FieldCodec.ForMessage(562, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> brakeDecelRequestCadm2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Brake Decel Request in CADM2 Intervention_C2.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> BrakeDecelRequestCadm2 {
      get { return brakeDecelRequestCadm2_; }
    }

    /// <summary>Field number for the "brakeTorqueApplied_BSM" field.</summary>
    public const int BrakeTorqueAppliedBSMFieldNumber = 73;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_brakeTorqueAppliedBSM_codec
        = pb::FieldCodec.ForMessage(586, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> brakeTorqueAppliedBSM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Brake Torque Applied in BSM. BrkTrq.info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> BrakeTorqueAppliedBSM {
      get { return brakeTorqueAppliedBSM_; }
    }

    /// <summary>Field number for the "brakeTorqueApplied_BSM2" field.</summary>
    public const int BrakeTorqueAppliedBSM2FieldNumber = 74;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_brakeTorqueAppliedBSM2_codec
        = pb::FieldCodec.ForMessage(594, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> brakeTorqueAppliedBSM2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Brake Torque Applied in BSM2. BRAKE2_FD_2.BrkTrq_B2
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> BrakeTorqueAppliedBSM2 {
      get { return brakeTorqueAppliedBSM2_; }
    }

    /// <summary>Field number for the "driverAppSteeringWheelTorque_Primary" field.</summary>
    public const int DriverAppSteeringWheelTorquePrimaryFieldNumber = 82;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_driverAppSteeringWheelTorquePrimary_codec
        = pb::FieldCodec.ForMessage(658, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> driverAppSteeringWheelTorquePrimary_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Driver Applied Steering Wheel Torque in EPS on FD-14. Steering_Column_Torque.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> DriverAppSteeringWheelTorquePrimary {
      get { return driverAppSteeringWheelTorquePrimary_; }
    }

    /// <summary>Field number for the "driverAppSteeringWheelTorque_Secondary" field.</summary>
    public const int DriverAppSteeringWheelTorqueSecondaryFieldNumber = 83;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_driverAppSteeringWheelTorqueSecondary_codec
        = pb::FieldCodec.ForMessage(666, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> driverAppSteeringWheelTorqueSecondary_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Driver Applied Steering Wheel Torque in EPS FD-2. EPS_FD_1.Steering_Column_Torque
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> DriverAppSteeringWheelTorqueSecondary {
      get { return driverAppSteeringWheelTorqueSecondary_; }
    }

    /// <summary>Field number for the "throttlePedalPosition" field.</summary>
    public const int ThrottlePedalPositionFieldNumber = 84;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_throttlePedalPosition_codec
        = pb::FieldCodec.ForMessage(674, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> throttlePedalPosition_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Throttle Pedal Position in ECM. PdlPosActual.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> ThrottlePedalPosition {
      get { return throttlePedalPosition_; }
    }

    /// <summary>Field number for the "externalAmbientTemp" field.</summary>
    public const int ExternalAmbientTempFieldNumber = 91;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_externalAmbientTemp_codec
        = pb::FieldCodec.ForMessage(730, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> externalAmbientTemp_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// External Ambient Temperature in BCM. BCM_FD_10.ExternalTemperatureC
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> ExternalAmbientTemp {
      get { return externalAmbientTemp_; }
    }

    /// <summary>Field number for the "driverLongitudinalSetSpeed" field.</summary>
    public const int DriverLongitudinalSetSpeedFieldNumber = 5;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_driverLongitudinalSetSpeed_codec
        = pb::FieldCodec.ForMessage(42, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> driverLongitudinalSetSpeed_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Driver Longitudinal Set Speed in CADM. Set_Speed_KPH.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> DriverLongitudinalSetSpeed {
      get { return driverLongitudinalSetSpeed_; }
    }

    /// <summary>Field number for the "systemTargetSpeed" field.</summary>
    public const int SystemTargetSpeedFieldNumber = 6;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_systemTargetSpeed_codec
        = pb::FieldCodec.ForMessage(50, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> systemTargetSpeed_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// System Target Speed (kph or mph). ACC_DsrSpeedKPH.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> SystemTargetSpeed {
      get { return systemTargetSpeed_; }
    }

    /// <summary>Field number for the "vehicleSpeed" field.</summary>
    public const int VehicleSpeedFieldNumber = 8;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_vehicleSpeed_codec
        = pb::FieldCodec.ForMessage(66, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> vehicleSpeed_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Vehicle Speed (kph or mph) in BSM. VehicleSpeedVSOSig.info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> VehicleSpeed {
      get { return vehicleSpeed_; }
    }

    /// <summary>Field number for the "steeringAngle_Primary" field.</summary>
    public const int SteeringAnglePrimaryFieldNumber = 9;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_steeringAnglePrimary_codec
        = pb::FieldCodec.ForMessage(74, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> steeringAnglePrimary_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Steering Angle in EPS on FD-14. LwsAngle.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> SteeringAnglePrimary {
      get { return steeringAnglePrimary_; }
    }

    /// <summary>Field number for the "steeringAngle_Secondary" field.</summary>
    public const int SteeringAngleSecondaryFieldNumber = 11;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_steeringAngleSecondary_codec
        = pb::FieldCodec.ForMessage(90, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> steeringAngleSecondary_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Steering Angle  in EPS on FD 2. EPS_FD_1.LwsAngle
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> SteeringAngleSecondary {
      get { return steeringAngleSecondary_; }
    }

    /// <summary>Field number for the "lateralAcceleration_BSM" field.</summary>
    public const int LateralAccelerationBSMFieldNumber = 13;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_lateralAccelerationBSM_codec
        = pb::FieldCodec.ForMessage(106, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> lateralAccelerationBSM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Lateral Acceleration (m/s2) in BSM. LatAcceleration_BSM.info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> LateralAccelerationBSM {
      get { return lateralAccelerationBSM_; }
    }

    /// <summary>Field number for the "lateralAcceleration_GNMM" field.</summary>
    public const int LateralAccelerationGNMMFieldNumber = 14;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_lateralAccelerationGNMM_codec
        = pb::FieldCodec.ForMessage(114, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> lateralAccelerationGNMM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Lateral Acceleration (m/s2) in GNMM. LateralAcceleration_GNMM.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> LateralAccelerationGNMM {
      get { return lateralAccelerationGNMM_; }
    }

    /// <summary>Field number for the "longAcceleration_BSM" field.</summary>
    public const int LongAccelerationBSMFieldNumber = 15;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_longAccelerationBSM_codec
        = pb::FieldCodec.ForMessage(122, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> longAccelerationBSM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Longitudinal Acceleration (m/s2) in BSM. LongAcceleration_BSM.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> LongAccelerationBSM {
      get { return longAccelerationBSM_; }
    }

    /// <summary>Field number for the "longAcceleration_GNMM" field.</summary>
    public const int LongAccelerationGNMMFieldNumber = 16;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_longAccelerationGNMM_codec
        = pb::FieldCodec.ForMessage(130, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> longAccelerationGNMM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Longitudinal Acceleration (m/s2) in GNMM LongitudinalAcceleration_GNMM.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> LongAccelerationGNMM {
      get { return longAccelerationGNMM_; }
    }

    /// <summary>Field number for the "frontLongRangeCameraImg" field.</summary>
    public const int FrontLongRangeCameraImgFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FrontLongRangeCameraObjectType> _repeated_frontLongRangeCameraImg_codec
        = pb::FieldCodec.ForMessage(10, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FrontLongRangeCameraObjectType.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FrontLongRangeCameraObjectType> frontLongRangeCameraImg_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FrontLongRangeCameraObjectType>();
    /// <summary>
    //// Front Long Range Camera Image. 320 x 240 8 bit Grayscale
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FrontLongRangeCameraObjectType> FrontLongRangeCameraImg {
      get { return frontLongRangeCameraImg_; }
    }

    /// <summary>Field number for the "locHDMapCoordinate" field.</summary>
    public const int LocHDMapCoordinateFieldNumber = 4;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.LocHDMapCoordinateObjectType> _repeated_locHDMapCoordinate_codec
        = pb::FieldCodec.ForMessage(34, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.LocHDMapCoordinateObjectType.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.LocHDMapCoordinateObjectType> locHDMapCoordinate_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.LocHDMapCoordinateObjectType>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.LocHDMapCoordinateObjectType> LocHDMapCoordinate {
      get { return locHDMapCoordinate_; }
    }

    /// <summary>Field number for the "trackedObjects" field.</summary>
    public const int TrackedObjectsFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TrackedObjectType> _repeated_trackedObjects_codec
        = pb::FieldCodec.ForMessage(18, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TrackedObjectType.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TrackedObjectType> trackedObjects_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TrackedObjectType>();
    /// <summary>
    //// Tracked Object List in CADM.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TrackedObjectType> TrackedObjects {
      get { return trackedObjects_; }
    }

    /// <summary>Field number for the "steeringAngleType_Primary" field.</summary>
    public const int SteeringAngleTypePrimaryFieldNumber = 10;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum> _repeated_steeringAngleTypePrimary_codec
        = pb::FieldCodec.ForEnum(82, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum> steeringAngleTypePrimary_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum>();
    /// <summary>
    //// Steering Angle Type in EPS on FD-14. LwsAngleType.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum> SteeringAngleTypePrimary {
      get { return steeringAngleTypePrimary_; }
    }

    /// <summary>Field number for the "steeringAngleType_Secondary" field.</summary>
    public const int SteeringAngleTypeSecondaryFieldNumber = 12;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum> _repeated_steeringAngleTypeSecondary_codec
        = pb::FieldCodec.ForEnum(98, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum> steeringAngleTypeSecondary_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum>();
    /// <summary>
    //// Steering Angle Type in EPS on FD-2. EPS_FD_1.LwsAngleType
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SteeringAngleTypeEnum> SteeringAngleTypeSecondary {
      get { return steeringAngleTypeSecondary_; }
    }

    /// <summary>Field number for the "epsOverlayState_FD14" field.</summary>
    public const int EpsOverlayStateFD14FieldNumber = 60;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> _repeated_epsOverlayStateFD14_codec
        = pb::FieldCodec.ForEnum(482, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> epsOverlayStateFD14_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum>();
    /// <summary>
    //// EPS Overlay State (FD-14) EPS Fault Status in EPS. Steering_OpStat_Prim.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> EpsOverlayStateFD14 {
      get { return epsOverlayStateFD14_; }
    }

    /// <summary>Field number for the "epsOverlayState_FD2" field.</summary>
    public const int EpsOverlayStateFD2FieldNumber = 61;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> _repeated_epsOverlayStateFD2_codec
        = pb::FieldCodec.ForEnum(490, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> epsOverlayStateFD2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum>();
    /// <summary>
    //// EPS Overlay State (FD-2) EPS Fault Status in EPS. EPS_FD_1.Steering_OpStat_Sec
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.OpStatusEnum> EpsOverlayStateFD2 {
      get { return epsOverlayStateFD2_; }
    }

    /// <summary>Field number for the "gpsPosition" field.</summary>
    public const int GpsPositionFieldNumber = 77;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GPSPositionType> _repeated_gpsPosition_codec
        = pb::FieldCodec.ForMessage(618, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GPSPositionType.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GPSPositionType> gpsPosition_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GPSPositionType>();
    /// <summary>
    //// GPS Position in GNMM
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.GPSPositionType> GpsPosition {
      get { return gpsPosition_; }
    }

    /// <summary>Field number for the "cameraObjectList" field.</summary>
    public const int CameraObjectListFieldNumber = 78;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType> _repeated_cameraObjectList_codec
        = pb::FieldCodec.ForMessage(626, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType> cameraObjectList_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType>();
    /// <summary>
    //// Camera Object List defined by cameraObjectType
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType> CameraObjectList {
      get { return cameraObjectList_; }
    }

    /// <summary>Field number for the "driverSeatBeltStatus" field.</summary>
    public const int DriverSeatBeltStatusFieldNumber = 89;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverSeatBeltStatusEnum> _repeated_driverSeatBeltStatus_codec
        = pb::FieldCodec.ForEnum(714, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverSeatBeltStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverSeatBeltStatusEnum> driverSeatBeltStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverSeatBeltStatusEnum>();
    /// <summary>
    //// Driver Seat Belt Status in ORC. SBR1RowDriverSeatSts.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverSeatBeltStatusEnum> DriverSeatBeltStatus {
      get { return driverSeatBeltStatus_; }
    }

    /// <summary>Field number for the "driverDoorStatus" field.</summary>
    public const int DriverDoorStatusFieldNumber = 90;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverDoorStatusEnum> _repeated_driverDoorStatus_codec
        = pb::FieldCodec.ForEnum(722, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverDoorStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverDoorStatusEnum> driverDoorStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverDoorStatusEnum>();
    /// <summary>
    //// Driver Door Status in BCM. DriverDoorSts.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DriverDoorStatusEnum> DriverDoorStatus {
      get { return driverDoorStatus_; }
    }

    /// <summary>Field number for the "fcwPersonalizationSetting" field.</summary>
    public const int FcwPersonalizationSettingFieldNumber = 96;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWPersonalizationSettingEnum> _repeated_fcwPersonalizationSetting_codec
        = pb::FieldCodec.ForEnum(770, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWPersonalizationSettingEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWPersonalizationSettingEnum> fcwPersonalizationSetting_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWPersonalizationSettingEnum>();
    /// <summary>
    //// FCW Personalization Setting in CADM. FSFCWPlusSetting.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FCWPersonalizationSettingEnum> FcwPersonalizationSetting {
      get { return fcwPersonalizationSetting_; }
    }

    /// <summary>Field number for the "headLightSwitchStatus" field.</summary>
    public const int HeadLightSwitchStatusFieldNumber = 97;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightSwitchStatusEnum> _repeated_headLightSwitchStatus_codec
        = pb::FieldCodec.ForEnum(778, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightSwitchStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightSwitchStatusEnum> headLightSwitchStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightSwitchStatusEnum>();
    /// <summary>
    //// Headlight Switch Status in BCM. BCM_FD_26.HLSPosition
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightSwitchStatusEnum> HeadLightSwitchStatus {
      get { return headLightSwitchStatus_; }
    }

    /// <summary>Field number for the "ignitionSwitchStatus" field.</summary>
    public const int IgnitionSwitchStatusFieldNumber = 100;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.IgnitionSwitchStatusEnum> _repeated_ignitionSwitchStatus_codec
        = pb::FieldCodec.ForEnum(802, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.IgnitionSwitchStatusEnum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.IgnitionSwitchStatusEnum> ignitionSwitchStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.IgnitionSwitchStatusEnum>();
    /// <summary>
    //// Ignition Switch Status in BCM. BCM_FD_10.CmdIgnSts
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.IgnitionSwitchStatusEnum> IgnitionSwitchStatus {
      get { return ignitionSwitchStatus_; }
    }

    /// <summary>Field number for the "edrDeploymentStatus" field.</summary>
    public const int EdrDeploymentStatusFieldNumber = 101;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.edrDeploymentImpactLocation> _repeated_edrDeploymentStatus_codec
        = pb::FieldCodec.ForMessage(810, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.edrDeploymentImpactLocation.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.edrDeploymentImpactLocation> edrDeploymentStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.edrDeploymentImpactLocation>();
    /// <summary>
    //// EDR Deployment status
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.edrDeploymentImpactLocation> EdrDeploymentStatus {
      get { return edrDeploymentStatus_; }
    }

    /// <summary>Field number for the "cadm2SoftwareVersion" field.</summary>
    public const int Cadm2SoftwareVersionFieldNumber = 102;
    private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Cadm2SoftwareVersionType cadm2SoftwareVersion_;
    /// <summary>
    //// CADM2 Software Version details.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Cadm2SoftwareVersionType Cadm2SoftwareVersion {
      get { return cadm2SoftwareVersion_; }
      set {
        cadm2SoftwareVersion_ = value;
      }
    }

    /// <summary>Field number for the "CADM2ModeStatus" field.</summary>
    public const int CADM2ModeStatusFieldNumber = 195;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CADM2ModeStatus_Enum> _repeated_cADM2ModeStatus_codec
        = pb::FieldCodec.ForEnum(1562, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CADM2ModeStatus_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CADM2ModeStatus_Enum> cADM2ModeStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CADM2ModeStatus_Enum>();
    /// <summary>
    //// CADM2 Mode Status signals in CADM2 ECU. CADM2_Mode.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CADM2ModeStatus_Enum> CADM2ModeStatus {
      get { return cADM2ModeStatus_; }
    }

    /// <summary>Field number for the "l2pHMIReqToAudioAmp" field.</summary>
    public const int L2PHMIReqToAudioAmpFieldNumber = 198;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HMIReqToAudioAmp> _repeated_l2PHMIReqToAudioAmp_codec
        = pb::FieldCodec.ForMessage(1586, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HMIReqToAudioAmp.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HMIReqToAudioAmp> l2PHMIReqToAudioAmp_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HMIReqToAudioAmp>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HMIReqToAudioAmp> L2PHMIReqToAudioAmp {
      get { return l2PHMIReqToAudioAmp_; }
    }

    /// <summary>Field number for the "l2pHMIReqToCluster" field.</summary>
    public const int L2PHMIReqToClusterFieldNumber = 201;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.l2pHMIReqToCluster_Type> _repeated_l2PHMIReqToCluster_codec
        = pb::FieldCodec.ForMessage(1610, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.l2pHMIReqToCluster_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.l2pHMIReqToCluster_Type> l2PHMIReqToCluster_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.l2pHMIReqToCluster_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.l2pHMIReqToCluster_Type> L2PHMIReqToCluster {
      get { return l2PHMIReqToCluster_; }
    }

    /// <summary>Field number for the "turnSignalSwitchStatus" field.</summary>
    public const int TurnSignalSwitchStatusFieldNumber = 202;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnSignalSwitchStatus_Type> _repeated_turnSignalSwitchStatus_codec
        = pb::FieldCodec.ForMessage(1618, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnSignalSwitchStatus_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnSignalSwitchStatus_Type> turnSignalSwitchStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnSignalSwitchStatus_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnSignalSwitchStatus_Type> TurnSignalSwitchStatus {
      get { return turnSignalSwitchStatus_; }
    }

    /// <summary>Field number for the "dbsmInternalErrorSts" field.</summary>
    public const int DbsmInternalErrorStsFieldNumber = 213;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum> _repeated_dbsmInternalErrorSts_codec
        = pb::FieldCodec.ForEnum(1706, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum> dbsmInternalErrorSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum> DbsmInternalErrorSts {
      get { return dbsmInternalErrorSts_; }
    }

    /// <summary>Field number for the "dbsmResponseErrorSts" field.</summary>
    public const int DbsmResponseErrorStsFieldNumber = 214;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum> _repeated_dbsmResponseErrorSts_codec
        = pb::FieldCodec.ForEnum(1714, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum> dbsmResponseErrorSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DBSM2_Internal_Error_Enum> DbsmResponseErrorSts {
      get { return dbsmResponseErrorSts_; }
    }

    /// <summary>Field number for the "dbsmOverCurrentDetectedSts" field.</summary>
    public const int DbsmOverCurrentDetectedStsFieldNumber = 215;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overcurrent_Detected_Enum> _repeated_dbsmOverCurrentDetectedSts_codec
        = pb::FieldCodec.ForEnum(1722, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overcurrent_Detected_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overcurrent_Detected_Enum> dbsmOverCurrentDetectedSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overcurrent_Detected_Enum>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overcurrent_Detected_Enum> DbsmOverCurrentDetectedSts {
      get { return dbsmOverCurrentDetectedSts_; }
    }

    /// <summary>Field number for the "dbsmOverTemperatureDetectedSts" field.</summary>
    public const int DbsmOverTemperatureDetectedStsFieldNumber = 216;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overtemp_Detected_Enum> _repeated_dbsmOverTemperatureDetectedSts_codec
        = pb::FieldCodec.ForEnum(1730, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overtemp_Detected_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overtemp_Detected_Enum> dbsmOverTemperatureDetectedSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overtemp_Detected_Enum>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Overtemp_Detected_Enum> DbsmOverTemperatureDetectedSts {
      get { return dbsmOverTemperatureDetectedSts_; }
    }

    /// <summary>Field number for the "dbsmSwitchStsOpenClose" field.</summary>
    public const int DbsmSwitchStsOpenCloseFieldNumber = 217;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Switch_Status_OpenClose_Enum> _repeated_dbsmSwitchStsOpenClose_codec
        = pb::FieldCodec.ForEnum(1738, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Switch_Status_OpenClose_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Switch_Status_OpenClose_Enum> dbsmSwitchStsOpenClose_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Switch_Status_OpenClose_Enum>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Switch_Status_OpenClose_Enum> DbsmSwitchStsOpenClose {
      get { return dbsmSwitchStsOpenClose_; }
    }

    /// <summary>Field number for the "dbsmUndervoltageDetectedSts" field.</summary>
    public const int DbsmUndervoltageDetectedStsFieldNumber = 218;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Undervoltage_Detected_Enum> _repeated_dbsmUndervoltageDetectedSts_codec
        = pb::FieldCodec.ForEnum(1746, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Undervoltage_Detected_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Undervoltage_Detected_Enum> dbsmUndervoltageDetectedSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Undervoltage_Detected_Enum>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Undervoltage_Detected_Enum> DbsmUndervoltageDetectedSts {
      get { return dbsmUndervoltageDetectedSts_; }
    }

    /// <summary>Field number for the "headLight_Status" field.</summary>
    public const int HeadLightStatusFieldNumber = 219;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatus_Type> _repeated_headLightStatus_codec
        = pb::FieldCodec.ForMessage(1754, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatus_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatus_Type> headLightStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatus_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatus_Type> HeadLightStatus {
      get { return headLightStatus_; }
    }

    /// <summary>Field number for the "hppPolynomial" field.</summary>
    public const int HppPolynomialFieldNumber = 230;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HPPPolynomial_Type> _repeated_hppPolynomial_codec
        = pb::FieldCodec.ForMessage(1842, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HPPPolynomial_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HPPPolynomial_Type> hppPolynomial_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HPPPolynomial_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HPPPolynomial_Type> HppPolynomial {
      get { return hppPolynomial_; }
    }

    /// <summary>Field number for the "cameraLaneBorderPolynomial" field.</summary>
    public const int CameraLaneBorderPolynomialFieldNumber = 231;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cameraLaneBorderPolynomialTerms_Type> _repeated_cameraLaneBorderPolynomial_codec
        = pb::FieldCodec.ForMessage(1850, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cameraLaneBorderPolynomialTerms_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cameraLaneBorderPolynomialTerms_Type> cameraLaneBorderPolynomial_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cameraLaneBorderPolynomialTerms_Type>();
    /// <summary>
    //// Camera Lane Border (Polynomial Terms) in CADM.  Internal
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cameraLaneBorderPolynomialTerms_Type> CameraLaneBorderPolynomial {
      get { return cameraLaneBorderPolynomial_; }
    }

    /// <summary>Field number for the "datalogTimestamp" field.</summary>
    public const int DatalogTimestampFieldNumber = 232;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_datalogTimestamp_codec
        = pb::FieldCodec.ForMessage(1858, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> datalogTimestamp_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Defined as the timestamp for each sample period that indicates the time that sample period was captured relative to the trigger event.  Refer to VF 553 Range: -30000 to 6000ms
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> DatalogTimestamp {
      get { return datalogTimestamp_; }
    }

    /// <summary>Field number for the "verticalAcceleration_GNMM" field.</summary>
    public const int VerticalAccelerationGNMMFieldNumber = 233;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_verticalAccelerationGNMM_codec
        = pb::FieldCodec.ForMessage(1866, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> verticalAccelerationGNMM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Vertical Acceleration (m/s2) in GNMM. VerticalAcceleration_GNMM.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> VerticalAccelerationGNMM {
      get { return verticalAccelerationGNMM_; }
    }

    /// <summary>Field number for the "rollRate_GNMM" field.</summary>
    public const int RollRateGNMMFieldNumber = 234;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_rollRateGNMM_codec
        = pb::FieldCodec.ForMessage(1874, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> rollRateGNMM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Roll Rate in GNMM. RollRate_GNMM.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> RollRateGNMM {
      get { return rollRateGNMM_; }
    }

    /// <summary>Field number for the "pitchRate_GNMM" field.</summary>
    public const int PitchRateGNMMFieldNumber = 235;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_pitchRateGNMM_codec
        = pb::FieldCodec.ForMessage(1882, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> pitchRateGNMM_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
    /// <summary>
    //// Pitch Rate in GNMM.PitchRate_GNMM.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> PitchRateGNMM {
      get { return pitchRateGNMM_; }
    }

    /// <summary>Field number for the "cvpamFaultStatus" field.</summary>
    public const int CvpamFaultStatusFieldNumber = 236;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cvpamFaultStatus_Type> _repeated_cvpamFaultStatus_codec
        = pb::FieldCodec.ForMessage(1890, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cvpamFaultStatus_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cvpamFaultStatus_Type> cvpamFaultStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cvpamFaultStatus_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.cvpamFaultStatus_Type> CvpamFaultStatus {
      get { return cvpamFaultStatus_; }
    }

    /// <summary>Field number for the "dalmColorStatus" field.</summary>
    public const int DalmColorStatusFieldNumber = 238;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.dalmColorStatus_Type> _repeated_dalmColorStatus_codec
        = pb::FieldCodec.ForMessage(1906, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.dalmColorStatus_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.dalmColorStatus_Type> dalmColorStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.dalmColorStatus_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.dalmColorStatus_Type> DalmColorStatus {
      get { return dalmColorStatus_; }
    }

    /// <summary>Field number for the "adasEngagedStatus" field.</summary>
    public const int AdasEngagedStatusFieldNumber = 240;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatus_Type> _repeated_adasEngagedStatus_codec
        = pb::FieldCodec.ForMessage(1922, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatus_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatus_Type> adasEngagedStatus_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatus_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatus_Type> AdasEngagedStatus {
      get { return adasEngagedStatus_; }
    }

    /// <summary>Field number for the "adasEngagedStatusCadm2" field.</summary>
    public const int AdasEngagedStatusCadm2FieldNumber = 241;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatusCadm2_Type> _repeated_adasEngagedStatusCadm2_codec
        = pb::FieldCodec.ForMessage(1930, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatusCadm2_Type.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatusCadm2_Type> adasEngagedStatusCadm2_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatusCadm2_Type>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.adasEngagedStatusCadm2_Type> AdasEngagedStatusCadm2 {
      get { return adasEngagedStatusCadm2_; }
    }

    /// <summary>Field number for the "brakeJerkReq" field.</summary>
    public const int BrakeJerkReqFieldNumber = 193;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> _repeated_brakeJerkReq_codec
        = pb::FieldCodec.ForEnum(1546, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum) x);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> brakeJerkReq_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum>();
    /// <summary>
    /// repeated L2PHMIReqSeatBeltMotorActuatorEnum l2pHMIReqsToSeatBeltMotorAct = 243; /// L2 Plus HMI Requests to Seat Belt Motorized Actuator in CADM. SeatBelt_Pull_Rq.Info
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Active_Enum> BrakeJerkReq {
      get { return brakeJerkReq_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as DataLogMessageObject);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(DataLogMessageObject other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!fusedLaneBoundaries_.Equals(other.fusedLaneBoundaries_)) return false;
      if(!reasonForDisengagement_.Equals(other.reasonForDisengagement_)) return false;
      if(!absActiveFlagBSM_.Equals(other.absActiveFlagBSM_)) return false;
      if(!absActiveFlagBSM2_.Equals(other.absActiveFlagBSM2_)) return false;
      if(!escActiveFlagBSM_.Equals(other.escActiveFlagBSM_)) return false;
      if(!hdMapCenterlineLateralDistance_.Equals(other.hdMapCenterlineLateralDistance_)) return false;
      if(!lrcfFaultStatus_.Equals(other.lrcfFaultStatus_)) return false;
      if(!lrrfFaultStatus_.Equals(other.lrrfFaultStatus_)) return false;
      if(!mrrflFaultStatus_.Equals(other.mrrflFaultStatus_)) return false;
      if(!mrrrlFaultStatus_.Equals(other.mrrrlFaultStatus_)) return false;
      if(!mrrfrFaultStatus_.Equals(other.mrrfrFaultStatus_)) return false;
      if(!mrrrrFaultStatus_.Equals(other.mrrrrFaultStatus_)) return false;
      if(!brakePrefillRequest_.Equals(other.brakePrefillRequest_)) return false;
      if(!prefillResponse_.Equals(other.prefillResponse_)) return false;
      if(!driverHeadPosition_.Equals(other.driverHeadPosition_)) return false;
      if(!hazardSwitchStatus_.Equals(other.hazardSwitchStatus_)) return false;
      if(!guidancePathLateralDistance_.Equals(other.guidancePathLateralDistance_)) return false;
      if(!seatVibrationReq_.Equals(other.seatVibrationReq_)) return false;
      if(!seatVibrationSts_.Equals(other.seatVibrationSts_)) return false;
      if(!wiperSwitchStatus_.Equals(other.wiperSwitchStatus_)) return false;
      if(!driverModelStatus_.Equals(other.driverModelStatus_)) return false;
      if(!fcwWarningStatus_.Equals(other.fcwWarningStatus_)) return false;
      if(!bsmFaultStatus_.Equals(other.bsmFaultStatus_)) return false;
      if(!bsm2FaultStatus_.Equals(other.bsm2FaultStatus_)) return false;
      if(!cadmFaultStatus_.Equals(other.cadmFaultStatus_)) return false;
      if(!cadm2FaultStatus_.Equals(other.cadm2FaultStatus_)) return false;
      if(!gnmmFaultStatus_.Equals(other.gnmmFaultStatus_)) return false;
      if(!dmsmFaultStatus_.Equals(other.dmsmFaultStatus_)) return false;
      if(!powertrainMILLampStatus_.Equals(other.powertrainMILLampStatus_)) return false;
      if(!swsmFaultStatus_.Equals(other.swsmFaultStatus_)) return false;
      if(!dalmFaultStatus_.Equals(other.dalmFaultStatus_)) return false;
      if(!adasOperatingStateCadm_.Equals(other.adasOperatingStateCadm_)) return false;
      if(!adasOperatingStateCadm2_.Equals(other.adasOperatingStateCadm2_)) return false;
      if(!mrmStateCadm_.Equals(other.mrmStateCadm_)) return false;
      if(!mrmStateCadm2_.Equals(other.mrmStateCadm2_)) return false;
      if(!torqueOverlayEngageReqEPSCadm_.Equals(other.torqueOverlayEngageReqEPSCadm_)) return false;
      if(!torqueOverlayEngageReqEPSCadm2_.Equals(other.torqueOverlayEngageReqEPSCadm2_)) return false;
      if(!powertrainInterfaceEngageReq_.Equals(other.powertrainInterfaceEngageReq_)) return false;
      if(!brakeDecelInterfaceEngageReqTypeCadm_.Equals(other.brakeDecelInterfaceEngageReqTypeCadm_)) return false;
      if(!brakeDecelInterfaceEngageReqTypeCadm2_.Equals(other.brakeDecelInterfaceEngageReqTypeCadm2_)) return false;
      if(!electronicParkBrakeStatus_.Equals(other.electronicParkBrakeStatus_)) return false;
      if(!steeringWheelHandsOnStatus_.Equals(other.steeringWheelHandsOnStatus_)) return false;
      if(!epsHandsOnStatusPrimary_.Equals(other.epsHandsOnStatusPrimary_)) return false;
      if(!epsHandsOnStatusSecondary_.Equals(other.epsHandsOnStatusSecondary_)) return false;
      if(!driverGazeLocation_.Equals(other.driverGazeLocation_)) return false;
      if(!prndlPosition_.Equals(other.prndlPosition_)) return false;
      if(!yawRateBSM_.Equals(other.yawRateBSM_)) return false;
      if(!yawRateGNMM_.Equals(other.yawRateGNMM_)) return false;
      if(!rfTirePressure_.Equals(other.rfTirePressure_)) return false;
      if(!lfTirePressure_.Equals(other.lfTirePressure_)) return false;
      if(!rrTirePressure_.Equals(other.rrTirePressure_)) return false;
      if(!lrTirePressure_.Equals(other.lrTirePressure_)) return false;
      if(!batteryVolt1_.Equals(other.batteryVolt1_)) return false;
      if(!batteryVolt2_.Equals(other.batteryVolt2_)) return false;
      if(!torqueRequestEPSCadm_.Equals(other.torqueRequestEPSCadm_)) return false;
      if(!torqueRequestEPSCadm2_.Equals(other.torqueRequestEPSCadm2_)) return false;
      if(!epsMotorTorqueFD14_.Equals(other.epsMotorTorqueFD14_)) return false;
      if(!epsMotorTorqueFD2_.Equals(other.epsMotorTorqueFD2_)) return false;
      if(!powertrainTorqueReq_.Equals(other.powertrainTorqueReq_)) return false;
      if(!powertrainOutputTorque_.Equals(other.powertrainOutputTorque_)) return false;
      if(!brakeDecelRequestCadm_.Equals(other.brakeDecelRequestCadm_)) return false;
      if(!brakeDecelRequestCadm2_.Equals(other.brakeDecelRequestCadm2_)) return false;
      if(!brakeTorqueAppliedBSM_.Equals(other.brakeTorqueAppliedBSM_)) return false;
      if(!brakeTorqueAppliedBSM2_.Equals(other.brakeTorqueAppliedBSM2_)) return false;
      if(!driverAppSteeringWheelTorquePrimary_.Equals(other.driverAppSteeringWheelTorquePrimary_)) return false;
      if(!driverAppSteeringWheelTorqueSecondary_.Equals(other.driverAppSteeringWheelTorqueSecondary_)) return false;
      if(!throttlePedalPosition_.Equals(other.throttlePedalPosition_)) return false;
      if(!externalAmbientTemp_.Equals(other.externalAmbientTemp_)) return false;
      if(!driverLongitudinalSetSpeed_.Equals(other.driverLongitudinalSetSpeed_)) return false;
      if(!systemTargetSpeed_.Equals(other.systemTargetSpeed_)) return false;
      if(!vehicleSpeed_.Equals(other.vehicleSpeed_)) return false;
      if(!steeringAnglePrimary_.Equals(other.steeringAnglePrimary_)) return false;
      if(!steeringAngleSecondary_.Equals(other.steeringAngleSecondary_)) return false;
      if(!lateralAccelerationBSM_.Equals(other.lateralAccelerationBSM_)) return false;
      if(!lateralAccelerationGNMM_.Equals(other.lateralAccelerationGNMM_)) return false;
      if(!longAccelerationBSM_.Equals(other.longAccelerationBSM_)) return false;
      if(!longAccelerationGNMM_.Equals(other.longAccelerationGNMM_)) return false;
      if(!frontLongRangeCameraImg_.Equals(other.frontLongRangeCameraImg_)) return false;
      if(!locHDMapCoordinate_.Equals(other.locHDMapCoordinate_)) return false;
      if(!trackedObjects_.Equals(other.trackedObjects_)) return false;
      if(!steeringAngleTypePrimary_.Equals(other.steeringAngleTypePrimary_)) return false;
      if(!steeringAngleTypeSecondary_.Equals(other.steeringAngleTypeSecondary_)) return false;
      if(!epsOverlayStateFD14_.Equals(other.epsOverlayStateFD14_)) return false;
      if(!epsOverlayStateFD2_.Equals(other.epsOverlayStateFD2_)) return false;
      if(!gpsPosition_.Equals(other.gpsPosition_)) return false;
      if(!cameraObjectList_.Equals(other.cameraObjectList_)) return false;
      if(!driverSeatBeltStatus_.Equals(other.driverSeatBeltStatus_)) return false;
      if(!driverDoorStatus_.Equals(other.driverDoorStatus_)) return false;
      if(!fcwPersonalizationSetting_.Equals(other.fcwPersonalizationSetting_)) return false;
      if(!headLightSwitchStatus_.Equals(other.headLightSwitchStatus_)) return false;
      if(!ignitionSwitchStatus_.Equals(other.ignitionSwitchStatus_)) return false;
      if(!edrDeploymentStatus_.Equals(other.edrDeploymentStatus_)) return false;
      if (!object.Equals(Cadm2SoftwareVersion, other.Cadm2SoftwareVersion)) return false;
      if(!cADM2ModeStatus_.Equals(other.cADM2ModeStatus_)) return false;
      if(!l2PHMIReqToAudioAmp_.Equals(other.l2PHMIReqToAudioAmp_)) return false;
      if(!l2PHMIReqToCluster_.Equals(other.l2PHMIReqToCluster_)) return false;
      if(!turnSignalSwitchStatus_.Equals(other.turnSignalSwitchStatus_)) return false;
      if(!dbsmInternalErrorSts_.Equals(other.dbsmInternalErrorSts_)) return false;
      if(!dbsmResponseErrorSts_.Equals(other.dbsmResponseErrorSts_)) return false;
      if(!dbsmOverCurrentDetectedSts_.Equals(other.dbsmOverCurrentDetectedSts_)) return false;
      if(!dbsmOverTemperatureDetectedSts_.Equals(other.dbsmOverTemperatureDetectedSts_)) return false;
      if(!dbsmSwitchStsOpenClose_.Equals(other.dbsmSwitchStsOpenClose_)) return false;
      if(!dbsmUndervoltageDetectedSts_.Equals(other.dbsmUndervoltageDetectedSts_)) return false;
      if(!headLightStatus_.Equals(other.headLightStatus_)) return false;
      if(!hppPolynomial_.Equals(other.hppPolynomial_)) return false;
      if(!cameraLaneBorderPolynomial_.Equals(other.cameraLaneBorderPolynomial_)) return false;
      if(!datalogTimestamp_.Equals(other.datalogTimestamp_)) return false;
      if(!verticalAccelerationGNMM_.Equals(other.verticalAccelerationGNMM_)) return false;
      if(!rollRateGNMM_.Equals(other.rollRateGNMM_)) return false;
      if(!pitchRateGNMM_.Equals(other.pitchRateGNMM_)) return false;
      if(!cvpamFaultStatus_.Equals(other.cvpamFaultStatus_)) return false;
      if(!dalmColorStatus_.Equals(other.dalmColorStatus_)) return false;
      if(!adasEngagedStatus_.Equals(other.adasEngagedStatus_)) return false;
      if(!adasEngagedStatusCadm2_.Equals(other.adasEngagedStatusCadm2_)) return false;
      if(!brakeJerkReq_.Equals(other.brakeJerkReq_)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= fusedLaneBoundaries_.GetHashCode();
      hash ^= reasonForDisengagement_.GetHashCode();
      hash ^= absActiveFlagBSM_.GetHashCode();
      hash ^= absActiveFlagBSM2_.GetHashCode();
      hash ^= escActiveFlagBSM_.GetHashCode();
      hash ^= hdMapCenterlineLateralDistance_.GetHashCode();
      hash ^= lrcfFaultStatus_.GetHashCode();
      hash ^= lrrfFaultStatus_.GetHashCode();
      hash ^= mrrflFaultStatus_.GetHashCode();
      hash ^= mrrrlFaultStatus_.GetHashCode();
      hash ^= mrrfrFaultStatus_.GetHashCode();
      hash ^= mrrrrFaultStatus_.GetHashCode();
      hash ^= brakePrefillRequest_.GetHashCode();
      hash ^= prefillResponse_.GetHashCode();
      hash ^= driverHeadPosition_.GetHashCode();
      hash ^= hazardSwitchStatus_.GetHashCode();
      hash ^= guidancePathLateralDistance_.GetHashCode();
      hash ^= seatVibrationReq_.GetHashCode();
      hash ^= seatVibrationSts_.GetHashCode();
      hash ^= wiperSwitchStatus_.GetHashCode();
      hash ^= driverModelStatus_.GetHashCode();
      hash ^= fcwWarningStatus_.GetHashCode();
      hash ^= bsmFaultStatus_.GetHashCode();
      hash ^= bsm2FaultStatus_.GetHashCode();
      hash ^= cadmFaultStatus_.GetHashCode();
      hash ^= cadm2FaultStatus_.GetHashCode();
      hash ^= gnmmFaultStatus_.GetHashCode();
      hash ^= dmsmFaultStatus_.GetHashCode();
      hash ^= powertrainMILLampStatus_.GetHashCode();
      hash ^= swsmFaultStatus_.GetHashCode();
      hash ^= dalmFaultStatus_.GetHashCode();
      hash ^= adasOperatingStateCadm_.GetHashCode();
      hash ^= adasOperatingStateCadm2_.GetHashCode();
      hash ^= mrmStateCadm_.GetHashCode();
      hash ^= mrmStateCadm2_.GetHashCode();
      hash ^= torqueOverlayEngageReqEPSCadm_.GetHashCode();
      hash ^= torqueOverlayEngageReqEPSCadm2_.GetHashCode();
      hash ^= powertrainInterfaceEngageReq_.GetHashCode();
      hash ^= brakeDecelInterfaceEngageReqTypeCadm_.GetHashCode();
      hash ^= brakeDecelInterfaceEngageReqTypeCadm2_.GetHashCode();
      hash ^= electronicParkBrakeStatus_.GetHashCode();
      hash ^= steeringWheelHandsOnStatus_.GetHashCode();
      hash ^= epsHandsOnStatusPrimary_.GetHashCode();
      hash ^= epsHandsOnStatusSecondary_.GetHashCode();
      hash ^= driverGazeLocation_.GetHashCode();
      hash ^= prndlPosition_.GetHashCode();
      hash ^= yawRateBSM_.GetHashCode();
      hash ^= yawRateGNMM_.GetHashCode();
      hash ^= rfTirePressure_.GetHashCode();
      hash ^= lfTirePressure_.GetHashCode();
      hash ^= rrTirePressure_.GetHashCode();
      hash ^= lrTirePressure_.GetHashCode();
      hash ^= batteryVolt1_.GetHashCode();
      hash ^= batteryVolt2_.GetHashCode();
      hash ^= torqueRequestEPSCadm_.GetHashCode();
      hash ^= torqueRequestEPSCadm2_.GetHashCode();
      hash ^= epsMotorTorqueFD14_.GetHashCode();
      hash ^= epsMotorTorqueFD2_.GetHashCode();
      hash ^= powertrainTorqueReq_.GetHashCode();
      hash ^= powertrainOutputTorque_.GetHashCode();
      hash ^= brakeDecelRequestCadm_.GetHashCode();
      hash ^= brakeDecelRequestCadm2_.GetHashCode();
      hash ^= brakeTorqueAppliedBSM_.GetHashCode();
      hash ^= brakeTorqueAppliedBSM2_.GetHashCode();
      hash ^= driverAppSteeringWheelTorquePrimary_.GetHashCode();
      hash ^= driverAppSteeringWheelTorqueSecondary_.GetHashCode();
      hash ^= throttlePedalPosition_.GetHashCode();
      hash ^= externalAmbientTemp_.GetHashCode();
      hash ^= driverLongitudinalSetSpeed_.GetHashCode();
      hash ^= systemTargetSpeed_.GetHashCode();
      hash ^= vehicleSpeed_.GetHashCode();
      hash ^= steeringAnglePrimary_.GetHashCode();
      hash ^= steeringAngleSecondary_.GetHashCode();
      hash ^= lateralAccelerationBSM_.GetHashCode();
      hash ^= lateralAccelerationGNMM_.GetHashCode();
      hash ^= longAccelerationBSM_.GetHashCode();
      hash ^= longAccelerationGNMM_.GetHashCode();
      hash ^= frontLongRangeCameraImg_.GetHashCode();
      hash ^= locHDMapCoordinate_.GetHashCode();
      hash ^= trackedObjects_.GetHashCode();
      hash ^= steeringAngleTypePrimary_.GetHashCode();
      hash ^= steeringAngleTypeSecondary_.GetHashCode();
      hash ^= epsOverlayStateFD14_.GetHashCode();
      hash ^= epsOverlayStateFD2_.GetHashCode();
      hash ^= gpsPosition_.GetHashCode();
      hash ^= cameraObjectList_.GetHashCode();
      hash ^= driverSeatBeltStatus_.GetHashCode();
      hash ^= driverDoorStatus_.GetHashCode();
      hash ^= fcwPersonalizationSetting_.GetHashCode();
      hash ^= headLightSwitchStatus_.GetHashCode();
      hash ^= ignitionSwitchStatus_.GetHashCode();
      hash ^= edrDeploymentStatus_.GetHashCode();
      if (cadm2SoftwareVersion_ != null) hash ^= Cadm2SoftwareVersion.GetHashCode();
      hash ^= cADM2ModeStatus_.GetHashCode();
      hash ^= l2PHMIReqToAudioAmp_.GetHashCode();
      hash ^= l2PHMIReqToCluster_.GetHashCode();
      hash ^= turnSignalSwitchStatus_.GetHashCode();
      hash ^= dbsmInternalErrorSts_.GetHashCode();
      hash ^= dbsmResponseErrorSts_.GetHashCode();
      hash ^= dbsmOverCurrentDetectedSts_.GetHashCode();
      hash ^= dbsmOverTemperatureDetectedSts_.GetHashCode();
      hash ^= dbsmSwitchStsOpenClose_.GetHashCode();
      hash ^= dbsmUndervoltageDetectedSts_.GetHashCode();
      hash ^= headLightStatus_.GetHashCode();
      hash ^= hppPolynomial_.GetHashCode();
      hash ^= cameraLaneBorderPolynomial_.GetHashCode();
      hash ^= datalogTimestamp_.GetHashCode();
      hash ^= verticalAccelerationGNMM_.GetHashCode();
      hash ^= rollRateGNMM_.GetHashCode();
      hash ^= pitchRateGNMM_.GetHashCode();
      hash ^= cvpamFaultStatus_.GetHashCode();
      hash ^= dalmColorStatus_.GetHashCode();
      hash ^= adasEngagedStatus_.GetHashCode();
      hash ^= adasEngagedStatusCadm2_.GetHashCode();
      hash ^= brakeJerkReq_.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      frontLongRangeCameraImg_.WriteTo(output, _repeated_frontLongRangeCameraImg_codec);
      trackedObjects_.WriteTo(output, _repeated_trackedObjects_codec);
      fusedLaneBoundaries_.WriteTo(output, _repeated_fusedLaneBoundaries_codec);
      locHDMapCoordinate_.WriteTo(output, _repeated_locHDMapCoordinate_codec);
      driverLongitudinalSetSpeed_.WriteTo(output, _repeated_driverLongitudinalSetSpeed_codec);
      systemTargetSpeed_.WriteTo(output, _repeated_systemTargetSpeed_codec);
      driverModelStatus_.WriteTo(output, _repeated_driverModelStatus_codec);
      vehicleSpeed_.WriteTo(output, _repeated_vehicleSpeed_codec);
      steeringAnglePrimary_.WriteTo(output, _repeated_steeringAnglePrimary_codec);
      steeringAngleTypePrimary_.WriteTo(output, _repeated_steeringAngleTypePrimary_codec);
      steeringAngleSecondary_.WriteTo(output, _repeated_steeringAngleSecondary_codec);
      steeringAngleTypeSecondary_.WriteTo(output, _repeated_steeringAngleTypeSecondary_codec);
      lateralAccelerationBSM_.WriteTo(output, _repeated_lateralAccelerationBSM_codec);
      lateralAccelerationGNMM_.WriteTo(output, _repeated_lateralAccelerationGNMM_codec);
      longAccelerationBSM_.WriteTo(output, _repeated_longAccelerationBSM_codec);
      longAccelerationGNMM_.WriteTo(output, _repeated_longAccelerationGNMM_codec);
      yawRateBSM_.WriteTo(output, _repeated_yawRateBSM_codec);
      yawRateGNMM_.WriteTo(output, _repeated_yawRateGNMM_codec);
      absActiveFlagBSM_.WriteTo(output, _repeated_absActiveFlagBSM_codec);
      absActiveFlagBSM2_.WriteTo(output, _repeated_absActiveFlagBSM2_codec);
      rfTirePressure_.WriteTo(output, _repeated_rfTirePressure_codec);
      lfTirePressure_.WriteTo(output, _repeated_lfTirePressure_codec);
      rrTirePressure_.WriteTo(output, _repeated_rrTirePressure_codec);
      lrTirePressure_.WriteTo(output, _repeated_lrTirePressure_codec);
      batteryVolt1_.WriteTo(output, _repeated_batteryVolt1_codec);
      batteryVolt2_.WriteTo(output, _repeated_batteryVolt2_codec);
      fcwWarningStatus_.WriteTo(output, _repeated_fcwWarningStatus_codec);
      bsmFaultStatus_.WriteTo(output, _repeated_bsmFaultStatus_codec);
      bsm2FaultStatus_.WriteTo(output, _repeated_bsm2FaultStatus_codec);
      cadmFaultStatus_.WriteTo(output, _repeated_cadmFaultStatus_codec);
      cadm2FaultStatus_.WriteTo(output, _repeated_cadm2FaultStatus_codec);
      gnmmFaultStatus_.WriteTo(output, _repeated_gnmmFaultStatus_codec);
      dmsmFaultStatus_.WriteTo(output, _repeated_dmsmFaultStatus_codec);
      powertrainMILLampStatus_.WriteTo(output, _repeated_powertrainMILLampStatus_codec);
      lrcfFaultStatus_.WriteTo(output, _repeated_lrcfFaultStatus_codec);
      lrrfFaultStatus_.WriteTo(output, _repeated_lrrfFaultStatus_codec);
      mrrflFaultStatus_.WriteTo(output, _repeated_mrrflFaultStatus_codec);
      mrrrlFaultStatus_.WriteTo(output, _repeated_mrrrlFaultStatus_codec);
      mrrfrFaultStatus_.WriteTo(output, _repeated_mrrfrFaultStatus_codec);
      mrrrrFaultStatus_.WriteTo(output, _repeated_mrrrrFaultStatus_codec);
      swsmFaultStatus_.WriteTo(output, _repeated_swsmFaultStatus_codec);
      dalmFaultStatus_.WriteTo(output, _repeated_dalmFaultStatus_codec);
      adasOperatingStateCadm_.WriteTo(output, _repeated_adasOperatingStateCadm_codec);
      adasOperatingStateCadm2_.WriteTo(output, _repeated_adasOperatingStateCadm2_codec);
      mrmStateCadm_.WriteTo(output, _repeated_mrmStateCadm_codec);
      mrmStateCadm2_.WriteTo(output, _repeated_mrmStateCadm2_codec);
      torqueOverlayEngageReqEPSCadm_.WriteTo(output, _repeated_torqueOverlayEngageReqEPSCadm_codec);
      torqueRequestEPSCadm_.WriteTo(output, _repeated_torqueRequestEPSCadm_codec);
      torqueOverlayEngageReqEPSCadm2_.WriteTo(output, _repeated_torqueOverlayEngageReqEPSCadm2_codec);
      torqueRequestEPSCadm2_.WriteTo(output, _repeated_torqueRequestEPSCadm2_codec);
      epsOverlayStateFD14_.WriteTo(output, _repeated_epsOverlayStateFD14_codec);
      epsOverlayStateFD2_.WriteTo(output, _repeated_epsOverlayStateFD2_codec);
      epsMotorTorqueFD14_.WriteTo(output, _repeated_epsMotorTorqueFD14_codec);
      epsMotorTorqueFD2_.WriteTo(output, _repeated_epsMotorTorqueFD2_codec);
      powertrainInterfaceEngageReq_.WriteTo(output, _repeated_powertrainInterfaceEngageReq_codec);
      powertrainTorqueReq_.WriteTo(output, _repeated_powertrainTorqueReq_codec);
      powertrainOutputTorque_.WriteTo(output, _repeated_powertrainOutputTorque_codec);
      brakeDecelInterfaceEngageReqTypeCadm_.WriteTo(output, _repeated_brakeDecelInterfaceEngageReqTypeCadm_codec);
      brakeDecelRequestCadm_.WriteTo(output, _repeated_brakeDecelRequestCadm_codec);
      brakeDecelInterfaceEngageReqTypeCadm2_.WriteTo(output, _repeated_brakeDecelInterfaceEngageReqTypeCadm2_codec);
      brakeDecelRequestCadm2_.WriteTo(output, _repeated_brakeDecelRequestCadm2_codec);
      brakePrefillRequest_.WriteTo(output, _repeated_brakePrefillRequest_codec);
      prefillResponse_.WriteTo(output, _repeated_prefillResponse_codec);
      brakeTorqueAppliedBSM_.WriteTo(output, _repeated_brakeTorqueAppliedBSM_codec);
      brakeTorqueAppliedBSM2_.WriteTo(output, _repeated_brakeTorqueAppliedBSM2_codec);
      electronicParkBrakeStatus_.WriteTo(output, _repeated_electronicParkBrakeStatus_codec);
      gpsPosition_.WriteTo(output, _repeated_gpsPosition_codec);
      cameraObjectList_.WriteTo(output, _repeated_cameraObjectList_codec);
      driverAppSteeringWheelTorquePrimary_.WriteTo(output, _repeated_driverAppSteeringWheelTorquePrimary_codec);
      driverAppSteeringWheelTorqueSecondary_.WriteTo(output, _repeated_driverAppSteeringWheelTorqueSecondary_codec);
      throttlePedalPosition_.WriteTo(output, _repeated_throttlePedalPosition_codec);
      steeringWheelHandsOnStatus_.WriteTo(output, _repeated_steeringWheelHandsOnStatus_codec);
      epsHandsOnStatusPrimary_.WriteTo(output, _repeated_epsHandsOnStatusPrimary_codec);
      epsHandsOnStatusSecondary_.WriteTo(output, _repeated_epsHandsOnStatusSecondary_codec);
      driverSeatBeltStatus_.WriteTo(output, _repeated_driverSeatBeltStatus_codec);
      driverDoorStatus_.WriteTo(output, _repeated_driverDoorStatus_codec);
      externalAmbientTemp_.WriteTo(output, _repeated_externalAmbientTemp_codec);
      driverHeadPosition_.WriteTo(output, _repeated_driverHeadPosition_codec);
      driverGazeLocation_.WriteTo(output, _repeated_driverGazeLocation_codec);
      hazardSwitchStatus_.WriteTo(output, _repeated_hazardSwitchStatus_codec);
      prndlPosition_.WriteTo(output, _repeated_prndlPosition_codec);
      fcwPersonalizationSetting_.WriteTo(output, _repeated_fcwPersonalizationSetting_codec);
      headLightSwitchStatus_.WriteTo(output, _repeated_headLightSwitchStatus_codec);
      wiperSwitchStatus_.WriteTo(output, _repeated_wiperSwitchStatus_codec);
      ignitionSwitchStatus_.WriteTo(output, _repeated_ignitionSwitchStatus_codec);
      edrDeploymentStatus_.WriteTo(output, _repeated_edrDeploymentStatus_codec);
      if (cadm2SoftwareVersion_ != null) {
        output.WriteRawTag(178, 6);
        output.WriteMessage(Cadm2SoftwareVersion);
      }
      guidancePathLateralDistance_.WriteTo(output, _repeated_guidancePathLateralDistance_codec);
      escActiveFlagBSM_.WriteTo(output, _repeated_escActiveFlagBSM_codec);
      brakeJerkReq_.WriteTo(output, _repeated_brakeJerkReq_codec);
      cADM2ModeStatus_.WriteTo(output, _repeated_cADM2ModeStatus_codec);
      seatVibrationReq_.WriteTo(output, _repeated_seatVibrationReq_codec);
      seatVibrationSts_.WriteTo(output, _repeated_seatVibrationSts_codec);
      l2PHMIReqToAudioAmp_.WriteTo(output, _repeated_l2PHMIReqToAudioAmp_codec);
      l2PHMIReqToCluster_.WriteTo(output, _repeated_l2PHMIReqToCluster_codec);
      turnSignalSwitchStatus_.WriteTo(output, _repeated_turnSignalSwitchStatus_codec);
      reasonForDisengagement_.WriteTo(output, _repeated_reasonForDisengagement_codec);
      dbsmInternalErrorSts_.WriteTo(output, _repeated_dbsmInternalErrorSts_codec);
      dbsmResponseErrorSts_.WriteTo(output, _repeated_dbsmResponseErrorSts_codec);
      dbsmOverCurrentDetectedSts_.WriteTo(output, _repeated_dbsmOverCurrentDetectedSts_codec);
      dbsmOverTemperatureDetectedSts_.WriteTo(output, _repeated_dbsmOverTemperatureDetectedSts_codec);
      dbsmSwitchStsOpenClose_.WriteTo(output, _repeated_dbsmSwitchStsOpenClose_codec);
      dbsmUndervoltageDetectedSts_.WriteTo(output, _repeated_dbsmUndervoltageDetectedSts_codec);
      headLightStatus_.WriteTo(output, _repeated_headLightStatus_codec);
      hdMapCenterlineLateralDistance_.WriteTo(output, _repeated_hdMapCenterlineLateralDistance_codec);
      hppPolynomial_.WriteTo(output, _repeated_hppPolynomial_codec);
      cameraLaneBorderPolynomial_.WriteTo(output, _repeated_cameraLaneBorderPolynomial_codec);
      datalogTimestamp_.WriteTo(output, _repeated_datalogTimestamp_codec);
      verticalAccelerationGNMM_.WriteTo(output, _repeated_verticalAccelerationGNMM_codec);
      rollRateGNMM_.WriteTo(output, _repeated_rollRateGNMM_codec);
      pitchRateGNMM_.WriteTo(output, _repeated_pitchRateGNMM_codec);
      cvpamFaultStatus_.WriteTo(output, _repeated_cvpamFaultStatus_codec);
      dalmColorStatus_.WriteTo(output, _repeated_dalmColorStatus_codec);
      adasEngagedStatus_.WriteTo(output, _repeated_adasEngagedStatus_codec);
      adasEngagedStatusCadm2_.WriteTo(output, _repeated_adasEngagedStatusCadm2_codec);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      size += fusedLaneBoundaries_.CalculateSize(_repeated_fusedLaneBoundaries_codec);
      size += reasonForDisengagement_.CalculateSize(_repeated_reasonForDisengagement_codec);
      size += absActiveFlagBSM_.CalculateSize(_repeated_absActiveFlagBSM_codec);
      size += absActiveFlagBSM2_.CalculateSize(_repeated_absActiveFlagBSM2_codec);
      size += escActiveFlagBSM_.CalculateSize(_repeated_escActiveFlagBSM_codec);
      size += hdMapCenterlineLateralDistance_.CalculateSize(_repeated_hdMapCenterlineLateralDistance_codec);
      size += lrcfFaultStatus_.CalculateSize(_repeated_lrcfFaultStatus_codec);
      size += lrrfFaultStatus_.CalculateSize(_repeated_lrrfFaultStatus_codec);
      size += mrrflFaultStatus_.CalculateSize(_repeated_mrrflFaultStatus_codec);
      size += mrrrlFaultStatus_.CalculateSize(_repeated_mrrrlFaultStatus_codec);
      size += mrrfrFaultStatus_.CalculateSize(_repeated_mrrfrFaultStatus_codec);
      size += mrrrrFaultStatus_.CalculateSize(_repeated_mrrrrFaultStatus_codec);
      size += brakePrefillRequest_.CalculateSize(_repeated_brakePrefillRequest_codec);
      size += prefillResponse_.CalculateSize(_repeated_prefillResponse_codec);
      size += driverHeadPosition_.CalculateSize(_repeated_driverHeadPosition_codec);
      size += hazardSwitchStatus_.CalculateSize(_repeated_hazardSwitchStatus_codec);
      size += guidancePathLateralDistance_.CalculateSize(_repeated_guidancePathLateralDistance_codec);
      size += seatVibrationReq_.CalculateSize(_repeated_seatVibrationReq_codec);
      size += seatVibrationSts_.CalculateSize(_repeated_seatVibrationSts_codec);
      size += wiperSwitchStatus_.CalculateSize(_repeated_wiperSwitchStatus_codec);
      size += driverModelStatus_.CalculateSize(_repeated_driverModelStatus_codec);
      size += fcwWarningStatus_.CalculateSize(_repeated_fcwWarningStatus_codec);
      size += bsmFaultStatus_.CalculateSize(_repeated_bsmFaultStatus_codec);
      size += bsm2FaultStatus_.CalculateSize(_repeated_bsm2FaultStatus_codec);
      size += cadmFaultStatus_.CalculateSize(_repeated_cadmFaultStatus_codec);
      size += cadm2FaultStatus_.CalculateSize(_repeated_cadm2FaultStatus_codec);
      size += gnmmFaultStatus_.CalculateSize(_repeated_gnmmFaultStatus_codec);
      size += dmsmFaultStatus_.CalculateSize(_repeated_dmsmFaultStatus_codec);
      size += powertrainMILLampStatus_.CalculateSize(_repeated_powertrainMILLampStatus_codec);
      size += swsmFaultStatus_.CalculateSize(_repeated_swsmFaultStatus_codec);
      size += dalmFaultStatus_.CalculateSize(_repeated_dalmFaultStatus_codec);
      size += adasOperatingStateCadm_.CalculateSize(_repeated_adasOperatingStateCadm_codec);
      size += adasOperatingStateCadm2_.CalculateSize(_repeated_adasOperatingStateCadm2_codec);
      size += mrmStateCadm_.CalculateSize(_repeated_mrmStateCadm_codec);
      size += mrmStateCadm2_.CalculateSize(_repeated_mrmStateCadm2_codec);
      size += torqueOverlayEngageReqEPSCadm_.CalculateSize(_repeated_torqueOverlayEngageReqEPSCadm_codec);
      size += torqueOverlayEngageReqEPSCadm2_.CalculateSize(_repeated_torqueOverlayEngageReqEPSCadm2_codec);
      size += powertrainInterfaceEngageReq_.CalculateSize(_repeated_powertrainInterfaceEngageReq_codec);
      size += brakeDecelInterfaceEngageReqTypeCadm_.CalculateSize(_repeated_brakeDecelInterfaceEngageReqTypeCadm_codec);
      size += brakeDecelInterfaceEngageReqTypeCadm2_.CalculateSize(_repeated_brakeDecelInterfaceEngageReqTypeCadm2_codec);
      size += electronicParkBrakeStatus_.CalculateSize(_repeated_electronicParkBrakeStatus_codec);
      size += steeringWheelHandsOnStatus_.CalculateSize(_repeated_steeringWheelHandsOnStatus_codec);
      size += epsHandsOnStatusPrimary_.CalculateSize(_repeated_epsHandsOnStatusPrimary_codec);
      size += epsHandsOnStatusSecondary_.CalculateSize(_repeated_epsHandsOnStatusSecondary_codec);
      size += driverGazeLocation_.CalculateSize(_repeated_driverGazeLocation_codec);
      size += prndlPosition_.CalculateSize(_repeated_prndlPosition_codec);
      size += yawRateBSM_.CalculateSize(_repeated_yawRateBSM_codec);
      size += yawRateGNMM_.CalculateSize(_repeated_yawRateGNMM_codec);
      size += rfTirePressure_.CalculateSize(_repeated_rfTirePressure_codec);
      size += lfTirePressure_.CalculateSize(_repeated_lfTirePressure_codec);
      size += rrTirePressure_.CalculateSize(_repeated_rrTirePressure_codec);
      size += lrTirePressure_.CalculateSize(_repeated_lrTirePressure_codec);
      size += batteryVolt1_.CalculateSize(_repeated_batteryVolt1_codec);
      size += batteryVolt2_.CalculateSize(_repeated_batteryVolt2_codec);
      size += torqueRequestEPSCadm_.CalculateSize(_repeated_torqueRequestEPSCadm_codec);
      size += torqueRequestEPSCadm2_.CalculateSize(_repeated_torqueRequestEPSCadm2_codec);
      size += epsMotorTorqueFD14_.CalculateSize(_repeated_epsMotorTorqueFD14_codec);
      size += epsMotorTorqueFD2_.CalculateSize(_repeated_epsMotorTorqueFD2_codec);
      size += powertrainTorqueReq_.CalculateSize(_repeated_powertrainTorqueReq_codec);
      size += powertrainOutputTorque_.CalculateSize(_repeated_powertrainOutputTorque_codec);
      size += brakeDecelRequestCadm_.CalculateSize(_repeated_brakeDecelRequestCadm_codec);
      size += brakeDecelRequestCadm2_.CalculateSize(_repeated_brakeDecelRequestCadm2_codec);
      size += brakeTorqueAppliedBSM_.CalculateSize(_repeated_brakeTorqueAppliedBSM_codec);
      size += brakeTorqueAppliedBSM2_.CalculateSize(_repeated_brakeTorqueAppliedBSM2_codec);
      size += driverAppSteeringWheelTorquePrimary_.CalculateSize(_repeated_driverAppSteeringWheelTorquePrimary_codec);
      size += driverAppSteeringWheelTorqueSecondary_.CalculateSize(_repeated_driverAppSteeringWheelTorqueSecondary_codec);
      size += throttlePedalPosition_.CalculateSize(_repeated_throttlePedalPosition_codec);
      size += externalAmbientTemp_.CalculateSize(_repeated_externalAmbientTemp_codec);
      size += driverLongitudinalSetSpeed_.CalculateSize(_repeated_driverLongitudinalSetSpeed_codec);
      size += systemTargetSpeed_.CalculateSize(_repeated_systemTargetSpeed_codec);
      size += vehicleSpeed_.CalculateSize(_repeated_vehicleSpeed_codec);
      size += steeringAnglePrimary_.CalculateSize(_repeated_steeringAnglePrimary_codec);
      size += steeringAngleSecondary_.CalculateSize(_repeated_steeringAngleSecondary_codec);
      size += lateralAccelerationBSM_.CalculateSize(_repeated_lateralAccelerationBSM_codec);
      size += lateralAccelerationGNMM_.CalculateSize(_repeated_lateralAccelerationGNMM_codec);
      size += longAccelerationBSM_.CalculateSize(_repeated_longAccelerationBSM_codec);
      size += longAccelerationGNMM_.CalculateSize(_repeated_longAccelerationGNMM_codec);
      size += frontLongRangeCameraImg_.CalculateSize(_repeated_frontLongRangeCameraImg_codec);
      size += locHDMapCoordinate_.CalculateSize(_repeated_locHDMapCoordinate_codec);
      size += trackedObjects_.CalculateSize(_repeated_trackedObjects_codec);
      size += steeringAngleTypePrimary_.CalculateSize(_repeated_steeringAngleTypePrimary_codec);
      size += steeringAngleTypeSecondary_.CalculateSize(_repeated_steeringAngleTypeSecondary_codec);
      size += epsOverlayStateFD14_.CalculateSize(_repeated_epsOverlayStateFD14_codec);
      size += epsOverlayStateFD2_.CalculateSize(_repeated_epsOverlayStateFD2_codec);
      size += gpsPosition_.CalculateSize(_repeated_gpsPosition_codec);
      size += cameraObjectList_.CalculateSize(_repeated_cameraObjectList_codec);
      size += driverSeatBeltStatus_.CalculateSize(_repeated_driverSeatBeltStatus_codec);
      size += driverDoorStatus_.CalculateSize(_repeated_driverDoorStatus_codec);
      size += fcwPersonalizationSetting_.CalculateSize(_repeated_fcwPersonalizationSetting_codec);
      size += headLightSwitchStatus_.CalculateSize(_repeated_headLightSwitchStatus_codec);
      size += ignitionSwitchStatus_.CalculateSize(_repeated_ignitionSwitchStatus_codec);
      size += edrDeploymentStatus_.CalculateSize(_repeated_edrDeploymentStatus_codec);
      if (cadm2SoftwareVersion_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(Cadm2SoftwareVersion);
      }
      size += cADM2ModeStatus_.CalculateSize(_repeated_cADM2ModeStatus_codec);
      size += l2PHMIReqToAudioAmp_.CalculateSize(_repeated_l2PHMIReqToAudioAmp_codec);
      size += l2PHMIReqToCluster_.CalculateSize(_repeated_l2PHMIReqToCluster_codec);
      size += turnSignalSwitchStatus_.CalculateSize(_repeated_turnSignalSwitchStatus_codec);
      size += dbsmInternalErrorSts_.CalculateSize(_repeated_dbsmInternalErrorSts_codec);
      size += dbsmResponseErrorSts_.CalculateSize(_repeated_dbsmResponseErrorSts_codec);
      size += dbsmOverCurrentDetectedSts_.CalculateSize(_repeated_dbsmOverCurrentDetectedSts_codec);
      size += dbsmOverTemperatureDetectedSts_.CalculateSize(_repeated_dbsmOverTemperatureDetectedSts_codec);
      size += dbsmSwitchStsOpenClose_.CalculateSize(_repeated_dbsmSwitchStsOpenClose_codec);
      size += dbsmUndervoltageDetectedSts_.CalculateSize(_repeated_dbsmUndervoltageDetectedSts_codec);
      size += headLightStatus_.CalculateSize(_repeated_headLightStatus_codec);
      size += hppPolynomial_.CalculateSize(_repeated_hppPolynomial_codec);
      size += cameraLaneBorderPolynomial_.CalculateSize(_repeated_cameraLaneBorderPolynomial_codec);
      size += datalogTimestamp_.CalculateSize(_repeated_datalogTimestamp_codec);
      size += verticalAccelerationGNMM_.CalculateSize(_repeated_verticalAccelerationGNMM_codec);
      size += rollRateGNMM_.CalculateSize(_repeated_rollRateGNMM_codec);
      size += pitchRateGNMM_.CalculateSize(_repeated_pitchRateGNMM_codec);
      size += cvpamFaultStatus_.CalculateSize(_repeated_cvpamFaultStatus_codec);
      size += dalmColorStatus_.CalculateSize(_repeated_dalmColorStatus_codec);
      size += adasEngagedStatus_.CalculateSize(_repeated_adasEngagedStatus_codec);
      size += adasEngagedStatusCadm2_.CalculateSize(_repeated_adasEngagedStatusCadm2_codec);
      size += brakeJerkReq_.CalculateSize(_repeated_brakeJerkReq_codec);
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(DataLogMessageObject other) {
      if (other == null) {
        return;
      }
      fusedLaneBoundaries_.Add(other.fusedLaneBoundaries_);
      reasonForDisengagement_.Add(other.reasonForDisengagement_);
      absActiveFlagBSM_.Add(other.absActiveFlagBSM_);
      absActiveFlagBSM2_.Add(other.absActiveFlagBSM2_);
      escActiveFlagBSM_.Add(other.escActiveFlagBSM_);
      hdMapCenterlineLateralDistance_.Add(other.hdMapCenterlineLateralDistance_);
      lrcfFaultStatus_.Add(other.lrcfFaultStatus_);
      lrrfFaultStatus_.Add(other.lrrfFaultStatus_);
      mrrflFaultStatus_.Add(other.mrrflFaultStatus_);
      mrrrlFaultStatus_.Add(other.mrrrlFaultStatus_);
      mrrfrFaultStatus_.Add(other.mrrfrFaultStatus_);
      mrrrrFaultStatus_.Add(other.mrrrrFaultStatus_);
      brakePrefillRequest_.Add(other.brakePrefillRequest_);
      prefillResponse_.Add(other.prefillResponse_);
      driverHeadPosition_.Add(other.driverHeadPosition_);
      hazardSwitchStatus_.Add(other.hazardSwitchStatus_);
      guidancePathLateralDistance_.Add(other.guidancePathLateralDistance_);
      seatVibrationReq_.Add(other.seatVibrationReq_);
      seatVibrationSts_.Add(other.seatVibrationSts_);
      wiperSwitchStatus_.Add(other.wiperSwitchStatus_);
      driverModelStatus_.Add(other.driverModelStatus_);
      fcwWarningStatus_.Add(other.fcwWarningStatus_);
      bsmFaultStatus_.Add(other.bsmFaultStatus_);
      bsm2FaultStatus_.Add(other.bsm2FaultStatus_);
      cadmFaultStatus_.Add(other.cadmFaultStatus_);
      cadm2FaultStatus_.Add(other.cadm2FaultStatus_);
      gnmmFaultStatus_.Add(other.gnmmFaultStatus_);
      dmsmFaultStatus_.Add(other.dmsmFaultStatus_);
      powertrainMILLampStatus_.Add(other.powertrainMILLampStatus_);
      swsmFaultStatus_.Add(other.swsmFaultStatus_);
      dalmFaultStatus_.Add(other.dalmFaultStatus_);
      adasOperatingStateCadm_.Add(other.adasOperatingStateCadm_);
      adasOperatingStateCadm2_.Add(other.adasOperatingStateCadm2_);
      mrmStateCadm_.Add(other.mrmStateCadm_);
      mrmStateCadm2_.Add(other.mrmStateCadm2_);
      torqueOverlayEngageReqEPSCadm_.Add(other.torqueOverlayEngageReqEPSCadm_);
      torqueOverlayEngageReqEPSCadm2_.Add(other.torqueOverlayEngageReqEPSCadm2_);
      powertrainInterfaceEngageReq_.Add(other.powertrainInterfaceEngageReq_);
      brakeDecelInterfaceEngageReqTypeCadm_.Add(other.brakeDecelInterfaceEngageReqTypeCadm_);
      brakeDecelInterfaceEngageReqTypeCadm2_.Add(other.brakeDecelInterfaceEngageReqTypeCadm2_);
      electronicParkBrakeStatus_.Add(other.electronicParkBrakeStatus_);
      steeringWheelHandsOnStatus_.Add(other.steeringWheelHandsOnStatus_);
      epsHandsOnStatusPrimary_.Add(other.epsHandsOnStatusPrimary_);
      epsHandsOnStatusSecondary_.Add(other.epsHandsOnStatusSecondary_);
      driverGazeLocation_.Add(other.driverGazeLocation_);
      prndlPosition_.Add(other.prndlPosition_);
      yawRateBSM_.Add(other.yawRateBSM_);
      yawRateGNMM_.Add(other.yawRateGNMM_);
      rfTirePressure_.Add(other.rfTirePressure_);
      lfTirePressure_.Add(other.lfTirePressure_);
      rrTirePressure_.Add(other.rrTirePressure_);
      lrTirePressure_.Add(other.lrTirePressure_);
      batteryVolt1_.Add(other.batteryVolt1_);
      batteryVolt2_.Add(other.batteryVolt2_);
      torqueRequestEPSCadm_.Add(other.torqueRequestEPSCadm_);
      torqueRequestEPSCadm2_.Add(other.torqueRequestEPSCadm2_);
      epsMotorTorqueFD14_.Add(other.epsMotorTorqueFD14_);
      epsMotorTorqueFD2_.Add(other.epsMotorTorqueFD2_);
      powertrainTorqueReq_.Add(other.powertrainTorqueReq_);
      powertrainOutputTorque_.Add(other.powertrainOutputTorque_);
      brakeDecelRequestCadm_.Add(other.brakeDecelRequestCadm_);
      brakeDecelRequestCadm2_.Add(other.brakeDecelRequestCadm2_);
      brakeTorqueAppliedBSM_.Add(other.brakeTorqueAppliedBSM_);
      brakeTorqueAppliedBSM2_.Add(other.brakeTorqueAppliedBSM2_);
      driverAppSteeringWheelTorquePrimary_.Add(other.driverAppSteeringWheelTorquePrimary_);
      driverAppSteeringWheelTorqueSecondary_.Add(other.driverAppSteeringWheelTorqueSecondary_);
      throttlePedalPosition_.Add(other.throttlePedalPosition_);
      externalAmbientTemp_.Add(other.externalAmbientTemp_);
      driverLongitudinalSetSpeed_.Add(other.driverLongitudinalSetSpeed_);
      systemTargetSpeed_.Add(other.systemTargetSpeed_);
      vehicleSpeed_.Add(other.vehicleSpeed_);
      steeringAnglePrimary_.Add(other.steeringAnglePrimary_);
      steeringAngleSecondary_.Add(other.steeringAngleSecondary_);
      lateralAccelerationBSM_.Add(other.lateralAccelerationBSM_);
      lateralAccelerationGNMM_.Add(other.lateralAccelerationGNMM_);
      longAccelerationBSM_.Add(other.longAccelerationBSM_);
      longAccelerationGNMM_.Add(other.longAccelerationGNMM_);
      frontLongRangeCameraImg_.Add(other.frontLongRangeCameraImg_);
      locHDMapCoordinate_.Add(other.locHDMapCoordinate_);
      trackedObjects_.Add(other.trackedObjects_);
      steeringAngleTypePrimary_.Add(other.steeringAngleTypePrimary_);
      steeringAngleTypeSecondary_.Add(other.steeringAngleTypeSecondary_);
      epsOverlayStateFD14_.Add(other.epsOverlayStateFD14_);
      epsOverlayStateFD2_.Add(other.epsOverlayStateFD2_);
      gpsPosition_.Add(other.gpsPosition_);
      cameraObjectList_.Add(other.cameraObjectList_);
      driverSeatBeltStatus_.Add(other.driverSeatBeltStatus_);
      driverDoorStatus_.Add(other.driverDoorStatus_);
      fcwPersonalizationSetting_.Add(other.fcwPersonalizationSetting_);
      headLightSwitchStatus_.Add(other.headLightSwitchStatus_);
      ignitionSwitchStatus_.Add(other.ignitionSwitchStatus_);
      edrDeploymentStatus_.Add(other.edrDeploymentStatus_);
      if (other.cadm2SoftwareVersion_ != null) {
        if (cadm2SoftwareVersion_ == null) {
          cadm2SoftwareVersion_ = new global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Cadm2SoftwareVersionType();
        }
        Cadm2SoftwareVersion.MergeFrom(other.Cadm2SoftwareVersion);
      }
      cADM2ModeStatus_.Add(other.cADM2ModeStatus_);
      l2PHMIReqToAudioAmp_.Add(other.l2PHMIReqToAudioAmp_);
      l2PHMIReqToCluster_.Add(other.l2PHMIReqToCluster_);
      turnSignalSwitchStatus_.Add(other.turnSignalSwitchStatus_);
      dbsmInternalErrorSts_.Add(other.dbsmInternalErrorSts_);
      dbsmResponseErrorSts_.Add(other.dbsmResponseErrorSts_);
      dbsmOverCurrentDetectedSts_.Add(other.dbsmOverCurrentDetectedSts_);
      dbsmOverTemperatureDetectedSts_.Add(other.dbsmOverTemperatureDetectedSts_);
      dbsmSwitchStsOpenClose_.Add(other.dbsmSwitchStsOpenClose_);
      dbsmUndervoltageDetectedSts_.Add(other.dbsmUndervoltageDetectedSts_);
      headLightStatus_.Add(other.headLightStatus_);
      hppPolynomial_.Add(other.hppPolynomial_);
      cameraLaneBorderPolynomial_.Add(other.cameraLaneBorderPolynomial_);
      datalogTimestamp_.Add(other.datalogTimestamp_);
      verticalAccelerationGNMM_.Add(other.verticalAccelerationGNMM_);
      rollRateGNMM_.Add(other.rollRateGNMM_);
      pitchRateGNMM_.Add(other.pitchRateGNMM_);
      cvpamFaultStatus_.Add(other.cvpamFaultStatus_);
      dalmColorStatus_.Add(other.dalmColorStatus_);
      adasEngagedStatus_.Add(other.adasEngagedStatus_);
      adasEngagedStatusCadm2_.Add(other.adasEngagedStatusCadm2_);
      brakeJerkReq_.Add(other.brakeJerkReq_);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            frontLongRangeCameraImg_.AddEntriesFrom(input, _repeated_frontLongRangeCameraImg_codec);
            break;
          }
          case 18: {
            trackedObjects_.AddEntriesFrom(input, _repeated_trackedObjects_codec);
            break;
          }
          case 26: {
            fusedLaneBoundaries_.AddEntriesFrom(input, _repeated_fusedLaneBoundaries_codec);
            break;
          }
          case 34: {
            locHDMapCoordinate_.AddEntriesFrom(input, _repeated_locHDMapCoordinate_codec);
            break;
          }
          case 42: {
            driverLongitudinalSetSpeed_.AddEntriesFrom(input, _repeated_driverLongitudinalSetSpeed_codec);
            break;
          }
          case 50: {
            systemTargetSpeed_.AddEntriesFrom(input, _repeated_systemTargetSpeed_codec);
            break;
          }
          case 58:
          case 56: {
            driverModelStatus_.AddEntriesFrom(input, _repeated_driverModelStatus_codec);
            break;
          }
          case 66: {
            vehicleSpeed_.AddEntriesFrom(input, _repeated_vehicleSpeed_codec);
            break;
          }
          case 74: {
            steeringAnglePrimary_.AddEntriesFrom(input, _repeated_steeringAnglePrimary_codec);
            break;
          }
          case 82:
          case 80: {
            steeringAngleTypePrimary_.AddEntriesFrom(input, _repeated_steeringAngleTypePrimary_codec);
            break;
          }
          case 90: {
            steeringAngleSecondary_.AddEntriesFrom(input, _repeated_steeringAngleSecondary_codec);
            break;
          }
          case 98:
          case 96: {
            steeringAngleTypeSecondary_.AddEntriesFrom(input, _repeated_steeringAngleTypeSecondary_codec);
            break;
          }
          case 106: {
            lateralAccelerationBSM_.AddEntriesFrom(input, _repeated_lateralAccelerationBSM_codec);
            break;
          }
          case 114: {
            lateralAccelerationGNMM_.AddEntriesFrom(input, _repeated_lateralAccelerationGNMM_codec);
            break;
          }
          case 122: {
            longAccelerationBSM_.AddEntriesFrom(input, _repeated_longAccelerationBSM_codec);
            break;
          }
          case 130: {
            longAccelerationGNMM_.AddEntriesFrom(input, _repeated_longAccelerationGNMM_codec);
            break;
          }
          case 146: {
            yawRateBSM_.AddEntriesFrom(input, _repeated_yawRateBSM_codec);
            break;
          }
          case 154: {
            yawRateGNMM_.AddEntriesFrom(input, _repeated_yawRateGNMM_codec);
            break;
          }
          case 178:
          case 176: {
            absActiveFlagBSM_.AddEntriesFrom(input, _repeated_absActiveFlagBSM_codec);
            break;
          }
          case 186:
          case 184: {
            absActiveFlagBSM2_.AddEntriesFrom(input, _repeated_absActiveFlagBSM2_codec);
            break;
          }
          case 194: {
            rfTirePressure_.AddEntriesFrom(input, _repeated_rfTirePressure_codec);
            break;
          }
          case 202: {
            lfTirePressure_.AddEntriesFrom(input, _repeated_lfTirePressure_codec);
            break;
          }
          case 210: {
            rrTirePressure_.AddEntriesFrom(input, _repeated_rrTirePressure_codec);
            break;
          }
          case 218: {
            lrTirePressure_.AddEntriesFrom(input, _repeated_lrTirePressure_codec);
            break;
          }
          case 226: {
            batteryVolt1_.AddEntriesFrom(input, _repeated_batteryVolt1_codec);
            break;
          }
          case 234: {
            batteryVolt2_.AddEntriesFrom(input, _repeated_batteryVolt2_codec);
            break;
          }
          case 242:
          case 240: {
            fcwWarningStatus_.AddEntriesFrom(input, _repeated_fcwWarningStatus_codec);
            break;
          }
          case 250:
          case 248: {
            bsmFaultStatus_.AddEntriesFrom(input, _repeated_bsmFaultStatus_codec);
            break;
          }
          case 258:
          case 256: {
            bsm2FaultStatus_.AddEntriesFrom(input, _repeated_bsm2FaultStatus_codec);
            break;
          }
          case 274:
          case 272: {
            cadmFaultStatus_.AddEntriesFrom(input, _repeated_cadmFaultStatus_codec);
            break;
          }
          case 282:
          case 280: {
            cadm2FaultStatus_.AddEntriesFrom(input, _repeated_cadm2FaultStatus_codec);
            break;
          }
          case 290:
          case 288: {
            gnmmFaultStatus_.AddEntriesFrom(input, _repeated_gnmmFaultStatus_codec);
            break;
          }
          case 298:
          case 296: {
            dmsmFaultStatus_.AddEntriesFrom(input, _repeated_dmsmFaultStatus_codec);
            break;
          }
          case 306:
          case 304: {
            powertrainMILLampStatus_.AddEntriesFrom(input, _repeated_powertrainMILLampStatus_codec);
            break;
          }
          case 314:
          case 312: {
            lrcfFaultStatus_.AddEntriesFrom(input, _repeated_lrcfFaultStatus_codec);
            break;
          }
          case 322:
          case 320: {
            lrrfFaultStatus_.AddEntriesFrom(input, _repeated_lrrfFaultStatus_codec);
            break;
          }
          case 330:
          case 328: {
            mrrflFaultStatus_.AddEntriesFrom(input, _repeated_mrrflFaultStatus_codec);
            break;
          }
          case 338:
          case 336: {
            mrrrlFaultStatus_.AddEntriesFrom(input, _repeated_mrrrlFaultStatus_codec);
            break;
          }
          case 346:
          case 344: {
            mrrfrFaultStatus_.AddEntriesFrom(input, _repeated_mrrfrFaultStatus_codec);
            break;
          }
          case 354:
          case 352: {
            mrrrrFaultStatus_.AddEntriesFrom(input, _repeated_mrrrrFaultStatus_codec);
            break;
          }
          case 362:
          case 360: {
            swsmFaultStatus_.AddEntriesFrom(input, _repeated_swsmFaultStatus_codec);
            break;
          }
          case 370:
          case 368: {
            dalmFaultStatus_.AddEntriesFrom(input, _repeated_dalmFaultStatus_codec);
            break;
          }
          case 410:
          case 408: {
            adasOperatingStateCadm_.AddEntriesFrom(input, _repeated_adasOperatingStateCadm_codec);
            break;
          }
          case 418:
          case 416: {
            adasOperatingStateCadm2_.AddEntriesFrom(input, _repeated_adasOperatingStateCadm2_codec);
            break;
          }
          case 426:
          case 424: {
            mrmStateCadm_.AddEntriesFrom(input, _repeated_mrmStateCadm_codec);
            break;
          }
          case 434:
          case 432: {
            mrmStateCadm2_.AddEntriesFrom(input, _repeated_mrmStateCadm2_codec);
            break;
          }
          case 450:
          case 448: {
            torqueOverlayEngageReqEPSCadm_.AddEntriesFrom(input, _repeated_torqueOverlayEngageReqEPSCadm_codec);
            break;
          }
          case 458: {
            torqueRequestEPSCadm_.AddEntriesFrom(input, _repeated_torqueRequestEPSCadm_codec);
            break;
          }
          case 466:
          case 464: {
            torqueOverlayEngageReqEPSCadm2_.AddEntriesFrom(input, _repeated_torqueOverlayEngageReqEPSCadm2_codec);
            break;
          }
          case 474: {
            torqueRequestEPSCadm2_.AddEntriesFrom(input, _repeated_torqueRequestEPSCadm2_codec);
            break;
          }
          case 482:
          case 480: {
            epsOverlayStateFD14_.AddEntriesFrom(input, _repeated_epsOverlayStateFD14_codec);
            break;
          }
          case 490:
          case 488: {
            epsOverlayStateFD2_.AddEntriesFrom(input, _repeated_epsOverlayStateFD2_codec);
            break;
          }
          case 498: {
            epsMotorTorqueFD14_.AddEntriesFrom(input, _repeated_epsMotorTorqueFD14_codec);
            break;
          }
          case 506: {
            epsMotorTorqueFD2_.AddEntriesFrom(input, _repeated_epsMotorTorqueFD2_codec);
            break;
          }
          case 514: {
            powertrainInterfaceEngageReq_.AddEntriesFrom(input, _repeated_powertrainInterfaceEngageReq_codec);
            break;
          }
          case 522: {
            powertrainTorqueReq_.AddEntriesFrom(input, _repeated_powertrainTorqueReq_codec);
            break;
          }
          case 530: {
            powertrainOutputTorque_.AddEntriesFrom(input, _repeated_powertrainOutputTorque_codec);
            break;
          }
          case 538:
          case 536: {
            brakeDecelInterfaceEngageReqTypeCadm_.AddEntriesFrom(input, _repeated_brakeDecelInterfaceEngageReqTypeCadm_codec);
            break;
          }
          case 546: {
            brakeDecelRequestCadm_.AddEntriesFrom(input, _repeated_brakeDecelRequestCadm_codec);
            break;
          }
          case 554:
          case 552: {
            brakeDecelInterfaceEngageReqTypeCadm2_.AddEntriesFrom(input, _repeated_brakeDecelInterfaceEngageReqTypeCadm2_codec);
            break;
          }
          case 562: {
            brakeDecelRequestCadm2_.AddEntriesFrom(input, _repeated_brakeDecelRequestCadm2_codec);
            break;
          }
          case 570:
          case 568: {
            brakePrefillRequest_.AddEntriesFrom(input, _repeated_brakePrefillRequest_codec);
            break;
          }
          case 578:
          case 576: {
            prefillResponse_.AddEntriesFrom(input, _repeated_prefillResponse_codec);
            break;
          }
          case 586: {
            brakeTorqueAppliedBSM_.AddEntriesFrom(input, _repeated_brakeTorqueAppliedBSM_codec);
            break;
          }
          case 594: {
            brakeTorqueAppliedBSM2_.AddEntriesFrom(input, _repeated_brakeTorqueAppliedBSM2_codec);
            break;
          }
          case 602:
          case 600: {
            electronicParkBrakeStatus_.AddEntriesFrom(input, _repeated_electronicParkBrakeStatus_codec);
            break;
          }
          case 618: {
            gpsPosition_.AddEntriesFrom(input, _repeated_gpsPosition_codec);
            break;
          }
          case 626: {
            cameraObjectList_.AddEntriesFrom(input, _repeated_cameraObjectList_codec);
            break;
          }
          case 658: {
            driverAppSteeringWheelTorquePrimary_.AddEntriesFrom(input, _repeated_driverAppSteeringWheelTorquePrimary_codec);
            break;
          }
          case 666: {
            driverAppSteeringWheelTorqueSecondary_.AddEntriesFrom(input, _repeated_driverAppSteeringWheelTorqueSecondary_codec);
            break;
          }
          case 674: {
            throttlePedalPosition_.AddEntriesFrom(input, _repeated_throttlePedalPosition_codec);
            break;
          }
          case 682:
          case 680: {
            steeringWheelHandsOnStatus_.AddEntriesFrom(input, _repeated_steeringWheelHandsOnStatus_codec);
            break;
          }
          case 690:
          case 688: {
            epsHandsOnStatusPrimary_.AddEntriesFrom(input, _repeated_epsHandsOnStatusPrimary_codec);
            break;
          }
          case 698:
          case 696: {
            epsHandsOnStatusSecondary_.AddEntriesFrom(input, _repeated_epsHandsOnStatusSecondary_codec);
            break;
          }
          case 714:
          case 712: {
            driverSeatBeltStatus_.AddEntriesFrom(input, _repeated_driverSeatBeltStatus_codec);
            break;
          }
          case 722:
          case 720: {
            driverDoorStatus_.AddEntriesFrom(input, _repeated_driverDoorStatus_codec);
            break;
          }
          case 730: {
            externalAmbientTemp_.AddEntriesFrom(input, _repeated_externalAmbientTemp_codec);
            break;
          }
          case 738:
          case 736: {
            driverHeadPosition_.AddEntriesFrom(input, _repeated_driverHeadPosition_codec);
            break;
          }
          case 746:
          case 744: {
            driverGazeLocation_.AddEntriesFrom(input, _repeated_driverGazeLocation_codec);
            break;
          }
          case 754:
          case 752: {
            hazardSwitchStatus_.AddEntriesFrom(input, _repeated_hazardSwitchStatus_codec);
            break;
          }
          case 762:
          case 760: {
            prndlPosition_.AddEntriesFrom(input, _repeated_prndlPosition_codec);
            break;
          }
          case 770:
          case 768: {
            fcwPersonalizationSetting_.AddEntriesFrom(input, _repeated_fcwPersonalizationSetting_codec);
            break;
          }
          case 778:
          case 776: {
            headLightSwitchStatus_.AddEntriesFrom(input, _repeated_headLightSwitchStatus_codec);
            break;
          }
          case 794:
          case 792: {
            wiperSwitchStatus_.AddEntriesFrom(input, _repeated_wiperSwitchStatus_codec);
            break;
          }
          case 802:
          case 800: {
            ignitionSwitchStatus_.AddEntriesFrom(input, _repeated_ignitionSwitchStatus_codec);
            break;
          }
          case 810: {
            edrDeploymentStatus_.AddEntriesFrom(input, _repeated_edrDeploymentStatus_codec);
            break;
          }
          case 818: {
            if (cadm2SoftwareVersion_ == null) {
              cadm2SoftwareVersion_ = new global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Cadm2SoftwareVersionType();
            }
            input.ReadMessage(cadm2SoftwareVersion_);
            break;
          }
          case 826: {
            guidancePathLateralDistance_.AddEntriesFrom(input, _repeated_guidancePathLateralDistance_codec);
            break;
          }
          case 1482:
          case 1480: {
            escActiveFlagBSM_.AddEntriesFrom(input, _repeated_escActiveFlagBSM_codec);
            break;
          }
          case 1546:
          case 1544: {
            brakeJerkReq_.AddEntriesFrom(input, _repeated_brakeJerkReq_codec);
            break;
          }
          case 1562:
          case 1560: {
            cADM2ModeStatus_.AddEntriesFrom(input, _repeated_cADM2ModeStatus_codec);
            break;
          }
          case 1570:
          case 1568: {
            seatVibrationReq_.AddEntriesFrom(input, _repeated_seatVibrationReq_codec);
            break;
          }
          case 1578:
          case 1576: {
            seatVibrationSts_.AddEntriesFrom(input, _repeated_seatVibrationSts_codec);
            break;
          }
          case 1586: {
            l2PHMIReqToAudioAmp_.AddEntriesFrom(input, _repeated_l2PHMIReqToAudioAmp_codec);
            break;
          }
          case 1610: {
            l2PHMIReqToCluster_.AddEntriesFrom(input, _repeated_l2PHMIReqToCluster_codec);
            break;
          }
          case 1618: {
            turnSignalSwitchStatus_.AddEntriesFrom(input, _repeated_turnSignalSwitchStatus_codec);
            break;
          }
          case 1634: {
            reasonForDisengagement_.AddEntriesFrom(input, _repeated_reasonForDisengagement_codec);
            break;
          }
          case 1706:
          case 1704: {
            dbsmInternalErrorSts_.AddEntriesFrom(input, _repeated_dbsmInternalErrorSts_codec);
            break;
          }
          case 1714:
          case 1712: {
            dbsmResponseErrorSts_.AddEntriesFrom(input, _repeated_dbsmResponseErrorSts_codec);
            break;
          }
          case 1722:
          case 1720: {
            dbsmOverCurrentDetectedSts_.AddEntriesFrom(input, _repeated_dbsmOverCurrentDetectedSts_codec);
            break;
          }
          case 1730:
          case 1728: {
            dbsmOverTemperatureDetectedSts_.AddEntriesFrom(input, _repeated_dbsmOverTemperatureDetectedSts_codec);
            break;
          }
          case 1738:
          case 1736: {
            dbsmSwitchStsOpenClose_.AddEntriesFrom(input, _repeated_dbsmSwitchStsOpenClose_codec);
            break;
          }
          case 1746:
          case 1744: {
            dbsmUndervoltageDetectedSts_.AddEntriesFrom(input, _repeated_dbsmUndervoltageDetectedSts_codec);
            break;
          }
          case 1754: {
            headLightStatus_.AddEntriesFrom(input, _repeated_headLightStatus_codec);
            break;
          }
          case 1834:
          case 1837: {
            hdMapCenterlineLateralDistance_.AddEntriesFrom(input, _repeated_hdMapCenterlineLateralDistance_codec);
            break;
          }
          case 1842: {
            hppPolynomial_.AddEntriesFrom(input, _repeated_hppPolynomial_codec);
            break;
          }
          case 1850: {
            cameraLaneBorderPolynomial_.AddEntriesFrom(input, _repeated_cameraLaneBorderPolynomial_codec);
            break;
          }
          case 1858: {
            datalogTimestamp_.AddEntriesFrom(input, _repeated_datalogTimestamp_codec);
            break;
          }
          case 1866: {
            verticalAccelerationGNMM_.AddEntriesFrom(input, _repeated_verticalAccelerationGNMM_codec);
            break;
          }
          case 1874: {
            rollRateGNMM_.AddEntriesFrom(input, _repeated_rollRateGNMM_codec);
            break;
          }
          case 1882: {
            pitchRateGNMM_.AddEntriesFrom(input, _repeated_pitchRateGNMM_codec);
            break;
          }
          case 1890: {
            cvpamFaultStatus_.AddEntriesFrom(input, _repeated_cvpamFaultStatus_codec);
            break;
          }
          case 1906: {
            dalmColorStatus_.AddEntriesFrom(input, _repeated_dalmColorStatus_codec);
            break;
          }
          case 1922: {
            adasEngagedStatus_.AddEntriesFrom(input, _repeated_adasEngagedStatus_codec);
            break;
          }
          case 1930: {
            adasEngagedStatusCadm2_.AddEntriesFrom(input, _repeated_adasEngagedStatusCadm2_codec);
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the DataLogMessageObject message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      public enum TurnIndicator_Enum {
        [pbr::OriginalName("CENTER")] Center = 0,
        [pbr::OriginalName("LEFT")] Left = 1,
        [pbr::OriginalName("RIGHT")] Right = 2,
        [pbr::OriginalName("SNA_TURN_INDICATOR")] SnaTurnIndicator = 3,
      }

      public enum ACC_SetSpeedStrike_Enum {
        [pbr::OriginalName("NOT_PRESENT_SETSPEED")] NotPresentSetspeed = 0,
        [pbr::OriginalName("PRESENT_SETSPEED")] PresentSetspeed = 1,
      }

      public enum SeatVib_Req_Enum {
        /// <summary>
        //// No_Request
        /// </summary>
        [pbr::OriginalName("No_Request_SeatVib")] NoRequestSeatVib = 0,
        [pbr::OriginalName("Type_1")] Type1 = 1,
        [pbr::OriginalName("Type_2")] Type2 = 2,
        [pbr::OriginalName("Type_3")] Type3 = 3,
        [pbr::OriginalName("Type_4")] Type4 = 4,
      }

      public enum SeatVib_Sts_Enum {
        [pbr::OriginalName("INIT_SeatVib")] InitSeatVib = 0,
        /// <summary>
        //// Idle
        /// </summary>
        [pbr::OriginalName("IDLE_SeatVib")] IdleSeatVib = 1,
        [pbr::OriginalName("ACTIVE_SeatVib")] ActiveSeatVib = 2,
        [pbr::OriginalName("FAULTED_SeatVib")] FaultedSeatVib = 3,
      }

      public enum DBSM2_Internal_Error_Enum {
        [pbr::OriginalName("NO_ERROR_DBSM2")] NoErrorDbsm2 = 0,
        [pbr::OriginalName("ERROR_DBSM2")] ErrorDbsm2 = 1,
      }

      public enum Overcurrent_Detected_Enum {
        /// <summary>
        //// No_Fault
        /// </summary>
        [pbr::OriginalName("NO_FAULT_OVER_CURRENT")] NoFaultOverCurrent = 0,
        [pbr::OriginalName("Over_Current")] OverCurrent = 1,
      }

      public enum Overtemp_Detected_Enum {
        [pbr::OriginalName("NO_FAULT_OVER_TEMP")] NoFaultOverTemp = 0,
        [pbr::OriginalName("OVER_TEMP")] OverTemp = 1,
      }

      public enum Switch_Status_OpenClose_Enum {
        [pbr::OriginalName("OPEN")] Open = 0,
        [pbr::OriginalName("CLOSE")] Close = 1,
      }

      public enum Undervoltage_Detected_Enum {
        [pbr::OriginalName("NO_FAULT_UNDER_VOLTAGE")] NoFaultUnderVoltage = 0,
        [pbr::OriginalName("UNDER_VOLTAGE")] UnderVoltage = 1,
      }

      public enum FailSts_Enum {
        /// <summary>
        //// Fail_Not_Present_FailSts
        /// </summary>
        [pbr::OriginalName("Fail_Not_Present_FailSts")] FailNotPresentFailSts = 0,
        /// <summary>
        //// Fail_Present
        /// </summary>
        [pbr::OriginalName("Fail_Present")] FailPresent = 1,
      }

      public enum Blind_Enum {
        /// <summary>
        //// Blinded
        /// </summary>
        [pbr::OriginalName("Blinded")] Blinded = 0,
        /// <summary>
        //// Not_Blinded
        /// </summary>
        [pbr::OriginalName("Not_Blinded")] NotBlinded = 1,
      }

      public enum WiperSwitchStatus_Enum {
        [pbr::OriginalName("False")] False = 0,
        [pbr::OriginalName("True")] True = 1,
      }

      public enum FaultStatus_Enum {
        [pbr::OriginalName("NOT_FAULTED")] NotFaulted = 0,
        [pbr::OriginalName("FAULTED")] Faulted = 1,
      }

      public enum PrefillRequest_Enum {
        [pbr::OriginalName("NO_PREFILL_REQUESTED")] NoPrefillRequested = 0,
        [pbr::OriginalName("PREFILL_REQUESTED")] PrefillRequested = 1,
      }

      public enum Active_Enum {
        [pbr::OriginalName("NOT_ACTIVE")] NotActive = 0,
        [pbr::OriginalName("ACTIVE")] Active = 1,
      }

      public enum Set_Enum {
        [pbr::OriginalName("NOT_SET")] NotSet = 0,
        [pbr::OriginalName("SET")] Set = 1,
      }

      public enum Lane_DispPopupSts_Enum {
        [pbr::OriginalName("No_Code")] NoCode = 0,
        [pbr::OriginalName("LKA_On")] LkaOn = 1,
        [pbr::OriginalName("LKA_Off")] LkaOff = 2,
        [pbr::OriginalName("LKA_Hands_Off")] LkaHandsOff = 3,
        [pbr::OriginalName("HAS_Eyes_Off_Yellow")] HasEyesOffYellow = 4,
        [pbr::OriginalName("Take_Control_Red")] TakeControlRed = 5,
        [pbr::OriginalName("HAS_Ready_Highway")] HasReadyHighway = 6,
        [pbr::OriginalName("Blind_Spot_OFF")] BlindSpotOff = 7,
        [pbr::OriginalName("HAS_Ready_ACC_Set")] HasReadyAccSet = 8,
        [pbr::OriginalName("HAS_Unavailable_Speed_to_High")] HasUnavailableSpeedToHigh = 9,
        [pbr::OriginalName("HAS_Unavailable_Trailer")] HasUnavailableTrailer = 10,
        [pbr::OriginalName("HAS_Unavailable_TempNAP")] HasUnavailableTempNap = 11,
        [pbr::OriginalName("HAS_Cancel_FOW")] HasCancelFow = 12,
        [pbr::OriginalName("HAS_Cancel_Lane")] HasCancelLane = 13,
        [pbr::OriginalName("HAS_Cancel_Curve")] HasCancelCurve = 15,
        [pbr::OriginalName("Unsupport_Lane_Ahead_Take_Control")] UnsupportLaneAheadTakeControl = 16,
        [pbr::OriginalName("MRM_In_Prog")] MrmInProg = 17,
        [pbr::OriginalName("MRM_Complete")] MrmComplete = 18,
        [pbr::OriginalName("HAS_Unavail_Lane")] HasUnavailLane = 19,
        [pbr::OriginalName("HAS_Hands_Off_Yellow")] HasHandsOffYellow = 20,
        [pbr::OriginalName("HAS_Hands_Off_Red")] HasHandsOffRed = 21,
        [pbr::OriginalName("HAS_Cancel_Hands_Off")] HasCancelHandsOff = 22,
        [pbr::OriginalName("HAS_AEB_LKA_Cam_Blind")] HasAebLkaCamBlind = 23,
        [pbr::OriginalName("HAS_AEB_Cam_Blind")] HasAebCamBlind = 24,
        [pbr::OriginalName("HAS_LKA_Cam_Blind")] HasLkaCamBlind = 25,
        [pbr::OriginalName("HAS_Cam_Blind")] HasCamBlind = 26,
        [pbr::OriginalName("LKA_AEB_Cam_Blind")] LkaAebCamBlind = 27,
        [pbr::OriginalName("LKA_Cam_Blind")] LkaCamBlind = 28,
        [pbr::OriginalName("HAS_AEB_Radar_Blind")] HasAebRadarBlind = 29,
        [pbr::OriginalName("HAS_Radar_Blind")] HasRadarBlind = 30,
        [pbr::OriginalName("HAS_AEB_LKA_LIMITED_Fail")] HasAebLkaLimitedFail = 31,
        [pbr::OriginalName("HAS_AEB_LIMITED_Fail")] HasAebLimitedFail = 32,
        [pbr::OriginalName("LKA_AEB_LIMITED_Fail")] LkaAebLimitedFail = 33,
        [pbr::OriginalName("HAS_AEB_LKA_Fail")] HasAebLkaFail = 34,
        [pbr::OriginalName("HAS_AEB_Fail")] HasAebFail = 35,
        [pbr::OriginalName("HAS_LKA_Fail")] HasLkaFail = 36,
        [pbr::OriginalName("HAS_Fail")] HasFail = 37,
        [pbr::OriginalName("LKA_AEB_Fail")] LkaAebFail = 38,
        [pbr::OriginalName("LKA_Fail")] LkaFail = 39,
        [pbr::OriginalName("HAS_Cancel")] HasCancel = 40,
        [pbr::OriginalName("HAS_ON")] HasOn = 42,
        [pbr::OriginalName("HAS_OFF")] HasOff = 43,
        [pbr::OriginalName("BSS_Blind_ALM_On")] BssBlindAlmOn = 44,
        [pbr::OriginalName("BSS_Blind_ALM_Off")] BssBlindAlmOff = 45,
        [pbr::OriginalName("BSS_OPR_ALM_Off")] BssOprAlmOff = 46,
        [pbr::OriginalName("BSS_OPR_ALM_On")] BssOprAlmOn = 47,
        [pbr::OriginalName("BSS_SRV_ALM_Off")] BssSrvAlmOff = 48,
        [pbr::OriginalName("BSS_SRV_ALM_On")] BssSrvAlmOn = 49,
        [pbr::OriginalName("HAS_Unavail_Road_Data")] HasUnavailRoadData = 50,
        [pbr::OriginalName("HAS_Unavail_No_Eyes_On")] HasUnavailNoEyesOn = 51,
        [pbr::OriginalName("HAS_Unavail_Map_OOD")] HasUnavailMapOod = 52,
        [pbr::OriginalName("HAS_Unavail_Locked_Out")] HasUnavailLockedOut = 53,
        [pbr::OriginalName("HAS_Cancel_Road_Data")] HasCancelRoadData = 54,
        [pbr::OriginalName("HAS_Cancel_Driver_Not_Attent")] HasCancelDriverNotAttent = 55,
        [pbr::OriginalName("HAS_Cancel_Brake_Event")] HasCancelBrakeEvent = 56,
        [pbr::OriginalName("HAS_Cancel_Speed_Too_High")] HasCancelSpeedTooHigh = 57,
        [pbr::OriginalName("HAS_Cancel_Control_Limit")] HasCancelControlLimit = 58,
        [pbr::OriginalName("HAS_ACC_Unavailable_4WD_Low")] HasAccUnavailable4WdLow = 59,
        [pbr::OriginalName("HAS_ACC_Unavailable_ESC_Off")] HasAccUnavailableEscOff = 60,
        [pbr::OriginalName("HAS_ACC_Unavailable_ESC_Event")] HasAccUnavailableEscEvent = 61,
        [pbr::OriginalName("HAS_ACC_Unavailable_Brakes_Cooling")] HasAccUnavailableBrakesCooling = 62,
        [pbr::OriginalName("HAS_ACC_Unavailable_EPB_Active")] HasAccUnavailableEpbActive = 63,
        [pbr::OriginalName("HAS_ACC_Unavailable_Shift_D")] HasAccUnavailableShiftD = 64,
        [pbr::OriginalName("HAS_ACC_Unavailable_Door_Open")] HasAccUnavailableDoorOpen = 65,
        [pbr::OriginalName("HAS_ACC_Unavailable_Seatbelt_Unbuckled")] HasAccUnavailableSeatbeltUnbuckled = 66,
        [pbr::OriginalName("HAS_ACC_Unavailable_Road_to_Steep")] HasAccUnavailableRoadToSteep = 67,
        [pbr::OriginalName("HAS_ACC_Unavailable_Low_RPM")] HasAccUnavailableLowRpm = 68,
        [pbr::OriginalName("HAS_ACC_Unavailable_High_RPM")] HasAccUnavailableHighRpm = 69,
        [pbr::OriginalName("HAS_ACC_Cancel")] HasAccCancel = 70,
        [pbr::OriginalName("HAS_ACC_AEB_Cancel_ESC_Off")] HasAccAebCancelEscOff = 71,
        [pbr::OriginalName("HAS_ACC_Cancel_ESC_Off")] HasAccCancelEscOff = 72,
        [pbr::OriginalName("HAS_ACC_Cancel_ESC_Event")] HasAccCancelEscEvent = 73,
        [pbr::OriginalName("HAS_ACC_Cancel_Brakes_Cooling")] HasAccCancelBrakesCooling = 74,
        [pbr::OriginalName("HAS_ACC_Cancel_EPB_Active")] HasAccCancelEpbActive = 75,
        [pbr::OriginalName("HAS_ACC_Cancel_Shift_D")] HasAccCancelShiftD = 76,
        [pbr::OriginalName("HAS_ACC_Cancel_Door_Open")] HasAccCancelDoorOpen = 77,
        [pbr::OriginalName("HAS_ACC_Cancel_Seatbelt_Unbuckled")] HasAccCancelSeatbeltUnbuckled = 78,
        [pbr::OriginalName("HAS_ACC_Cancel_Road_to_Steep")] HasAccCancelRoadToSteep = 79,
        [pbr::OriginalName("HAS_ACC_Cancel_Low_RPM")] HasAccCancelLowRpm = 80,
        [pbr::OriginalName("HAS_ACC_Cancel_High_RPM")] HasAccCancelHighRpm = 81,
        [pbr::OriginalName("HAS_ACC_User_Enabled")] HasAccUserEnabled = 83,
        [pbr::OriginalName("HAS_ACC_Set")] HasAccSet = 84,
        [pbr::OriginalName("LKA_Off_Check")] LkaOffCheck = 85,
        [pbr::OriginalName("HAS_Curve_Too_Tight")] HasCurveTooTight = 86,
        [pbr::OriginalName("HAS_Lane_Split")] HasLaneSplit = 87,
        [pbr::OriginalName("HAS_On_Reminder")] HasOnReminder = 88,
        [pbr::OriginalName("TxtMsg_TBD_1")] TxtMsgTbd1 = 89,
        [pbr::OriginalName("TxtMsg_TBD_2")] TxtMsgTbd2 = 90,
        [pbr::OriginalName("TxtMsg_TBD_3")] TxtMsgTbd3 = 91,
        [pbr::OriginalName("TxtMsg_TBD_4")] TxtMsgTbd4 = 92,
        [pbr::OriginalName("TxtMsg_TBD_5")] TxtMsgTbd5 = 93,
        [pbr::OriginalName("TxtMsg_TBD_6")] TxtMsgTbd6 = 94,
        [pbr::OriginalName("TxtMsg_TBD_7")] TxtMsgTbd7 = 95,
        [pbr::OriginalName("TxtMsg_TBD_8")] TxtMsgTbd8 = 96,
        [pbr::OriginalName("TxtMsg_TBD_9")] TxtMsgTbd9 = 97,
        [pbr::OriginalName("TxtMsg_TBD_10")] TxtMsgTbd10 = 98,
        [pbr::OriginalName("TxtMsg_TBD_11")] TxtMsgTbd11 = 99,
        [pbr::OriginalName("TxtMsg_TBD_12")] TxtMsgTbd12 = 100,
        [pbr::OriginalName("TxtMsg_TBD_13")] TxtMsgTbd13 = 101,
        [pbr::OriginalName("TxtMsg_TBD_14")] TxtMsgTbd14 = 102,
        [pbr::OriginalName("TxtMsg_TBD_15")] TxtMsgTbd15 = 103,
        [pbr::OriginalName("Stay_In_Lane")] StayInLane = 104,
      }

      public enum SteeringAngleTypeEnum {
        /// <summary>
        //// Absolute
        /// </summary>
        [pbr::OriginalName("ABSOLUTE")] Absolute = 0,
        [pbr::OriginalName("RELATIVE")] Relative = 1,
        [pbr::OriginalName("SNA_SAT")] SnaSat = 3,
      }

      public enum DriverSeatBeltStatusEnum {
        [pbr::OriginalName("Seat_Belt_Fasten")] SeatBeltFasten = 0,
        [pbr::OriginalName("Seat_Belt_Not_Fasten")] SeatBeltNotFasten = 1,
        [pbr::OriginalName("SNA_DriverSeatBelt")] SnaDriverSeatBelt = 2,
      }

      public enum DriverDoorStatusEnum {
        [pbr::OriginalName("OPEN_DOOR")] OpenDoor = 0,
        [pbr::OriginalName("CLOSED_DOOR")] ClosedDoor = 1,
        [pbr::OriginalName("FAULTED_DOOR")] FaultedDoor = 2,
      }

      public enum FCWPersonalizationSettingEnum {
        [pbr::OriginalName("Off_Setting")] OffSetting = 0,
        [pbr::OriginalName("Audio_Setting")] AudioSetting = 1,
        [pbr::OriginalName("AudioBrake_Setting")] AudioBrakeSetting = 2,
        [pbr::OriginalName("Brake_Setting")] BrakeSetting = 3,
        [pbr::OriginalName("Not_Request")] NotRequest = 4,
      }

      public enum HeadLightSwitchStatusEnum {
        /// <summary>
        ////  Off DRL
        /// </summary>
        [pbr::OriginalName("OFF_DRL")] OffDrl = 0,
        /// <summary>
        //// Position Lamps
        /// </summary>
        [pbr::OriginalName("Position_Lamps")] PositionLamps = 1,
        /// <summary>
        //// Low Beam
        /// </summary>
        [pbr::OriginalName("Low_Beam")] LowBeam = 2,
        /// <summary>
        //// Auto Headlight Status
        /// </summary>
        [pbr::OriginalName("Auto_HeadLightSwitch")] AutoHeadLightSwitch = 3,
        /// <summary>
        //// Short Circuit
        /// </summary>
        [pbr::OriginalName("Short_Circuit")] ShortCircuit = 4,
        /// <summary>
        //// Open Circuit
        /// </summary>
        [pbr::OriginalName("Open_Circuit")] OpenCircuit = 5,
        /// <summary>
        //// SNA
        /// </summary>
        [pbr::OriginalName("SNA_HeadLightSwitch")] SnaHeadLightSwitch = 7,
      }

      public enum HeadLightStatusEnum {
        [pbr::OriginalName("Off_Headlight")] OffHeadlight = 0,
        [pbr::OriginalName("On_Headlight")] OnHeadlight = 1,
      }

      public enum IgnitionSwitchStatusEnum {
        [pbr::OriginalName("Initialization")] Initialization = 0,
        /// <summary>
        //// IGN_LK Ignition Switch Status
        /// </summary>
        [pbr::OriginalName("IGN_LK")] IgnLk = 1,
        /// <summary>
        //// Acc Ignition Switch Status
        /// </summary>
        [pbr::OriginalName("ACC_IGN")] AccIgn = 3,
        /// <summary>
        //// RUN Ignition Switch Status
        /// </summary>
        [pbr::OriginalName("RUN_IGN")] RunIgn = 4,
        /// <summary>
        //// Start Ignition Switch Status
        /// </summary>
        [pbr::OriginalName("START_IGN")] StartIgn = 5,
        [pbr::OriginalName("SNA_IGN")] SnaIgn = 7,
      }

      public enum CameraObjectType_ClassificationEnum {
        [pbr::OriginalName("CAR")] Car = 0,
        [pbr::OriginalName("TRUCK")] Truck = 1,
        [pbr::OriginalName("MOTORCYCLE")] Motorcycle = 2,
        [pbr::OriginalName("BICYCLE")] Bicycle = 3,
        [pbr::OriginalName("PEDESTRAIN")] Pedestrain = 4,
        [pbr::OriginalName("GENERAL_OBJECT")] GeneralObject = 5,
        [pbr::OriginalName("ANIMAL")] Animal = 6,
        [pbr::OriginalName("UNCERTAIN_VEHICLE")] UncertainVehicle = 7,
      }

      public enum CameraObjectType_LocationEnum {
        [pbr::OriginalName("LEFT_NEXT_NEXT")] LeftNextNext = 0,
        [pbr::OriginalName("LEFT_NEXT")] LeftNext = 1,
        [pbr::OriginalName("EGO_LANE")] EgoLane = 2,
        [pbr::OriginalName("RIGHT_NEXT")] RightNext = 3,
        [pbr::OriginalName("RIGHT_NEXT_NEXT")] RightNextNext = 4,
        [pbr::OriginalName("UNKNOWN")] Unknown = 5,
      }

      public enum trackedObjects_ClassificationEnum {
        [pbr::OriginalName("OBJECT_CLASS_UNDETERMINED")] ObjectClassUndetermined = 0,
        [pbr::OriginalName("OBJECT_CLASS_CAR")] ObjectClassCar = 1,
        [pbr::OriginalName("OBJECT_CLASS_MOTORCYCLE")] ObjectClassMotorcycle = 2,
        [pbr::OriginalName("OBJECT_CLASS_TRUCK")] ObjectClassTruck = 3,
        [pbr::OriginalName("OBJECT_CLASS_PEDESTRIAN")] ObjectClassPedestrian = 4,
        [pbr::OriginalName("OBJECT_CLASS_POLE")] ObjectClassPole = 5,
        [pbr::OriginalName("OBJECT_CLASS_TREE")] ObjectClassTree = 6,
        [pbr::OriginalName("OBJECT_CLASS_ANIMAL")] ObjectClassAnimal = 7,
        [pbr::OriginalName("OBJECT_CLASS_GOD")] ObjectClassGod = 8,
        [pbr::OriginalName("OBJECT_CLASS_BICYCLE")] ObjectClassBicycle = 9,
        [pbr::OriginalName("OBJECT_CLASS_UNIDENTIFIED_VEHICLE")] ObjectClassUnidentifiedVehicle = 10,
      }

      public enum trackedObjects_ConfidenceEnum {
        [pbr::OriginalName("NONE")] None = 0,
        [pbr::OriginalName("LOW")] Low = 1,
        [pbr::OriginalName("MEDIUM")] Medium = 2,
        [pbr::OriginalName("HIGH")] High = 3,
      }

      public enum trackedObjects_cipFlagEnum {
        [pbr::OriginalName("NOT_RELEVENT")] NotRelevent = 0,
        [pbr::OriginalName("NO_CIPV")] NoCipv = 1,
        [pbr::OriginalName("CIPV")] Cipv = 2,
      }

      public enum CameraImageFileTypeEnum {
        /// <summary>
        //// PNG Image Type
        /// </summary>
        [pbr::OriginalName("PNG")] Png = 0,
        /// <summary>
        //// JPG Image Type
        /// </summary>
        [pbr::OriginalName("JPEG")] Jpeg = 1,
        /// <summary>
        //// BMP Image Type
        /// </summary>
        [pbr::OriginalName("BMP")] Bmp = 2,
        /// <summary>
        //// H264 Image Type
        /// </summary>
        [pbr::OriginalName("H264")] H264 = 3,
      }

      public enum DriverModelStatusEnum {
        /// <summary>
        //// Unknown
        /// </summary>
        [pbr::OriginalName("ATTENTION_Unknown")] AttentionUnknown = 0,
        [pbr::OriginalName("ATTENTION_Criteria_Met")] AttentionCriteriaMet = 1,
        [pbr::OriginalName("ATTENTION_Criteria_Not_Met")] AttentionCriteriaNotMet = 2,
        [pbr::OriginalName("FAULTED_DRIVERMODE")] FaultedDrivermode = 3,
      }

      public enum FCWWarningStatusEnum {
        [pbr::OriginalName("NO_CODE")] NoCode = 0,
        [pbr::OriginalName("Pre_Intervention_Warning")] PreInterventionWarning = 1,
        [pbr::OriginalName("Braking_Complete")] BrakingComplete = 4,
        [pbr::OriginalName("AEB_Unavailble_ESC_Off")] AebUnavailbleEscOff = 5,
        [pbr::OriginalName("AEB_Unavailble_4WD_Low")] AebUnavailble4WdLow = 6,
        [pbr::OriginalName("Active_Braking_Enabled")] ActiveBrakingEnabled = 7,
        [pbr::OriginalName("Active_Braking_Disabled")] ActiveBrakingDisabled = 8,
        [pbr::OriginalName("AEB_User_Disabled")] AebUserDisabled = 9,
        [pbr::OriginalName("AEB_Radar_Blind")] AebRadarBlind = 10,
        [pbr::OriginalName("Not_used1")] NotUsed1 = 11,
        [pbr::OriginalName("AEB_Fail")] AebFail = 12,
        [pbr::OriginalName("Not_used2")] NotUsed2 = 13,
        [pbr::OriginalName("AEB_Cam_Blind")] AebCamBlind = 14,
        [pbr::OriginalName("Not_used3")] NotUsed3 = 15,
        [pbr::OriginalName("AEB_LIMITED_Fail")] AebLimitedFail = 16,
        [pbr::OriginalName("PEB_Off")] PebOff = 17,
        [pbr::OriginalName("PEB_On")] PebOn = 18,
        [pbr::OriginalName("PEB_Radar_Blind")] PebRadarBlind = 19,
        [pbr::OriginalName("PEB_Fail")] PebFail = 20,
        [pbr::OriginalName("PEB_Cam_Blind")] PebCamBlind = 21,
        [pbr::OriginalName("FCW_Limited_PEB_Off_Camera_Blinded")] FcwLimitedPebOffCameraBlinded = 22,
        [pbr::OriginalName("FCW_Limited_PEB_Off_Camera_Fail")] FcwLimitedPebOffCameraFail = 23,
        [pbr::OriginalName("Pre_Intervention_Warning_ICA_L")] PreInterventionWarningIcaL = 24,
        [pbr::OriginalName("Pre_Intervention_Warning_ICA_R")] PreInterventionWarningIcaR = 25,
        [pbr::OriginalName("AEB_Limit_Corner_Blind")] AebLimitCornerBlind = 26,
      }

      public enum OpStatusEnum {
        /// <summary>
        //// Inactive
        /// </summary>
        [pbr::OriginalName("Inactive")] Inactive = 0,
        /// <summary>
        //// FullService
        /// </summary>
        [pbr::OriginalName("FullService")] FullService = 1,
        /// <summary>
        //// FailOperational
        /// </summary>
        [pbr::OriginalName("FailOperational")] FailOperational = 2,
        /// <summary>
        //// FailDegraded
        /// </summary>
        [pbr::OriginalName("FailDegraded")] FailDegraded = 3,
        [pbr::OriginalName("Emergency")] Emergency = 4,
        [pbr::OriginalName("No_Function")] NoFunction = 5,
      }

      public enum CVPAMFaultStatusEnum {
        [pbr::OriginalName("ACTIVE_CVPAM")] ActiveCvpam = 0,
        [pbr::OriginalName("NOT_ACTIVE_BLOCKED")] NotActiveBlocked = 1,
        [pbr::OriginalName("NOT_ACTIVE_FAILURE")] NotActiveFailure = 2,
        [pbr::OriginalName("SNA_CVPAM")] SnaCvpam = 3,
      }

      public enum GNMMFaultStatusEnum {
        [pbr::OriginalName("Not_Avail")] NotAvail = 0,
        [pbr::OriginalName("Avail_full_capacity")] AvailFullCapacity = 1,
        [pbr::OriginalName("Primary_IMU_NA")] PrimaryImuNa = 2,
        [pbr::OriginalName("GPS_GNSS_NA")] GpsGnssNa = 3,
        [pbr::OriginalName("Correction_Data_NA")] CorrectionDataNa = 4,
        [pbr::OriginalName("SNA_GNMM")] SnaGnmm = 7,
      }

      public enum DMSMFaultStatusEnum {
        /// <summary>
        //// Standby
        /// </summary>
        [pbr::OriginalName("STANDBY")] Standby = 0,
        [pbr::OriginalName("TEMP_NA")] TempNa = 1,
        [pbr::OriginalName("INTERNAL_ERROR")] InternalError = 2,
        /// <summary>
        //// Functional
        /// </summary>
        [pbr::OriginalName("FUNCTIONAL")] Functional = 3,
      }

      public enum EMSFailStatusEnum {
        /// <summary>
        //// Fail_Not_Present
        /// </summary>
        [pbr::OriginalName("Fail_Not_Present")] FailNotPresent = 0,
        /// <summary>
        //// Fail_Flash_Light_Indication
        /// </summary>
        [pbr::OriginalName("Fail_Flash_Light_Indication")] FailFlashLightIndication = 1,
        /// <summary>
        //// Fail_Fix_Light_Indication
        /// </summary>
        [pbr::OriginalName("Fail_Fix_Light_Indication")] FailFixLightIndication = 2,
        /// <summary>
        //// Flash_For_Service
        /// </summary>
        [pbr::OriginalName("Flash_For_Service")] FlashForService = 3,
      }

      public enum SWSMFaultStatusEnum {
        [pbr::OriginalName("NO_ERROR_SWSM")] NoErrorSwsm = 0,
        [pbr::OriginalName("HOD_EEPROM_ERROR")] HodEepromError = 1,
        [pbr::OriginalName("HOD_ROM_ERROR")] HodRomError = 2,
        [pbr::OriginalName("HOD_WATCHDOG_ERROR")] HodWatchdogError = 3,
        [pbr::OriginalName("HOD_CPU_ERROR")] HodCpuError = 4,
        [pbr::OriginalName("HOD_GUARD_INTERRUPTION_ERROR")] HodGuardInterruptionError = 5,
        [pbr::OriginalName("HOD_SENSE_INTERRUPTION_ERROR")] HodSenseInterruptionError = 6,
        [pbr::OriginalName("HOD_CPU_DEFECT_OR_MAT_SHORTAGE")] HodCpuDefectOrMatShortage = 7,
        [pbr::OriginalName("UNDERVOLTAGE_ERROR")] UndervoltageError = 8,
        [pbr::OriginalName("OVERVOLTAGE_ERROR")] OvervoltageError = 9,
        [pbr::OriginalName("HOD_CODING_ERROR")] HodCodingError = 10,
        [pbr::OriginalName("HOD_GENERIC_SYSTEM_ERROR")] HodGenericSystemError = 11,
        [pbr::OriginalName("SNA_SWSM")] SnaSwsm = 15,
      }

      public enum BCMFaultStatusEnum {
        /// <summary>
        //// No_Fault
        /// </summary>
        [pbr::OriginalName("No_Fault")] NoFault = 0,
        /// <summary>
        //// Fault
        /// </summary>
        [pbr::OriginalName("Fault")] Fault = 1,
      }

      public enum DALMColorStatus {
        /// <summary>
        //// No_Req
        /// </summary>
        [pbr::OriginalName("No_Req")] NoReq = 0,
        [pbr::OriginalName("Yellow_Solid")] YellowSolid = 1,
        [pbr::OriginalName("Yellow_Runway")] YellowRunway = 2,
        [pbr::OriginalName("Red_Solid")] RedSolid = 3,
        [pbr::OriginalName("Red_Runway")] RedRunway = 4,
        [pbr::OriginalName("Blue_Solid")] BlueSolid = 5,
        [pbr::OriginalName("Blue_Runway")] BlueRunway = 6,
        [pbr::OriginalName("SNA_DALM")] SnaDalm = 15,
      }

      public enum HASEscalationStatusEnum {
        /// <summary>
        //// No_State
        /// </summary>
        [pbr::OriginalName("No_State")] NoState = 0,
        /// <summary>
        //// State0
        /// </summary>
        [pbr::OriginalName("State0")] State0 = 1,
        /// <summary>
        //// State2
        /// </summary>
        [pbr::OriginalName("State2")] State2 = 3,
        /// <summary>
        //// State3a
        /// </summary>
        [pbr::OriginalName("State3a")] State3A = 4,
        /// <summary>
        //// State3b
        /// </summary>
        [pbr::OriginalName("State3b")] State3B = 5,
        /// <summary>
        //// State4a
        /// </summary>
        [pbr::OriginalName("State4a")] State4A = 6,
        [pbr::OriginalName("State4b")] State4B = 7,
        [pbr::OriginalName("State5")] State5 = 8,
      }

      public enum MRMStatusEnum {
        [pbr::OriginalName("NOT_ACTIVE_MRM")] NotActiveMrm = 0,
        [pbr::OriginalName("MRM_IN_PROCESS")] MrmInProcess = 1,
        /// <summary>
        //// Vehicle_Secure_Request
        /// </summary>
        [pbr::OriginalName("VEHICLE_SECURE_REQUEST")] VehicleSecureRequest = 2,
        /// <summary>
        //// Vehicle_Securement_Complete
        /// </summary>
        [pbr::OriginalName("Vehicle_SECUREMENT_COMPLETE")] VehicleSecurementComplete = 3,
        /// <summary>
        //// Canceled
        /// </summary>
        [pbr::OriginalName("CANCELED")] Canceled = 4,
        /// <summary>
        //// SNA_MRM
        /// </summary>
        [pbr::OriginalName("SNA_MRM")] SnaMrm = 7,
      }

      public enum HASLatCtrlRequestStatusEnum {
        /// <summary>
        //// Idle
        /// </summary>
        [pbr::OriginalName("IDLE")] Idle = 0,
        /// <summary>
        //// Faulted
        /// </summary>
        [pbr::OriginalName("FAULTED_HAS")] FaultedHas = 1,
        /// <summary>
        //// HAS_Request
        /// </summary>
        [pbr::OriginalName("HAS_REQUEST")] HasRequest = 2,
      }

      public enum PowertrainInterfaceEngageReqEnum {
        /// <summary>
        //// Not_Enabled
        /// </summary>
        [pbr::OriginalName("NOT_ENABLED")] NotEnabled = 0,
        /// <summary>
        //// Enabled
        /// </summary>
        [pbr::OriginalName("ENABLED")] Enabled = 1,
      }

      public enum AEBTypeStatusEnum {
        /// <summary>
        //// NONE
        /// </summary>
        [pbr::OriginalName("NONE_AE")] NoneAe = 0,
        /// <summary>
        //// ACC
        /// </summary>
        [pbr::OriginalName("ACC")] Acc = 1,
        /// <summary>
        //// CMS
        /// </summary>
        [pbr::OriginalName("CMS")] Cms = 2,
        /// <summary>
        //// CMS_XTD
        /// </summary>
        [pbr::OriginalName("CMS_XTD")] CmsXtd = 3,
        /// <summary>
        //// ABA
        /// </summary>
        [pbr::OriginalName("ABA")] Aba = 4,
        /// <summary>
        //// LSCM
        /// </summary>
        [pbr::OriginalName("LSCM")] Lscm = 5,
        /// <summary>
        //// PEB
        /// </summary>
        [pbr::OriginalName("PEB")] Peb = 6,
        /// <summary>
        //// ICA_L
        /// </summary>
        [pbr::OriginalName("ICA_L")] IcaL = 7,
        /// <summary>
        //// ICA_R
        /// </summary>
        [pbr::OriginalName("ICA_R")] IcaR = 8,
        /// <summary>
        //// HAS_MRM
        /// </summary>
        [pbr::OriginalName("HAS_MRM")] HasMrm = 9,
        [pbr::OriginalName("SNA_AEB")] SnaAeb = 15,
      }

      public enum ElectronicParkBrakeStatusEnum {
        /// <summary>
        //// Released
        /// </summary>
        [pbr::OriginalName("Released")] Released = 0,
        /// <summary>
        //// Applied
        /// </summary>
        [pbr::OriginalName("Applied")] Applied = 1,
        /// <summary>
        //// DynamicBrkESC
        /// </summary>
        [pbr::OriginalName("DynamicBrkESC")] DynamicBrkEsc = 2,
        /// <summary>
        //// DynamicBrkEPB
        /// </summary>
        [pbr::OriginalName("DynamicBrkEPB")] DynamicBrkEpb = 3,
        /// <summary>
        //// Emergency_Braking
        /// </summary>
        [pbr::OriginalName("Emergency_Braking")] EmergencyBraking = 4,
        /// <summary>
        //// Applying
        /// </summary>
        [pbr::OriginalName("Applying")] Applying = 5,
        /// <summary>
        //// Maintenance_Mode
        /// </summary>
        [pbr::OriginalName("Maintenance_Mode")] MaintenanceMode = 6,
        /// <summary>
        //// Assembly_Check
        /// </summary>
        [pbr::OriginalName("Assembly_Check")] AssemblyCheck = 7,
        /// <summary>
        //// Inspection_Mode
        /// </summary>
        [pbr::OriginalName("Inspection_Mode")] InspectionMode = 8,
        /// <summary>
        //// Re_Clamping
        /// </summary>
        [pbr::OriginalName("Re_Clamping")] ReClamping = 9,
        /// <summary>
        //// Adjuste_Mode
        /// </summary>
        [pbr::OriginalName("Adjuste_Mode")] AdjusteMode = 10,
        /// <summary>
        //// Releasing
        /// </summary>
        [pbr::OriginalName("Releasing")] Releasing = 11,
        /// <summary>
        //// Fault_EPB_Released
        /// </summary>
        [pbr::OriginalName("Fault_EPB_Released")] FaultEpbReleased = 12,
        /// <summary>
        //// Fault_EPB_Applied
        /// </summary>
        [pbr::OriginalName("Fault_EPB_Applied")] FaultEpbApplied = 13,
        /// <summary>
        //// Fault_Present
        /// </summary>
        [pbr::OriginalName("Fault_Present")] FaultPresent = 14,
        [pbr::OriginalName("SNA_EPB")] SnaEpb = 15,
      }

      public enum SteeringWheelHandsOnStatusEnum {
        /// <summary>
        //// HANDS_OFF_DETECTED
        /// </summary>
        [pbr::OriginalName("HANDS_OFF_DETECTED")] HandsOffDetected = 0,
        /// <summary>
        //// ENERGY_SAVING_MODE
        /// </summary>
        [pbr::OriginalName("ENERGY_SAVING_MODE")] EnergySavingMode = 1,
        /// <summary>
        //// HANDS_OFF_NOT_DETECTED
        /// </summary>
        [pbr::OriginalName("HANDS_OFF_NOT_DETECTED")] HandsOffNotDetected = 2,
        [pbr::OriginalName("HANDS_NOT_AVAILABLE")] HandsNotAvailable = 3,
        /// <summary>
        //// HANDS_OFF_ERROR
        /// </summary>
        [pbr::OriginalName("HANDS_OFF_ERROR")] HandsOffError = 4,
        [pbr::OriginalName("SNA_SWHO")] SnaSwho = 15,
      }

      public enum EPSHandsOnStatusEnum {
        /// <summary>
        //// Not_Detected
        /// </summary>
        [pbr::OriginalName("NOT_DETECTED")] NotDetected = 0,
        /// <summary>
        //// Detected
        /// </summary>
        [pbr::OriginalName("DETECTED")] Detected = 1,
      }

      public enum DriverGazeLocationEnum {
        /// <summary>
        //// Unknown
        /// </summary>
        [pbr::OriginalName("Unknown")] Unknown = 0,
        /// <summary>
        //// On_Road
        /// </summary>
        [pbr::OriginalName("On_Road")] OnRoad = 1,
        /// <summary>
        //// Cluster
        /// </summary>
        [pbr::OriginalName("Cluster")] Cluster = 2,
        /// <summary>
        //// Left_Mirror
        /// </summary>
        [pbr::OriginalName("Left_Mirror")] LeftMirror = 3,
        /// <summary>
        //// Right_Mirror
        /// </summary>
        [pbr::OriginalName("Right_Mirror")] RightMirror = 4,
        /// <summary>
        //// Radio
        /// </summary>
        [pbr::OriginalName("Radio")] Radio = 5,
        /// <summary>
        //// Rear_View_Mirror
        /// </summary>
        [pbr::OriginalName("Rear_View_Mirror")] RearViewMirror = 6,
        /// <summary>
        //// Off_Road
        /// </summary>
        [pbr::OriginalName("Off_Road")] OffRoad = 7,
      }

      public enum PRNDLPositionEnum {
        /// <summary>
        //// Neutral
        /// </summary>
        [pbr::OriginalName("Neutral")] Neutral = 0,
        /// <summary>
        //// ForwardGear_1
        /// </summary>
        [pbr::OriginalName("ForwardGear_1")] ForwardGear1 = 1,
        /// <summary>
        //// ForwardGear_2
        /// </summary>
        [pbr::OriginalName("ForwardGear_2")] ForwardGear2 = 2,
        /// <summary>
        //// ForwardGear_3
        /// </summary>
        [pbr::OriginalName("ForwardGear_3")] ForwardGear3 = 3,
        /// <summary>
        //// ForwardGear_4
        /// </summary>
        [pbr::OriginalName("ForwardGear_4")] ForwardGear4 = 4,
        /// <summary>
        //// ForwardGear_5
        /// </summary>
        [pbr::OriginalName("ForwardGear_5")] ForwardGear5 = 5,
        /// <summary>
        //// ForwardGear_6
        /// </summary>
        [pbr::OriginalName("ForwardGear_6")] ForwardGear6 = 6,
        /// <summary>
        //// ForwardGear_7
        /// </summary>
        [pbr::OriginalName("ForwardGear_7")] ForwardGear7 = 7,
        /// <summary>
        //// ForwardGear_8
        /// </summary>
        [pbr::OriginalName("ForwardGear_8")] ForwardGear8 = 8,
        /// <summary>
        //// ForwardGear_9
        /// </summary>
        [pbr::OriginalName("ForwardGear_9")] ForwardGear9 = 9,
        /// <summary>
        //// Parking
        /// </summary>
        [pbr::OriginalName("PARKING")] Parking = 13,
        /// <summary>
        //// Reserve Gear
        /// </summary>
        [pbr::OriginalName("ReserveGear")] ReserveGear = 14,
        [pbr::OriginalName("SNA_PRNDL")] SnaPrndl = 15,
      }

      public enum L2PHMIReqSeatBeltMotorActuatorEnum {
        /// <summary>
        //// No_Request
        /// </summary>
        [pbr::OriginalName("No_Request")] NoRequest = 0,
        /// <summary>
        //// Slack_Removal
        /// </summary>
        [pbr::OriginalName("Slack_Removal")] SlackRemoval = 1,
        /// <summary>
        //// Abort
        /// </summary>
        [pbr::OriginalName("Abort")] Abort = 2,
        /// <summary>
        //// Level_8_Force_Retraction
        /// </summary>
        [pbr::OriginalName("Level_8_Force_Retraction")] Level8ForceRetraction = 3,
        [pbr::OriginalName("Level_7_Force_Retraction")] Level7ForceRetraction = 4,
        /// <summary>
        //// Level_6_Force_Retraction
        /// </summary>
        [pbr::OriginalName("Level_6_Force_Retraction")] Level6ForceRetraction = 5,
        /// <summary>
        //// Level_5_Force_Retraction
        /// </summary>
        [pbr::OriginalName("Level_5_Force_Retraction")] Level5ForceRetraction = 6,
        /// <summary>
        //// Level_4_Force_Retraction
        /// </summary>
        [pbr::OriginalName("Level_4_Force_Retraction")] Level4ForceRetraction = 7,
        /// <summary>
        //// Level_3_Force_Retraction
        /// </summary>
        [pbr::OriginalName("Level_3_Force_Retraction")] Level3ForceRetraction = 8,
        /// <summary>
        //// Level_2_Force_Retraction
        /// </summary>
        [pbr::OriginalName("Level_2_Force_Retraction")] Level2ForceRetraction = 9,
        /// <summary>
        //// Level_1_Force_Retraction
        /// </summary>
        [pbr::OriginalName("Level_1_Force_Retraction")] Level1ForceRetraction = 10,
        /// <summary>
        //// Haptic_Waring_4
        /// </summary>
        [pbr::OriginalName("Haptic_Waring_4")] HapticWaring4 = 11,
        /// <summary>
        //// Haptic_Waring_3
        /// </summary>
        [pbr::OriginalName("Haptic_Waring_3")] HapticWaring3 = 12,
        /// <summary>
        //// Haptic_Waring_2
        /// </summary>
        [pbr::OriginalName("Haptic_Waring_2")] HapticWaring2 = 13,
        /// <summary>
        //// Haptic_Waring_1
        /// </summary>
        [pbr::OriginalName("Haptic_Waring_1")] HapticWaring1 = 14,
        [pbr::OriginalName("SNA_L2PlusSeatBeltMotorActuator")] SnaL2PlusSeatBeltMotorActuator = 15,
      }

      public enum AES_ACC_SysSts_Enum {
        /// <summary>
        //// OFF_AES_ACC_SysSts
        /// </summary>
        [pbr::OriginalName("OFF_AES_ACC_SysSts")] OffAesAccSysSts = 0,
        /// <summary>
        //// ACC_Enabled
        /// </summary>
        [pbr::OriginalName("ACC_Enabled")] AccEnabled = 1,
        /// <summary>
        //// Engaged
        /// </summary>
        [pbr::OriginalName("ACC_Engaged")] AccEngaged = 2,
        /// <summary>
        //// ACC_Engaged_BrakeOnly
        /// </summary>
        [pbr::OriginalName("ACC_Engaged_BrakeOnly")] AccEngagedBrakeOnly = 3,
        /// <summary>
        //// ACC_Cancel
        /// </summary>
        [pbr::OriginalName("ACC_Cancel")] AccCancel = 4,
        /// <summary>
        //// NCC_Enabled
        /// </summary>
        [pbr::OriginalName("NCC_Enabled")] NccEnabled = 5,
        /// <summary>
        //// NCC_Engaged
        /// </summary>
        [pbr::OriginalName("NCC_Engaged")] NccEngaged = 6,
        /// <summary>
        //// NCC_Cancel
        /// </summary>
        [pbr::OriginalName("NCC_Cancel")] NccCancel = 7,
        /// <summary>
        //// HAS_BSoC
        /// </summary>
        [pbr::OriginalName("HAS_BSoC")] HasBsoC = 8,
        [pbr::OriginalName("SNA_AES")] SnaAes = 15,
      }

      public enum AES_HAS_Status_Enum {
        /// <summary>
        //// Disabled
        /// </summary>
        [pbr::OriginalName("Disabled")] Disabled = 0,
        /// <summary>
        //// Enabled_AES_HAS_Sts
        /// </summary>
        [pbr::OriginalName("Enabled_AES_HAS_Sts")] EnabledAesHasSts = 1,
        /// <summary>
        //// Engaged
        /// </summary>
        [pbr::OriginalName("Engaged")] Engaged = 2,
        /// <summary>
        //// Faulted_AES_HAS_Sts
        /// </summary>
        [pbr::OriginalName("Faulted_AES_HAS_Sts")] FaultedAesHasSts = 3,
      }

      public enum HAS_TellTaleSts_Enum {
        /// <summary>
        //// OFF
        /// </summary>
        [pbr::OriginalName("OFF")] Off = 0,
        /// <summary>
        //// Grey
        /// </summary>
        [pbr::OriginalName("Grey")] Grey = 1,
        /// <summary>
        //// Green
        /// </summary>
        [pbr::OriginalName("Green")] Green = 2,
        [pbr::OriginalName("Yellow")] Yellow = 3,
        /// <summary>
        //// Red
        /// </summary>
        [pbr::OriginalName("Red")] Red = 4,
        [pbr::OriginalName("SNA_HAS")] SnaHas = 7,
      }

      public enum Chime_TypSts_Enum {
        [pbr::OriginalName("Default")] Default = 0,
        /// <summary>
        //// Chime1
        /// </summary>
        [pbr::OriginalName("Chime1")] Chime1 = 1,
        /// <summary>
        //// Chime2
        /// </summary>
        [pbr::OriginalName("Chime2")] Chime2 = 2,
        /// <summary>
        //// Chime3
        /// </summary>
        [pbr::OriginalName("Chime3")] Chime3 = 3,
        /// <summary>
        //// Chime4
        /// </summary>
        [pbr::OriginalName("Chime4")] Chime4 = 4,
        /// <summary>
        //// Chime5
        /// </summary>
        [pbr::OriginalName("Chime5")] Chime5 = 5,
        /// <summary>
        //// Chime6
        /// </summary>
        [pbr::OriginalName("Chime6")] Chime6 = 6,
        /// <summary>
        //// Chime7
        /// </summary>
        [pbr::OriginalName("Chime7")] Chime7 = 7,
        /// <summary>
        //// Chime8
        /// </summary>
        [pbr::OriginalName("Chime8")] Chime8 = 8,
        /// <summary>
        //// Chime9
        /// </summary>
        [pbr::OriginalName("Chime9")] Chime9 = 9,
        /// <summary>
        //// Chime10
        /// </summary>
        [pbr::OriginalName("Chime10")] Chime10 = 10,
      }

      public enum ChimePriorty_Enum {
        [pbr::OriginalName("A")] A = 0,
        [pbr::OriginalName("B")] B = 1,
        [pbr::OriginalName("C")] C = 2,
        [pbr::OriginalName("D")] D = 3,
        [pbr::OriginalName("E")] E = 4,
      }

      public enum DisplaySts_OFF_Enum {
        /// <summary>
        //// OFF
        /// </summary>
        [pbr::OriginalName("No_Code_DisplaySts_OFF")] NoCodeDisplayStsOff = 0,
        /// <summary>
        //// ACC_LKA_HAS
        /// </summary>
        [pbr::OriginalName("ACC_LKA_HAS")] AccLkaHas = 1,
        /// <summary>
        //// ACC_LKA
        /// </summary>
        [pbr::OriginalName("ACC_LKA")] AccLka = 2,
        /// <summary>
        //// ACC_HAS
        /// </summary>
        [pbr::OriginalName("ACC_HAS")] AccHas = 3,
        /// <summary>
        //// ACC_DisplaySts_OFF
        /// </summary>
        [pbr::OriginalName("ACC_DisplaySts_OFF")] AccDisplayStsOff = 4,
        /// <summary>
        //// LKA
        /// </summary>
        [pbr::OriginalName("LKA")] Lka = 5,
      }

      public enum DisplaySts_ACC_Enum {
        /// <summary>
        //// OFF
        /// </summary>
        [pbr::OriginalName("OFF_DisplaySts_Acc")] OffDisplayStsAcc = 0,
        /// <summary>
        //// Ready_TG1
        /// </summary>
        [pbr::OriginalName("Ready_TG1")] ReadyTg1 = 1,
        /// <summary>
        //// Ready_TG2
        /// </summary>
        [pbr::OriginalName("Ready_TG2")] ReadyTg2 = 2,
        /// <summary>
        //// Ready_TG3
        /// </summary>
        [pbr::OriginalName("Ready_TG3")] ReadyTg3 = 3,
        /// <summary>
        //// Ready_TG4
        /// </summary>
        [pbr::OriginalName("Ready_TG4")] ReadyTg4 = 4,
        /// <summary>
        //// ACC_E_NT_TG1
        /// </summary>
        [pbr::OriginalName("ACC_E_NT_TG1")] AccENtTg1 = 5,
        /// <summary>
        //// ACC_E_NT_TG2
        /// </summary>
        [pbr::OriginalName("ACC_E_NT_TG2")] AccENtTg2 = 6,
        /// <summary>
        //// ACC_E_NT_TG3
        /// </summary>
        [pbr::OriginalName("ACC_E_NT_TG3")] AccENtTg3 = 7,
        /// <summary>
        //// ACC_E_NT_TG4
        /// </summary>
        [pbr::OriginalName("ACC_E_NT_TG4")] AccENtTg4 = 8,
        /// <summary>
        //// ACC_E_WT_TG1
        /// </summary>
        [pbr::OriginalName("ACC_E_WT_TG1")] AccEWtTg1 = 9,
        /// <summary>
        //// ACC_E_WT_TG2
        /// </summary>
        [pbr::OriginalName("ACC_E_WT_TG2")] AccEWtTg2 = 10,
        /// <summary>
        //// ACC_E_WT_TG3
        /// </summary>
        [pbr::OriginalName("ACC_E_WT_TG3")] AccEWtTg3 = 11,
        /// <summary>
        //// ACC_E_WT_TG4
        /// </summary>
        [pbr::OriginalName("ACC_E_WT_TG4")] AccEWtTg4 = 12,
        /// <summary>
        //// NCC_Ready
        /// </summary>
        [pbr::OriginalName("NCC_Ready")] NccReady = 13,
        /// <summary>
        //// NCC_Engaged_DisplaySts_ACC
        /// </summary>
        [pbr::OriginalName("NCC_Engaged_DisplaySts_ACC")] NccEngagedDisplayStsAcc = 14,
      }

      public enum DisplaySts_Veh_Enum {
        /// <summary>
        //// OFF
        /// </summary>
        [pbr::OriginalName("OFF_DisplaySts_Veh")] OffDisplayStsVeh = 0,
        /// <summary>
        //// Center_White
        /// </summary>
        [pbr::OriginalName("Center_White")] CenterWhite = 1,
        /// <summary>
        //// Center_Green
        /// </summary>
        [pbr::OriginalName("Center_Green")] CenterGreen = 2,
        /// <summary>
        //// Right_Crossing_1
        /// </summary>
        [pbr::OriginalName("Right_Crossing_1")] RightCrossing1 = 3,
        /// <summary>
        //// Left_Crossing_1
        /// </summary>
        [pbr::OriginalName("Left_Crossing_1")] LeftCrossing1 = 4,
        /// <summary>
        //// Right_Crossing_2
        /// </summary>
        [pbr::OriginalName("Right_Crossing_2")] RightCrossing2 = 5,
        /// <summary>
        //// Left_Crossing_2
        /// </summary>
        [pbr::OriginalName("Left_Crossing_2")] LeftCrossing2 = 6,
      }

      public enum Lane_DisplaySts_Left_Right_Enum {
        /// <summary>
        //// OFF_DisplaySts_Left_Right
        /// </summary>
        [pbr::OriginalName("OFF_DisplaySts_Left_Right")] OffDisplayStsLeftRight = 0,
        /// <summary>
        //// Gray
        /// </summary>
        [pbr::OriginalName("Gray")] Gray = 1,
        /// <summary>
        //// Green_Lane_DisplaySts
        /// </summary>
        [pbr::OriginalName("Green_Lane_DisplaySts")] GreenLaneDisplaySts = 2,
        /// <summary>
        //// Yellow_Lane_DisplaySts
        /// </summary>
        [pbr::OriginalName("Yellow_Lane_DisplaySts")] YellowLaneDisplaySts = 3,
        /// <summary>
        //// Yellow_Flashing
        /// </summary>
        [pbr::OriginalName("Yellow_Flashing")] YellowFlashing = 4,
        /// <summary>
        //// Red_Lane_DisplaySts
        /// </summary>
        [pbr::OriginalName("Red_Lane_DisplaySts")] RedLaneDisplaySts = 5,
        [pbr::OriginalName("Dashed")] Dashed = 6,
      }

      public enum SVI_Request_Enum {
        /// <summary>
        //// OFF_SVI
        /// </summary>
        [pbr::OriginalName("OFF_SVI")] OffSvi = 0,
        /// <summary>
        //// Green_SVI
        /// </summary>
        [pbr::OriginalName("Green_SVI")] GreenSvi = 1,
        /// <summary>
        //// Yellow_SVI
        /// </summary>
        [pbr::OriginalName("Yellow_SVI")] YellowSvi = 2,
        /// <summary>
        //// Red_SVI
        /// </summary>
        [pbr::OriginalName("Red_SVI")] RedSvi = 3,
      }

      public enum AEB_FailSts_Enum {
        /// <summary>
        //// Fail_Not_Present_FailSts
        /// </summary>
        [pbr::OriginalName("AEB_Fail_Not_Present_FailSts")] AebFailNotPresentFailSts = 0,
        /// <summary>
        //// Fail_Present
        /// </summary>
        [pbr::OriginalName("AEB_Fail_Present")] AebFailPresent = 1,
      }

      public enum ICA_Blind_Enum {
        /// <summary>
        //// Blinded
        /// </summary>
        [pbr::OriginalName("ICA_Blinded")] IcaBlinded = 0,
        /// <summary>
        //// Not_Blinded
        /// </summary>
        [pbr::OriginalName("ICA_Not_Blinded")] IcaNotBlinded = 1,
      }

      public enum DDD_DispPopupSts_Enum {
        /// <summary>
        //// No_Code_DDD_DispPopUpSts
        /// </summary>
        [pbr::OriginalName("No_Code_DDD_DispPopUpSts")] NoCodeDddDispPopUpSts = 0,
        /// <summary>
        //// Drowsniness_Detected
        /// </summary>
        [pbr::OriginalName("Drowsniness_Detected")] DrowsninessDetected = 1,
        /// <summary>
        //// DDD_Perm_Fail
        /// </summary>
        [pbr::OriginalName("DDD_Perm_Fail")] DddPermFail = 2,
        [pbr::OriginalName("SNA_DDD_DispPopUpSts")] SnaDddDispPopUpSts = 3,
      }

      public enum ACC_DispPopupSts_Enum {
        /// <summary>
        //// No_Code
        /// </summary>
        [pbr::OriginalName("No_Code_ACC_DispPopUpSts")] NoCodeAccDispPopUpSts = 0,
        /// <summary>
        //// ACC_Unavailable
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable")] AccUnavailable = 1,
        /// <summary>
        //// ACC_Unavailable_4WD_Low
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_4WD_Low")] AccUnavailable4WdLow = 2,
        /// <summary>
        //// ACC_Unavailable_ESC_Off
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_ESC_Off")] AccUnavailableEscOff = 3,
        /// <summary>
        //// ACC_Unavailable_ESC_Event
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_ESC_Event")] AccUnavailableEscEvent = 4,
        /// <summary>
        //// ACC_Unavailable_Brakes_Cooling
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_Brakes_Cooling")] AccUnavailableBrakesCooling = 5,
        /// <summary>
        //// ACC_Unavailable_Below_Min_Speed
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_Below_Min_Speed")] AccUnavailableBelowMinSpeed = 6,
        /// <summary>
        //// ACC_Unavailable_Above_Max_Speed
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_Above_Max_Speed")] AccUnavailableAboveMaxSpeed = 7,
        /// <summary>
        //// ACC_Unavailable_EPB_Active
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_EPB_Active")] AccUnavailableEpbActive = 8,
        /// <summary>
        //// ACC_Unavailable_Shift_D
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_Shift_D")] AccUnavailableShiftD = 9,
        /// <summary>
        //// ACC_Unavailable_Door_Open
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_Door_Open")] AccUnavailableDoorOpen = 10,
        /// <summary>
        //// ACC_Unavailable_Seatbelt_Unbuckled
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_Seatbelt_Unbuckled")] AccUnavailableSeatbeltUnbuckled = 11,
        /// <summary>
        //// ACC_Unavailable_Road_to_Steep
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_Road_to_Steep")] AccUnavailableRoadToSteep = 12,
        /// <summary>
        //// ACC_Unavailable_Wrong_Gear
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_Wrong_Gear")] AccUnavailableWrongGear = 13,
        /// <summary>
        //// ACC_Unavailable_Low_RPM
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_Low_RPM")] AccUnavailableLowRpm = 14,
        /// <summary>
        //// ACC_Unavailable_High_RPM
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_High_RPM")] AccUnavailableHighRpm = 15,
        /// <summary>
        //// ACC_Unavailable_Clutch_Engaged
        /// </summary>
        [pbr::OriginalName("ACC_Unavailable_Clutch_Engaged")] AccUnavailableClutchEngaged = 16,
        /// <summary>
        //// ACC_Cancel
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_DispPopUpSts")] AccCancelDispPopUpSts = 17,
        /// <summary>
        //// ACC_AEB_Cancel_ESC_Off
        /// </summary>
        [pbr::OriginalName("ACC_AEB_Cancel_ESC_Off")] AccAebCancelEscOff = 18,
        /// <summary>
        //// ACC_Cancel_ESC_Off
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_ESC_Off")] AccCancelEscOff = 19,
        /// <summary>
        //// ACC_Cancel_ESC_Event
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_ESC_Event")] AccCancelEscEvent = 20,
        /// <summary>
        //// ACC_Cancel_Brakes_Cooling
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_Brakes_Cooling")] AccCancelBrakesCooling = 21,
        /// <summary>
        //// ACC_Cancel_Below_Min_Speed
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_Below_Min_Speed")] AccCancelBelowMinSpeed = 22,
        /// <summary>
        //// ACC_Cancel_Above_Max_Speed
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_Above_Max_Speed")] AccCancelAboveMaxSpeed = 23,
        /// <summary>
        //// ACC_Cancel_EPB_Active
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_EPB_Active")] AccCancelEpbActive = 24,
        /// <summary>
        //// ACC_Cancel_Shift_D
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_Shift_D")] AccCancelShiftD = 25,
        /// <summary>
        //// ACC_Cancel_Door_Open
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_Door_Open")] AccCancelDoorOpen = 26,
        /// <summary>
        //// ACC_Cancel_Seatbelt_Unbuckled
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_Seatbelt_Unbuckled")] AccCancelSeatbeltUnbuckled = 27,
        /// <summary>
        //// ACC_Cancel_Road_to_Steep
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_Road_to_Steep")] AccCancelRoadToSteep = 28,
        /// <summary>
        //// ACC_Cancel_Wrong_gear
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_Wrong_gear")] AccCancelWrongGear = 29,
        /// <summary>
        //// ACC_Cancel_Low_RPM
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_Low_RPM")] AccCancelLowRpm = 30,
        /// <summary>
        //// ACC_Cancel_High_RPM
        /// </summary>
        [pbr::OriginalName("ACC_Cancel_High_RPM")] AccCancelHighRpm = 31,
        /// <summary>
        //// ACC_Stop_Vehicle_Object_Detected
        /// </summary>
        [pbr::OriginalName("ACC_Stop_Vehicle_Object_Detected")] AccStopVehicleObjectDetected = 32,
        /// <summary>
        //// ACC_Warning_Clutch_Engaged
        /// </summary>
        [pbr::OriginalName("ACC_Warning_Clutch_Engaged")] AccWarningClutchEngaged = 33,
        /// <summary>
        //// ACC_Warning_Neutral_Engaged
        /// </summary>
        [pbr::OriginalName("ACC_Warning_Neutral_Engaged")] AccWarningNeutralEngaged = 34,
        /// <summary>
        //// ACC_Off_ESC_Fault
        /// </summary>
        [pbr::OriginalName("ACC_Off_ESC_Fault")] AccOffEscFault = 35,
        /// <summary>
        //// ACC_Proximity_Warning
        /// </summary>
        [pbr::OriginalName("ACC_Proximity_Warning")] AccProximityWarning = 36,
        /// <summary>
        //// NCC_Unavailable
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable")] NccUnavailable = 37,
        /// <summary>
        //// NCC_Unavailable_4WD_Low
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_4WD_Low")] NccUnavailable4WdLow = 38,
        /// <summary>
        //// NCC_Unavailable_ESC_Off
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_ESC_Off")] NccUnavailableEscOff = 39,
        /// <summary>
        //// NCC_Unavailable_ESC_Event
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_ESC_Event")] NccUnavailableEscEvent = 40,
        /// <summary>
        //// NCC_Unavailable_Brakes_Cooling
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_Brakes_Cooling")] NccUnavailableBrakesCooling = 41,
        /// <summary>
        //// NCC_Unavailable_Below_Min_Speed
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_Below_Min_Speed")] NccUnavailableBelowMinSpeed = 42,
        /// <summary>
        //// NCC_Unavailable_Above_Max_Speed
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_Above_Max_Speed")] NccUnavailableAboveMaxSpeed = 43,
        /// <summary>
        //// NCC_Unavailable_EPB_Active
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_EPB_Active")] NccUnavailableEpbActive = 44,
        /// <summary>
        //// NCC_Unavailable_Shift_D
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_Shift_D")] NccUnavailableShiftD = 45,
        /// <summary>
        //// NCC_Unavailable_Wrong_Gear
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_Wrong_Gear")] NccUnavailableWrongGear = 46,
        /// <summary>
        //// NCC_Unavailable_Low_RPM
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_Low_RPM")] NccUnavailableLowRpm = 47,
        /// <summary>
        //// NCC_Unavailable_High_RPM
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_High_RPM")] NccUnavailableHighRpm = 48,
        /// <summary>
        //// NCC_Unavailable_Clutch_Engaged
        /// </summary>
        [pbr::OriginalName("NCC_Unavailable_Clutch_Engaged")] NccUnavailableClutchEngaged = 49,
        /// <summary>
        //// NCC_Cancel
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_DispPopUpSts")] NccCancelDispPopUpSts = 50,
        /// <summary>
        //// NCC_AEB_Cancel_ESC_Off
        /// </summary>
        [pbr::OriginalName("NCC_AEB_Cancel_ESC_Off")] NccAebCancelEscOff = 51,
        /// <summary>
        //// NCC_Cancel_ESC_Off
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_ESC_Off")] NccCancelEscOff = 52,
        /// <summary>
        //// NCC_Cancel_ESC_Event
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_ESC_Event")] NccCancelEscEvent = 53,
        /// <summary>
        //// NCC_Cancel_Brakes_Cooling
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_Brakes_Cooling")] NccCancelBrakesCooling = 54,
        /// <summary>
        //// NCC_Cancel_Below_Min_Speed
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_Below_Min_Speed")] NccCancelBelowMinSpeed = 55,
        /// <summary>
        //// NCC_Cancel_Above_Max_Speed
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_Above_Max_Speed")] NccCancelAboveMaxSpeed = 56,
        /// <summary>
        //// NCC_Cancel_EPB_Active
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_EPB_Active")] NccCancelEpbActive = 57,
        /// <summary>
        //// NCC_Cancel_Shift_D
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_Shift_D")] NccCancelShiftD = 58,
        /// <summary>
        //// NCC_Cancel_Wrong_Gear
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_Wrong_Gear")] NccCancelWrongGear = 59,
        /// <summary>
        //// NCC_Cancel_Low_RPM
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_Low_RPM")] NccCancelLowRpm = 60,
        /// <summary>
        //// NCC_Cancel_High_RPM
        /// </summary>
        [pbr::OriginalName("NCC_Cancel_High_RPM")] NccCancelHighRpm = 61,
        /// <summary>
        //// NCC_Warning_Clutch_Engaged
        /// </summary>
        [pbr::OriginalName("NCC_Warning_Clutch_Engaged")] NccWarningClutchEngaged = 62,
        /// <summary>
        //// NCC_Warning_Neutral_Engaged
        /// </summary>
        [pbr::OriginalName("NCC_Warning_Neutral_Engaged")] NccWarningNeutralEngaged = 63,
        /// <summary>
        //// ACC_User_Enabled_D1
        /// </summary>
        [pbr::OriginalName("ACC_User_Enabled_D1")] AccUserEnabledD1 = 64,
        /// <summary>
        //// ACC_User_Enabled_D2
        /// </summary>
        [pbr::OriginalName("ACC_User_Enabled_D2")] AccUserEnabledD2 = 65,
        /// <summary>
        //// ACC_User_Enabled_D3
        /// </summary>
        [pbr::OriginalName("ACC_User_Enabled_D3")] AccUserEnabledD3 = 66,
        /// <summary>
        //// ACC_User_Enabled_D4
        /// </summary>
        [pbr::OriginalName("ACC_User_Enabled_D4")] AccUserEnabledD4 = 67,
        /// <summary>
        //// ACC_Set_D1_Target
        /// </summary>
        [pbr::OriginalName("ACC_Set_D1_Target")] AccSetD1Target = 68,
        /// <summary>
        //// ACC_Set_D2_Target
        /// </summary>
        [pbr::OriginalName("ACC_Set_D2_Target")] AccSetD2Target = 69,
        /// <summary>
        //// ACC_Set_D3_Target
        /// </summary>
        [pbr::OriginalName("ACC_Set_D3_Target")] AccSetD3Target = 70,
        /// <summary>
        //// ACC_Set_D4_Target
        /// </summary>
        [pbr::OriginalName("ACC_Set_D4_Target")] AccSetD4Target = 71,
        /// <summary>
        //// ACC_Set_D1_No_Target
        /// </summary>
        [pbr::OriginalName("ACC_Set_D1_No_Target")] AccSetD1NoTarget = 72,
        /// <summary>
        //// ACC_Set_D2_No_Target
        /// </summary>
        [pbr::OriginalName("ACC_Set_D2_No_Target")] AccSetD2NoTarget = 73,
        /// <summary>
        //// ACC_Set_D3_No_Target
        /// </summary>
        [pbr::OriginalName("ACC_Set_D3_No_Target")] AccSetD3NoTarget = 74,
        /// <summary>
        //// ACC_Set_D4_No_Target
        /// </summary>
        [pbr::OriginalName("ACC_Set_D4_No_Target")] AccSetD4NoTarget = 75,
        /// <summary>
        //// ACC_Override
        /// </summary>
        [pbr::OriginalName("ACC_Override")] AccOverride = 76,
        /// <summary>
        //// ACC_User_Disabled
        /// </summary>
        [pbr::OriginalName("ACC_User_Disabled")] AccUserDisabled = 77,
        /// <summary>
        //// NCC_User_Enabled
        /// </summary>
        [pbr::OriginalName("NCC_User_Enabled")] NccUserEnabled = 78,
        /// <summary>
        //// NCC_Set
        /// </summary>
        [pbr::OriginalName("NCC_Set")] NccSet = 79,
        /// <summary>
        //// NCC_User_Disbaled
        /// </summary>
        [pbr::OriginalName("NCC_User_Disbaled")] NccUserDisbaled = 80,
        /// <summary>
        //// NCC_Override
        /// </summary>
        [pbr::OriginalName("NCC_Override")] NccOverride = 81,
        /// <summary>
        //// Front_Radar_Sensor_Plant_Mode
        /// </summary>
        [pbr::OriginalName("Front_Radar_Sensor_Plant_Mode")] FrontRadarSensorPlantMode = 82,
        /// <summary>
        //// ACC_AEB_LKA_Cam_Blind
        /// </summary>
        [pbr::OriginalName("ACC_AEB_LKA_Cam_Blind")] AccAebLkaCamBlind = 83,
        /// <summary>
        //// ACC_AEB_Cam_Blind
        /// </summary>
        [pbr::OriginalName("ACC_AEB_Cam_Blind")] AccAebCamBlind = 84,
        /// <summary>
        //// ACC_LKA_Cam_Blind
        /// </summary>
        [pbr::OriginalName("ACC_LKA_Cam_Blind")] AccLkaCamBlind = 85,
        /// <summary>
        //// ACC_Cam_Blind
        /// </summary>
        [pbr::OriginalName("ACC_Cam_Blind")] AccCamBlind = 86,
        /// <summary>
        //// ACC_AEB_LKA_LIMITED_Fail
        /// </summary>
        [pbr::OriginalName("ACC_AEB_LKA_LIMITED_Fail")] AccAebLkaLimitedFail = 87,
        /// <summary>
        //// ACC_AEB_LIMITED_Fail
        /// </summary>
        [pbr::OriginalName("ACC_AEB_LIMITED_Fail")] AccAebLimitedFail = 88,
        /// <summary>
        //// ACC_LKA_LIMITED_Fail
        /// </summary>
        [pbr::OriginalName("ACC_LKA_LIMITED_Fail")] AccLkaLimitedFail = 89,
        /// <summary>
        //// ACC_LIMITED_Fail
        /// </summary>
        [pbr::OriginalName("ACC_LIMITED_Fail")] AccLimitedFail = 90,
        /// <summary>
        //// ACC_AEB_Radar_Blind
        /// </summary>
        [pbr::OriginalName("ACC_AEB_Radar_Blind")] AccAebRadarBlind = 91,
        /// <summary>
        //// ACC_Radar_Blind
        /// </summary>
        [pbr::OriginalName("ACC_Radar_Blind")] AccRadarBlind = 92,
        /// <summary>
        //// ACC_AEB_LKA_Fail
        /// </summary>
        [pbr::OriginalName("ACC_AEB_LKA_Fail")] AccAebLkaFail = 93,
        /// <summary>
        //// ACC_AEB_Fail
        /// </summary>
        [pbr::OriginalName("ACC_AEB_Fail")] AccAebFail = 94,
        /// <summary>
        //// ACC_LKA_Fail
        /// </summary>
        [pbr::OriginalName("ACC_LKA_Fail")] AccLkaFail = 95,
        /// <summary>
        //// ACC_Fail
        /// </summary>
        [pbr::OriginalName("ACC_Fail")] AccFail = 96,
        /// <summary>
        //// NCC_AEB_LKA_Fail
        /// </summary>
        [pbr::OriginalName("NCC_AEB_LKA_Fail")] NccAebLkaFail = 97,
        /// <summary>
        //// NCC_AEB_Fail
        /// </summary>
        [pbr::OriginalName("NCC_AEB_Fail")] NccAebFail = 98,
        /// <summary>
        //// NCC_LKA_Fail
        /// </summary>
        [pbr::OriginalName("NCC_LKA_Fail")] NccLkaFail = 99,
        /// <summary>
        //// NCC_Fail
        /// </summary>
        [pbr::OriginalName("NCC_Fail")] NccFail = 100,
        /// <summary>
        //// Alignment_Mode
        /// </summary>
        [pbr::OriginalName("Alignment_Mode")] AlignmentMode = 101,
        /// <summary>
        //// Misaligned_Radar
        /// </summary>
        [pbr::OriginalName("Misaligned_Radar")] MisalignedRadar = 102,
      }

      public enum EDRDeploymentStatusEnum {
        [pbr::OriginalName("Do_Not_Actuate")] DoNotActuate = 0,
        [pbr::OriginalName("Actuate")] Actuate = 1,
      }

      public enum ChimeFrontRq_Enum {
        [pbr::OriginalName("NO_REQUEST_CHIME")] NoRequestChime = 0,
        [pbr::OriginalName("REQUEST_CHIME")] RequestChime = 1,
      }

      public enum ChimeRearRq_ENUM {
        [pbr::OriginalName("No_rght_rear_chime_on_req")] NoRghtRearChimeOnReq = 0,
        [pbr::OriginalName("Right_rear_chime_on_req")] RightRearChimeOnReq = 1,
      }

      public enum Present_Enum {
        /// <summary>
        //// Not Present
        /// </summary>
        [pbr::OriginalName("Not_Present")] NotPresent = 0,
        /// <summary>
        //// Present
        /// </summary>
        [pbr::OriginalName("Present")] Present = 1,
      }

      public enum CADM2ModeStatus_Enum {
        /// <summary>
        //// OFF
        /// </summary>
        [pbr::OriginalName("OFF_MODE")] OffMode = 0,
        [pbr::OriginalName("GATE")] Gate = 1,
        [pbr::OriginalName("CONTROL")] Control = 2,
      }

      public sealed partial class trackedObjectsLocation : pb::IMessage<trackedObjectsLocation> {
        private static readonly pb::MessageParser<trackedObjectsLocation> _parser = new pb::MessageParser<trackedObjectsLocation>(() => new trackedObjectsLocation());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<trackedObjectsLocation> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[0]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public trackedObjectsLocation() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public trackedObjectsLocation(trackedObjectsLocation other) : this() {
          LocationLatitude = other.locationLatitude_ != null ? other.LocationLatitude.Clone() : null;
          LocationLongitude = other.locationLongitude_ != null ? other.LocationLongitude.Clone() : null;
          LocationHeading = other.locationHeading_ != null ? other.LocationHeading.Clone() : null;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public trackedObjectsLocation Clone() {
          return new trackedObjectsLocation(this);
        }

        /// <summary>Field number for the "locationLatitude" field.</summary>
        public const int LocationLatitudeFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataSetSignal locationLatitude_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal LocationLatitude {
          get { return locationLatitude_; }
          set {
            locationLatitude_ = value;
          }
        }

        /// <summary>Field number for the "locationLongitude" field.</summary>
        public const int LocationLongitudeFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataSetSignal locationLongitude_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal LocationLongitude {
          get { return locationLongitude_; }
          set {
            locationLongitude_ = value;
          }
        }

        /// <summary>Field number for the "locationHeading" field.</summary>
        public const int LocationHeadingFieldNumber = 3;
        private global::Com.Fca.Uconnect.Global.DataSetSignal locationHeading_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal LocationHeading {
          get { return locationHeading_; }
          set {
            locationHeading_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as trackedObjectsLocation);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(trackedObjectsLocation other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (!object.Equals(LocationLatitude, other.LocationLatitude)) return false;
          if (!object.Equals(LocationLongitude, other.LocationLongitude)) return false;
          if (!object.Equals(LocationHeading, other.LocationHeading)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (locationLatitude_ != null) hash ^= LocationLatitude.GetHashCode();
          if (locationLongitude_ != null) hash ^= LocationLongitude.GetHashCode();
          if (locationHeading_ != null) hash ^= LocationHeading.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (locationLatitude_ != null) {
            output.WriteRawTag(10);
            output.WriteMessage(LocationLatitude);
          }
          if (locationLongitude_ != null) {
            output.WriteRawTag(18);
            output.WriteMessage(LocationLongitude);
          }
          if (locationHeading_ != null) {
            output.WriteRawTag(26);
            output.WriteMessage(LocationHeading);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (locationLatitude_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocationLatitude);
          }
          if (locationLongitude_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocationLongitude);
          }
          if (locationHeading_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocationHeading);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(trackedObjectsLocation other) {
          if (other == null) {
            return;
          }
          if (other.locationLatitude_ != null) {
            if (locationLatitude_ == null) {
              locationLatitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            LocationLatitude.MergeFrom(other.LocationLatitude);
          }
          if (other.locationLongitude_ != null) {
            if (locationLongitude_ == null) {
              locationLongitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            LocationLongitude.MergeFrom(other.LocationLongitude);
          }
          if (other.locationHeading_ != null) {
            if (locationHeading_ == null) {
              locationHeading_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            LocationHeading.MergeFrom(other.LocationHeading);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10: {
                if (locationLatitude_ == null) {
                  locationLatitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(locationLatitude_);
                break;
              }
              case 18: {
                if (locationLongitude_ == null) {
                  locationLongitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(locationLongitude_);
                break;
              }
              case 26: {
                if (locationHeading_ == null) {
                  locationHeading_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(locationHeading_);
                break;
              }
            }
          }
        }

      }

      public sealed partial class trackedObjectsVelocity : pb::IMessage<trackedObjectsVelocity> {
        private static readonly pb::MessageParser<trackedObjectsVelocity> _parser = new pb::MessageParser<trackedObjectsVelocity>(() => new trackedObjectsVelocity());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<trackedObjectsVelocity> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[1]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public trackedObjectsVelocity() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public trackedObjectsVelocity(trackedObjectsVelocity other) : this() {
          VelocityLateral = other.velocityLateral_ != null ? other.VelocityLateral.Clone() : null;
          VelocityLongitudinal = other.velocityLongitudinal_ != null ? other.VelocityLongitudinal.Clone() : null;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public trackedObjectsVelocity Clone() {
          return new trackedObjectsVelocity(this);
        }

        /// <summary>Field number for the "velocityLateral" field.</summary>
        public const int VelocityLateralFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataSetSignal velocityLateral_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal VelocityLateral {
          get { return velocityLateral_; }
          set {
            velocityLateral_ = value;
          }
        }

        /// <summary>Field number for the "velocityLongitudinal" field.</summary>
        public const int VelocityLongitudinalFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataSetSignal velocityLongitudinal_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal VelocityLongitudinal {
          get { return velocityLongitudinal_; }
          set {
            velocityLongitudinal_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as trackedObjectsVelocity);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(trackedObjectsVelocity other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (!object.Equals(VelocityLateral, other.VelocityLateral)) return false;
          if (!object.Equals(VelocityLongitudinal, other.VelocityLongitudinal)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (velocityLateral_ != null) hash ^= VelocityLateral.GetHashCode();
          if (velocityLongitudinal_ != null) hash ^= VelocityLongitudinal.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (velocityLateral_ != null) {
            output.WriteRawTag(10);
            output.WriteMessage(VelocityLateral);
          }
          if (velocityLongitudinal_ != null) {
            output.WriteRawTag(18);
            output.WriteMessage(VelocityLongitudinal);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (velocityLateral_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(VelocityLateral);
          }
          if (velocityLongitudinal_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(VelocityLongitudinal);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(trackedObjectsVelocity other) {
          if (other == null) {
            return;
          }
          if (other.velocityLateral_ != null) {
            if (velocityLateral_ == null) {
              velocityLateral_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            VelocityLateral.MergeFrom(other.VelocityLateral);
          }
          if (other.velocityLongitudinal_ != null) {
            if (velocityLongitudinal_ == null) {
              velocityLongitudinal_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            VelocityLongitudinal.MergeFrom(other.VelocityLongitudinal);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10: {
                if (velocityLateral_ == null) {
                  velocityLateral_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(velocityLateral_);
                break;
              }
              case 18: {
                if (velocityLongitudinal_ == null) {
                  velocityLongitudinal_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(velocityLongitudinal_);
                break;
              }
            }
          }
        }

      }

      public sealed partial class GPSPositionType : pb::IMessage<GPSPositionType> {
        private static readonly pb::MessageParser<GPSPositionType> _parser = new pb::MessageParser<GPSPositionType>(() => new GPSPositionType());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<GPSPositionType> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[2]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public GPSPositionType() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public GPSPositionType(GPSPositionType other) : this() {
          noOfSatellites_ = other.noOfSatellites_;
          precision_ = other.precision_;
          Latitude = other.latitude_ != null ? other.Latitude.Clone() : null;
          Longitude = other.longitude_ != null ? other.Longitude.Clone() : null;
          Altitude = other.altitude_ != null ? other.Altitude.Clone() : null;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public GPSPositionType Clone() {
          return new GPSPositionType(this);
        }

        /// <summary>Field number for the "noOfSatellites" field.</summary>
        public const int NoOfSatellitesFieldNumber = 4;
        private int noOfSatellites_;
        /// <summary>
        //// # of Satellites in GNMM. Number_of_Satellites_GNMM.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int NoOfSatellites {
          get { return noOfSatellites_; }
          set {
            noOfSatellites_ = value;
          }
        }

        /// <summary>Field number for the "precision" field.</summary>
        public const int PrecisionFieldNumber = 5;
        private double precision_;
        /// <summary>
        ////  Precision in GNMM. Precision_GNMM.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public double Precision {
          get { return precision_; }
          set {
            precision_ = value;
          }
        }

        /// <summary>Field number for the "latitude" field.</summary>
        public const int LatitudeFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataSetSignal latitude_;
        /// <summary>
        //// Latitude(deg) in GNMM. Lat_GNMM.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal Latitude {
          get { return latitude_; }
          set {
            latitude_ = value;
          }
        }

        /// <summary>Field number for the "longitude" field.</summary>
        public const int LongitudeFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataSetSignal longitude_;
        /// <summary>
        //// Longitude (deg) in GNMM. Long_GNMM.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal Longitude {
          get { return longitude_; }
          set {
            longitude_ = value;
          }
        }

        /// <summary>Field number for the "altitude" field.</summary>
        public const int AltitudeFieldNumber = 3;
        private global::Com.Fca.Uconnect.Global.DataSetSignal altitude_;
        /// <summary>
        //// Altitude (m) in GNMM. Altitude_GNMM.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal Altitude {
          get { return altitude_; }
          set {
            altitude_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as GPSPositionType);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(GPSPositionType other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (NoOfSatellites != other.NoOfSatellites) return false;
          if (Precision != other.Precision) return false;
          if (!object.Equals(Latitude, other.Latitude)) return false;
          if (!object.Equals(Longitude, other.Longitude)) return false;
          if (!object.Equals(Altitude, other.Altitude)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (NoOfSatellites != 0) hash ^= NoOfSatellites.GetHashCode();
          if (Precision != 0D) hash ^= Precision.GetHashCode();
          if (latitude_ != null) hash ^= Latitude.GetHashCode();
          if (longitude_ != null) hash ^= Longitude.GetHashCode();
          if (altitude_ != null) hash ^= Altitude.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (latitude_ != null) {
            output.WriteRawTag(10);
            output.WriteMessage(Latitude);
          }
          if (longitude_ != null) {
            output.WriteRawTag(18);
            output.WriteMessage(Longitude);
          }
          if (altitude_ != null) {
            output.WriteRawTag(26);
            output.WriteMessage(Altitude);
          }
          if (NoOfSatellites != 0) {
            output.WriteRawTag(32);
            output.WriteInt32(NoOfSatellites);
          }
          if (Precision != 0D) {
            output.WriteRawTag(41);
            output.WriteDouble(Precision);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (NoOfSatellites != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(NoOfSatellites);
          }
          if (Precision != 0D) {
            size += 1 + 8;
          }
          if (latitude_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(Latitude);
          }
          if (longitude_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(Longitude);
          }
          if (altitude_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(Altitude);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(GPSPositionType other) {
          if (other == null) {
            return;
          }
          if (other.NoOfSatellites != 0) {
            NoOfSatellites = other.NoOfSatellites;
          }
          if (other.Precision != 0D) {
            Precision = other.Precision;
          }
          if (other.latitude_ != null) {
            if (latitude_ == null) {
              latitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            Latitude.MergeFrom(other.Latitude);
          }
          if (other.longitude_ != null) {
            if (longitude_ == null) {
              longitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            Longitude.MergeFrom(other.Longitude);
          }
          if (other.altitude_ != null) {
            if (altitude_ == null) {
              altitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            Altitude.MergeFrom(other.Altitude);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10: {
                if (latitude_ == null) {
                  latitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(latitude_);
                break;
              }
              case 18: {
                if (longitude_ == null) {
                  longitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(longitude_);
                break;
              }
              case 26: {
                if (altitude_ == null) {
                  altitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(altitude_);
                break;
              }
              case 32: {
                NoOfSatellites = input.ReadInt32();
                break;
              }
              case 41: {
                Precision = input.ReadDouble();
                break;
              }
            }
          }
        }

      }

      public sealed partial class CameraObjectType : pb::IMessage<CameraObjectType> {
        private static readonly pb::MessageParser<CameraObjectType> _parser = new pb::MessageParser<CameraObjectType>(() => new CameraObjectType());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<CameraObjectType> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[3]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public CameraObjectType() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public CameraObjectType(CameraObjectType other) : this() {
          velocityCameraObject_ = other.velocityCameraObject_.Clone();
          confidenceCameraObject_ = other.confidenceCameraObject_.Clone();
          cameraObjectListNumber_ = other.cameraObjectListNumber_.Clone();
          location_ = other.location_.Clone();
          classification_ = other.classification_.Clone();
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public CameraObjectType Clone() {
          return new CameraObjectType(this);
        }

        /// <summary>Field number for the "velocity_CameraObject" field.</summary>
        public const int VelocityCameraObjectFieldNumber = 3;
        private static readonly pb::FieldCodec<float> _repeated_velocityCameraObject_codec
            = pb::FieldCodec.ForFloat(26);
        private readonly pbc::RepeatedField<float> velocityCameraObject_ = new pbc::RepeatedField<float>();
        /// <summary>
        //// Velocity
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<float> VelocityCameraObject {
          get { return velocityCameraObject_; }
        }

        /// <summary>Field number for the "confidence_CameraObject" field.</summary>
        public const int ConfidenceCameraObjectFieldNumber = 4;
        private static readonly pb::FieldCodec<double> _repeated_confidenceCameraObject_codec
            = pb::FieldCodec.ForDouble(34);
        private readonly pbc::RepeatedField<double> confidenceCameraObject_ = new pbc::RepeatedField<double>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<double> ConfidenceCameraObject {
          get { return confidenceCameraObject_; }
        }

        /// <summary>Field number for the "cameraObjectListNumber" field.</summary>
        public const int CameraObjectListNumberFieldNumber = 5;
        private static readonly pb::FieldCodec<int> _repeated_cameraObjectListNumber_codec
            = pb::FieldCodec.ForInt32(42);
        private readonly pbc::RepeatedField<int> cameraObjectListNumber_ = new pbc::RepeatedField<int>();
        /// <summary>
        //// Camera Object List defined by cameraObjectType
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<int> CameraObjectListNumber {
          get { return cameraObjectListNumber_; }
        }

        /// <summary>Field number for the "location" field.</summary>
        public const int LocationFieldNumber = 2;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_LocationEnum> _repeated_location_codec
            = pb::FieldCodec.ForEnum(18, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_LocationEnum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_LocationEnum> location_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_LocationEnum>();
        /// <summary>
        //// Location
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_LocationEnum> Location {
          get { return location_; }
        }

        /// <summary>Field number for the "classification" field.</summary>
        public const int ClassificationFieldNumber = 1;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_ClassificationEnum> _repeated_classification_codec
            = pb::FieldCodec.ForEnum(10, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_ClassificationEnum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_ClassificationEnum> classification_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_ClassificationEnum>();
        /// <summary>
        ////  Classification
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraObjectType_ClassificationEnum> Classification {
          get { return classification_; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as CameraObjectType);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(CameraObjectType other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if(!velocityCameraObject_.Equals(other.velocityCameraObject_)) return false;
          if(!confidenceCameraObject_.Equals(other.confidenceCameraObject_)) return false;
          if(!cameraObjectListNumber_.Equals(other.cameraObjectListNumber_)) return false;
          if(!location_.Equals(other.location_)) return false;
          if(!classification_.Equals(other.classification_)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          hash ^= velocityCameraObject_.GetHashCode();
          hash ^= confidenceCameraObject_.GetHashCode();
          hash ^= cameraObjectListNumber_.GetHashCode();
          hash ^= location_.GetHashCode();
          hash ^= classification_.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          classification_.WriteTo(output, _repeated_classification_codec);
          location_.WriteTo(output, _repeated_location_codec);
          velocityCameraObject_.WriteTo(output, _repeated_velocityCameraObject_codec);
          confidenceCameraObject_.WriteTo(output, _repeated_confidenceCameraObject_codec);
          cameraObjectListNumber_.WriteTo(output, _repeated_cameraObjectListNumber_codec);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          size += velocityCameraObject_.CalculateSize(_repeated_velocityCameraObject_codec);
          size += confidenceCameraObject_.CalculateSize(_repeated_confidenceCameraObject_codec);
          size += cameraObjectListNumber_.CalculateSize(_repeated_cameraObjectListNumber_codec);
          size += location_.CalculateSize(_repeated_location_codec);
          size += classification_.CalculateSize(_repeated_classification_codec);
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(CameraObjectType other) {
          if (other == null) {
            return;
          }
          velocityCameraObject_.Add(other.velocityCameraObject_);
          confidenceCameraObject_.Add(other.confidenceCameraObject_);
          cameraObjectListNumber_.Add(other.cameraObjectListNumber_);
          location_.Add(other.location_);
          classification_.Add(other.classification_);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10:
              case 8: {
                classification_.AddEntriesFrom(input, _repeated_classification_codec);
                break;
              }
              case 18:
              case 16: {
                location_.AddEntriesFrom(input, _repeated_location_codec);
                break;
              }
              case 26:
              case 29: {
                velocityCameraObject_.AddEntriesFrom(input, _repeated_velocityCameraObject_codec);
                break;
              }
              case 34:
              case 33: {
                confidenceCameraObject_.AddEntriesFrom(input, _repeated_confidenceCameraObject_codec);
                break;
              }
              case 42:
              case 40: {
                cameraObjectListNumber_.AddEntriesFrom(input, _repeated_cameraObjectListNumber_codec);
                break;
              }
            }
          }
        }

      }

      public sealed partial class Cadm2SoftwareVersionType : pb::IMessage<Cadm2SoftwareVersionType> {
        private static readonly pb::MessageParser<Cadm2SoftwareVersionType> _parser = new pb::MessageParser<Cadm2SoftwareVersionType>(() => new Cadm2SoftwareVersionType());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<Cadm2SoftwareVersionType> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[4]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public Cadm2SoftwareVersionType() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public Cadm2SoftwareVersionType(Cadm2SoftwareVersionType other) : this() {
          cadm2SoftwareVersionYear_ = other.cadm2SoftwareVersionYear_;
          cadm2SoftwareVersionWeek_ = other.cadm2SoftwareVersionWeek_;
          cadm2SoftwareVersionPatch_ = other.cadm2SoftwareVersionPatch_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public Cadm2SoftwareVersionType Clone() {
          return new Cadm2SoftwareVersionType(this);
        }

        /// <summary>Field number for the "cadm2SoftwareVersionYear" field.</summary>
        public const int Cadm2SoftwareVersionYearFieldNumber = 1;
        private int cadm2SoftwareVersionYear_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int Cadm2SoftwareVersionYear {
          get { return cadm2SoftwareVersionYear_; }
          set {
            cadm2SoftwareVersionYear_ = value;
          }
        }

        /// <summary>Field number for the "cadm2SoftwareVersionWeek" field.</summary>
        public const int Cadm2SoftwareVersionWeekFieldNumber = 2;
        private int cadm2SoftwareVersionWeek_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int Cadm2SoftwareVersionWeek {
          get { return cadm2SoftwareVersionWeek_; }
          set {
            cadm2SoftwareVersionWeek_ = value;
          }
        }

        /// <summary>Field number for the "cadm2SoftwareVersionPatch" field.</summary>
        public const int Cadm2SoftwareVersionPatchFieldNumber = 3;
        private int cadm2SoftwareVersionPatch_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int Cadm2SoftwareVersionPatch {
          get { return cadm2SoftwareVersionPatch_; }
          set {
            cadm2SoftwareVersionPatch_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as Cadm2SoftwareVersionType);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(Cadm2SoftwareVersionType other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (Cadm2SoftwareVersionYear != other.Cadm2SoftwareVersionYear) return false;
          if (Cadm2SoftwareVersionWeek != other.Cadm2SoftwareVersionWeek) return false;
          if (Cadm2SoftwareVersionPatch != other.Cadm2SoftwareVersionPatch) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (Cadm2SoftwareVersionYear != 0) hash ^= Cadm2SoftwareVersionYear.GetHashCode();
          if (Cadm2SoftwareVersionWeek != 0) hash ^= Cadm2SoftwareVersionWeek.GetHashCode();
          if (Cadm2SoftwareVersionPatch != 0) hash ^= Cadm2SoftwareVersionPatch.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (Cadm2SoftwareVersionYear != 0) {
            output.WriteRawTag(8);
            output.WriteInt32(Cadm2SoftwareVersionYear);
          }
          if (Cadm2SoftwareVersionWeek != 0) {
            output.WriteRawTag(16);
            output.WriteInt32(Cadm2SoftwareVersionWeek);
          }
          if (Cadm2SoftwareVersionPatch != 0) {
            output.WriteRawTag(24);
            output.WriteInt32(Cadm2SoftwareVersionPatch);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (Cadm2SoftwareVersionYear != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(Cadm2SoftwareVersionYear);
          }
          if (Cadm2SoftwareVersionWeek != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(Cadm2SoftwareVersionWeek);
          }
          if (Cadm2SoftwareVersionPatch != 0) {
            size += 1 + pb::CodedOutputStream.ComputeInt32Size(Cadm2SoftwareVersionPatch);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(Cadm2SoftwareVersionType other) {
          if (other == null) {
            return;
          }
          if (other.Cadm2SoftwareVersionYear != 0) {
            Cadm2SoftwareVersionYear = other.Cadm2SoftwareVersionYear;
          }
          if (other.Cadm2SoftwareVersionWeek != 0) {
            Cadm2SoftwareVersionWeek = other.Cadm2SoftwareVersionWeek;
          }
          if (other.Cadm2SoftwareVersionPatch != 0) {
            Cadm2SoftwareVersionPatch = other.Cadm2SoftwareVersionPatch;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                Cadm2SoftwareVersionYear = input.ReadInt32();
                break;
              }
              case 16: {
                Cadm2SoftwareVersionWeek = input.ReadInt32();
                break;
              }
              case 24: {
                Cadm2SoftwareVersionPatch = input.ReadInt32();
                break;
              }
            }
          }
        }

      }

      public sealed partial class TrackedObjectType : pb::IMessage<TrackedObjectType> {
        private static readonly pb::MessageParser<TrackedObjectType> _parser = new pb::MessageParser<TrackedObjectType>(() => new TrackedObjectType());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<TrackedObjectType> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[5]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public TrackedObjectType() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public TrackedObjectType(TrackedObjectType other) : this() {
          trackedObjectNumber_ = other.trackedObjectNumber_.Clone();
          classification_ = other.classification_.Clone();
          locationTrackedObject_ = other.locationTrackedObject_.Clone();
          velocityTrackedObject_ = other.velocityTrackedObject_.Clone();
          confidenceTrackedObject_ = other.confidenceTrackedObject_.Clone();
          cipvFlag_ = other.cipvFlag_.Clone();
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public TrackedObjectType Clone() {
          return new TrackedObjectType(this);
        }

        /// <summary>Field number for the "trackedObjectNumber" field.</summary>
        public const int TrackedObjectNumberFieldNumber = 6;
        private static readonly pb::FieldCodec<int> _repeated_trackedObjectNumber_codec
            = pb::FieldCodec.ForInt32(50);
        private readonly pbc::RepeatedField<int> trackedObjectNumber_ = new pbc::RepeatedField<int>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<int> TrackedObjectNumber {
          get { return trackedObjectNumber_; }
        }

        /// <summary>Field number for the "classification" field.</summary>
        public const int ClassificationFieldNumber = 1;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ClassificationEnum> _repeated_classification_codec
            = pb::FieldCodec.ForEnum(10, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ClassificationEnum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ClassificationEnum> classification_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ClassificationEnum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ClassificationEnum> Classification {
          get { return classification_; }
        }

        /// <summary>Field number for the "location_TrackedObject" field.</summary>
        public const int LocationTrackedObjectFieldNumber = 2;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsLocation> _repeated_locationTrackedObject_codec
            = pb::FieldCodec.ForMessage(18, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsLocation.Parser);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsLocation> locationTrackedObject_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsLocation>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsLocation> LocationTrackedObject {
          get { return locationTrackedObject_; }
        }

        /// <summary>Field number for the "velocity_TrackedObject" field.</summary>
        public const int VelocityTrackedObjectFieldNumber = 3;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsVelocity> _repeated_velocityTrackedObject_codec
            = pb::FieldCodec.ForMessage(26, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsVelocity.Parser);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsVelocity> velocityTrackedObject_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsVelocity>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjectsVelocity> VelocityTrackedObject {
          get { return velocityTrackedObject_; }
        }

        /// <summary>Field number for the "confidence_TrackedObject" field.</summary>
        public const int ConfidenceTrackedObjectFieldNumber = 4;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ConfidenceEnum> _repeated_confidenceTrackedObject_codec
            = pb::FieldCodec.ForEnum(34, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ConfidenceEnum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ConfidenceEnum> confidenceTrackedObject_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ConfidenceEnum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_ConfidenceEnum> ConfidenceTrackedObject {
          get { return confidenceTrackedObject_; }
        }

        /// <summary>Field number for the "cipvFlag" field.</summary>
        public const int CipvFlagFieldNumber = 5;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_cipFlagEnum> _repeated_cipvFlag_codec
            = pb::FieldCodec.ForEnum(42, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_cipFlagEnum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_cipFlagEnum> cipvFlag_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_cipFlagEnum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.trackedObjects_cipFlagEnum> CipvFlag {
          get { return cipvFlag_; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as TrackedObjectType);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(TrackedObjectType other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if(!trackedObjectNumber_.Equals(other.trackedObjectNumber_)) return false;
          if(!classification_.Equals(other.classification_)) return false;
          if(!locationTrackedObject_.Equals(other.locationTrackedObject_)) return false;
          if(!velocityTrackedObject_.Equals(other.velocityTrackedObject_)) return false;
          if(!confidenceTrackedObject_.Equals(other.confidenceTrackedObject_)) return false;
          if(!cipvFlag_.Equals(other.cipvFlag_)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          hash ^= trackedObjectNumber_.GetHashCode();
          hash ^= classification_.GetHashCode();
          hash ^= locationTrackedObject_.GetHashCode();
          hash ^= velocityTrackedObject_.GetHashCode();
          hash ^= confidenceTrackedObject_.GetHashCode();
          hash ^= cipvFlag_.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          classification_.WriteTo(output, _repeated_classification_codec);
          locationTrackedObject_.WriteTo(output, _repeated_locationTrackedObject_codec);
          velocityTrackedObject_.WriteTo(output, _repeated_velocityTrackedObject_codec);
          confidenceTrackedObject_.WriteTo(output, _repeated_confidenceTrackedObject_codec);
          cipvFlag_.WriteTo(output, _repeated_cipvFlag_codec);
          trackedObjectNumber_.WriteTo(output, _repeated_trackedObjectNumber_codec);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          size += trackedObjectNumber_.CalculateSize(_repeated_trackedObjectNumber_codec);
          size += classification_.CalculateSize(_repeated_classification_codec);
          size += locationTrackedObject_.CalculateSize(_repeated_locationTrackedObject_codec);
          size += velocityTrackedObject_.CalculateSize(_repeated_velocityTrackedObject_codec);
          size += confidenceTrackedObject_.CalculateSize(_repeated_confidenceTrackedObject_codec);
          size += cipvFlag_.CalculateSize(_repeated_cipvFlag_codec);
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(TrackedObjectType other) {
          if (other == null) {
            return;
          }
          trackedObjectNumber_.Add(other.trackedObjectNumber_);
          classification_.Add(other.classification_);
          locationTrackedObject_.Add(other.locationTrackedObject_);
          velocityTrackedObject_.Add(other.velocityTrackedObject_);
          confidenceTrackedObject_.Add(other.confidenceTrackedObject_);
          cipvFlag_.Add(other.cipvFlag_);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10:
              case 8: {
                classification_.AddEntriesFrom(input, _repeated_classification_codec);
                break;
              }
              case 18: {
                locationTrackedObject_.AddEntriesFrom(input, _repeated_locationTrackedObject_codec);
                break;
              }
              case 26: {
                velocityTrackedObject_.AddEntriesFrom(input, _repeated_velocityTrackedObject_codec);
                break;
              }
              case 34:
              case 32: {
                confidenceTrackedObject_.AddEntriesFrom(input, _repeated_confidenceTrackedObject_codec);
                break;
              }
              case 42:
              case 40: {
                cipvFlag_.AddEntriesFrom(input, _repeated_cipvFlag_codec);
                break;
              }
              case 50:
              case 48: {
                trackedObjectNumber_.AddEntriesFrom(input, _repeated_trackedObjectNumber_codec);
                break;
              }
            }
          }
        }

      }

      public sealed partial class FrontLongRangeCameraObjectType : pb::IMessage<FrontLongRangeCameraObjectType> {
        private static readonly pb::MessageParser<FrontLongRangeCameraObjectType> _parser = new pb::MessageParser<FrontLongRangeCameraObjectType>(() => new FrontLongRangeCameraObjectType());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<FrontLongRangeCameraObjectType> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[6]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public FrontLongRangeCameraObjectType() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public FrontLongRangeCameraObjectType(FrontLongRangeCameraObjectType other) : this() {
          resolution_ = other.resolution_.Clone();
          image_ = other.image_;
          fileType_ = other.fileType_.Clone();
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public FrontLongRangeCameraObjectType Clone() {
          return new FrontLongRangeCameraObjectType(this);
        }

        /// <summary>Field number for the "resolution" field.</summary>
        public const int ResolutionFieldNumber = 1;
        private static readonly pb::FieldCodec<int> _repeated_resolution_codec
            = pb::FieldCodec.ForInt32(10);
        private readonly pbc::RepeatedField<int> resolution_ = new pbc::RepeatedField<int>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<int> Resolution {
          get { return resolution_; }
        }

        /// <summary>Field number for the "image" field.</summary>
        public const int ImageFieldNumber = 3;
        private pb::ByteString image_ = pb::ByteString.Empty;
        /// <summary>
        //// Data bytes for the Camera Image
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pb::ByteString Image {
          get { return image_; }
          set {
            image_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
          }
        }

        /// <summary>Field number for the "fileType" field.</summary>
        public const int FileTypeFieldNumber = 2;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraImageFileTypeEnum> _repeated_fileType_codec
            = pb::FieldCodec.ForEnum(18, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraImageFileTypeEnum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraImageFileTypeEnum> fileType_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraImageFileTypeEnum>();
        /// <summary>
        //// File Type Enum
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CameraImageFileTypeEnum> FileType {
          get { return fileType_; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as FrontLongRangeCameraObjectType);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(FrontLongRangeCameraObjectType other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if(!resolution_.Equals(other.resolution_)) return false;
          if (Image != other.Image) return false;
          if(!fileType_.Equals(other.fileType_)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          hash ^= resolution_.GetHashCode();
          if (Image.Length != 0) hash ^= Image.GetHashCode();
          hash ^= fileType_.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          resolution_.WriteTo(output, _repeated_resolution_codec);
          fileType_.WriteTo(output, _repeated_fileType_codec);
          if (Image.Length != 0) {
            output.WriteRawTag(26);
            output.WriteBytes(Image);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          size += resolution_.CalculateSize(_repeated_resolution_codec);
          if (Image.Length != 0) {
            size += 1 + pb::CodedOutputStream.ComputeBytesSize(Image);
          }
          size += fileType_.CalculateSize(_repeated_fileType_codec);
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(FrontLongRangeCameraObjectType other) {
          if (other == null) {
            return;
          }
          resolution_.Add(other.resolution_);
          if (other.Image.Length != 0) {
            Image = other.Image;
          }
          fileType_.Add(other.fileType_);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10:
              case 8: {
                resolution_.AddEntriesFrom(input, _repeated_resolution_codec);
                break;
              }
              case 18:
              case 16: {
                fileType_.AddEntriesFrom(input, _repeated_fileType_codec);
                break;
              }
              case 26: {
                Image = input.ReadBytes();
                break;
              }
            }
          }
        }

      }

      public sealed partial class edrDeploymentImpactLocation : pb::IMessage<edrDeploymentImpactLocation> {
        private static readonly pb::MessageParser<edrDeploymentImpactLocation> _parser = new pb::MessageParser<edrDeploymentImpactLocation>(() => new edrDeploymentImpactLocation());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<edrDeploymentImpactLocation> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[7]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public edrDeploymentImpactLocation() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public edrDeploymentImpactLocation(edrDeploymentImpactLocation other) : this() {
          eARSRear_ = other.eARSRear_;
          eARSHighSeverityFront_ = other.eARSHighSeverityFront_;
          eARSLowSeverityFront_ = other.eARSLowSeverityFront_;
          eARSRollover_ = other.eARSRollover_;
          eARSLeft_ = other.eARSLeft_;
          eARSRight_ = other.eARSRight_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public edrDeploymentImpactLocation Clone() {
          return new edrDeploymentImpactLocation(this);
        }

        /// <summary>Field number for the "EARSRear" field.</summary>
        public const int EARSRearFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum eARSRear_ = 0;
        /// <summary>
        //// Impact location B in ORC.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum EARSRear {
          get { return eARSRear_; }
          set {
            eARSRear_ = value;
          }
        }

        /// <summary>Field number for the "EARSHighSeverityFront" field.</summary>
        public const int EARSHighSeverityFrontFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum eARSHighSeverityFront_ = 0;
        /// <summary>
        //// Impact C location in ORC.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum EARSHighSeverityFront {
          get { return eARSHighSeverityFront_; }
          set {
            eARSHighSeverityFront_ = value;
          }
        }

        /// <summary>Field number for the "EARSLowSeverityFront" field.</summary>
        public const int EARSLowSeverityFrontFieldNumber = 3;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum eARSLowSeverityFront_ = 0;
        /// <summary>
        //// Impact F location in ORC
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum EARSLowSeverityFront {
          get { return eARSLowSeverityFront_; }
          set {
            eARSLowSeverityFront_ = value;
          }
        }

        /// <summary>Field number for the "EARSRollover" field.</summary>
        public const int EARSRolloverFieldNumber = 4;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum eARSRollover_ = 0;
        /// <summary>
        //// impactI
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum EARSRollover {
          get { return eARSRollover_; }
          set {
            eARSRollover_ = value;
          }
        }

        /// <summary>Field number for the "EARSLeft" field.</summary>
        public const int EARSLeftFieldNumber = 5;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum eARSLeft_ = 0;
        /// <summary>
        //// Impact K location in ORC.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum EARSLeft {
          get { return eARSLeft_; }
          set {
            eARSLeft_ = value;
          }
        }

        /// <summary>Field number for the "EARSRight" field.</summary>
        public const int EARSRightFieldNumber = 6;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum eARSRight_ = 0;
        /// <summary>
        //// Impact M location in ORC
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum EARSRight {
          get { return eARSRight_; }
          set {
            eARSRight_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as edrDeploymentImpactLocation);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(edrDeploymentImpactLocation other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (EARSRear != other.EARSRear) return false;
          if (EARSHighSeverityFront != other.EARSHighSeverityFront) return false;
          if (EARSLowSeverityFront != other.EARSLowSeverityFront) return false;
          if (EARSRollover != other.EARSRollover) return false;
          if (EARSLeft != other.EARSLeft) return false;
          if (EARSRight != other.EARSRight) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (EARSRear != 0) hash ^= EARSRear.GetHashCode();
          if (EARSHighSeverityFront != 0) hash ^= EARSHighSeverityFront.GetHashCode();
          if (EARSLowSeverityFront != 0) hash ^= EARSLowSeverityFront.GetHashCode();
          if (EARSRollover != 0) hash ^= EARSRollover.GetHashCode();
          if (EARSLeft != 0) hash ^= EARSLeft.GetHashCode();
          if (EARSRight != 0) hash ^= EARSRight.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (EARSRear != 0) {
            output.WriteRawTag(8);
            output.WriteEnum((int) EARSRear);
          }
          if (EARSHighSeverityFront != 0) {
            output.WriteRawTag(16);
            output.WriteEnum((int) EARSHighSeverityFront);
          }
          if (EARSLowSeverityFront != 0) {
            output.WriteRawTag(24);
            output.WriteEnum((int) EARSLowSeverityFront);
          }
          if (EARSRollover != 0) {
            output.WriteRawTag(32);
            output.WriteEnum((int) EARSRollover);
          }
          if (EARSLeft != 0) {
            output.WriteRawTag(40);
            output.WriteEnum((int) EARSLeft);
          }
          if (EARSRight != 0) {
            output.WriteRawTag(48);
            output.WriteEnum((int) EARSRight);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (EARSRear != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EARSRear);
          }
          if (EARSHighSeverityFront != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EARSHighSeverityFront);
          }
          if (EARSLowSeverityFront != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EARSLowSeverityFront);
          }
          if (EARSRollover != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EARSRollover);
          }
          if (EARSLeft != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EARSLeft);
          }
          if (EARSRight != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EARSRight);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(edrDeploymentImpactLocation other) {
          if (other == null) {
            return;
          }
          if (other.EARSRear != 0) {
            EARSRear = other.EARSRear;
          }
          if (other.EARSHighSeverityFront != 0) {
            EARSHighSeverityFront = other.EARSHighSeverityFront;
          }
          if (other.EARSLowSeverityFront != 0) {
            EARSLowSeverityFront = other.EARSLowSeverityFront;
          }
          if (other.EARSRollover != 0) {
            EARSRollover = other.EARSRollover;
          }
          if (other.EARSLeft != 0) {
            EARSLeft = other.EARSLeft;
          }
          if (other.EARSRight != 0) {
            EARSRight = other.EARSRight;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                eARSRear_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum) input.ReadEnum();
                break;
              }
              case 16: {
                eARSHighSeverityFront_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum) input.ReadEnum();
                break;
              }
              case 24: {
                eARSLowSeverityFront_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum) input.ReadEnum();
                break;
              }
              case 32: {
                eARSRollover_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum) input.ReadEnum();
                break;
              }
              case 40: {
                eARSLeft_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum) input.ReadEnum();
                break;
              }
              case 48: {
                eARSRight_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.EDRDeploymentStatusEnum) input.ReadEnum();
                break;
              }
            }
          }
        }

      }

      public sealed partial class HMIReqToAudioAmp : pb::IMessage<HMIReqToAudioAmp> {
        private static readonly pb::MessageParser<HMIReqToAudioAmp> _parser = new pb::MessageParser<HMIReqToAudioAmp>(() => new HMIReqToAudioAmp());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<HMIReqToAudioAmp> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[8]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public HMIReqToAudioAmp() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public HMIReqToAudioAmp(HMIReqToAudioAmp other) : this() {
          chimeRepRate_ = other.chimeRepRate_.Clone();
          rFChimeRqSts_ = other.rFChimeRqSts_.Clone();
          lFChimeRqSts_ = other.lFChimeRqSts_.Clone();
          rRChimeRqSts_ = other.rRChimeRqSts_.Clone();
          lRChimeRqSt_ = other.lRChimeRqSt_.Clone();
          chimeTypSts_ = other.chimeTypSts_.Clone();
          chimePriorty_ = other.chimePriorty_.Clone();
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public HMIReqToAudioAmp Clone() {
          return new HMIReqToAudioAmp(this);
        }

        /// <summary>Field number for the "ChimeRepRate" field.</summary>
        public const int ChimeRepRateFieldNumber = 1;
        private static readonly pb::FieldCodec<int> _repeated_chimeRepRate_codec
            = pb::FieldCodec.ForInt32(10);
        private readonly pbc::RepeatedField<int> chimeRepRate_ = new pbc::RepeatedField<int>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<int> ChimeRepRate {
          get { return chimeRepRate_; }
        }

        /// <summary>Field number for the "RFChime_RqSts" field.</summary>
        public const int RFChimeRqStsFieldNumber = 2;
        private static readonly pb::FieldCodec<bool> _repeated_rFChimeRqSts_codec
            = pb::FieldCodec.ForBool(18);
        private readonly pbc::RepeatedField<bool> rFChimeRqSts_ = new pbc::RepeatedField<bool>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<bool> RFChimeRqSts {
          get { return rFChimeRqSts_; }
        }

        /// <summary>Field number for the "LFChime_RqSts" field.</summary>
        public const int LFChimeRqStsFieldNumber = 3;
        private static readonly pb::FieldCodec<bool> _repeated_lFChimeRqSts_codec
            = pb::FieldCodec.ForBool(26);
        private readonly pbc::RepeatedField<bool> lFChimeRqSts_ = new pbc::RepeatedField<bool>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<bool> LFChimeRqSts {
          get { return lFChimeRqSts_; }
        }

        /// <summary>Field number for the "RRChime_RqSts" field.</summary>
        public const int RRChimeRqStsFieldNumber = 4;
        private static readonly pb::FieldCodec<bool> _repeated_rRChimeRqSts_codec
            = pb::FieldCodec.ForBool(34);
        private readonly pbc::RepeatedField<bool> rRChimeRqSts_ = new pbc::RepeatedField<bool>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<bool> RRChimeRqSts {
          get { return rRChimeRqSts_; }
        }

        /// <summary>Field number for the "LRChime_RqSt" field.</summary>
        public const int LRChimeRqStFieldNumber = 5;
        private static readonly pb::FieldCodec<bool> _repeated_lRChimeRqSt_codec
            = pb::FieldCodec.ForBool(42);
        private readonly pbc::RepeatedField<bool> lRChimeRqSt_ = new pbc::RepeatedField<bool>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<bool> LRChimeRqSt {
          get { return lRChimeRqSt_; }
        }

        /// <summary>Field number for the "ChimeTypSts" field.</summary>
        public const int ChimeTypStsFieldNumber = 6;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Chime_TypSts_Enum> _repeated_chimeTypSts_codec
            = pb::FieldCodec.ForEnum(50, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Chime_TypSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Chime_TypSts_Enum> chimeTypSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Chime_TypSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Chime_TypSts_Enum> ChimeTypSts {
          get { return chimeTypSts_; }
        }

        /// <summary>Field number for the "ChimePriorty" field.</summary>
        public const int ChimePriortyFieldNumber = 7;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ChimePriorty_Enum> _repeated_chimePriorty_codec
            = pb::FieldCodec.ForEnum(58, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ChimePriorty_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ChimePriorty_Enum> chimePriorty_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ChimePriorty_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ChimePriorty_Enum> ChimePriorty {
          get { return chimePriorty_; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as HMIReqToAudioAmp);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(HMIReqToAudioAmp other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if(!chimeRepRate_.Equals(other.chimeRepRate_)) return false;
          if(!rFChimeRqSts_.Equals(other.rFChimeRqSts_)) return false;
          if(!lFChimeRqSts_.Equals(other.lFChimeRqSts_)) return false;
          if(!rRChimeRqSts_.Equals(other.rRChimeRqSts_)) return false;
          if(!lRChimeRqSt_.Equals(other.lRChimeRqSt_)) return false;
          if(!chimeTypSts_.Equals(other.chimeTypSts_)) return false;
          if(!chimePriorty_.Equals(other.chimePriorty_)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          hash ^= chimeRepRate_.GetHashCode();
          hash ^= rFChimeRqSts_.GetHashCode();
          hash ^= lFChimeRqSts_.GetHashCode();
          hash ^= rRChimeRqSts_.GetHashCode();
          hash ^= lRChimeRqSt_.GetHashCode();
          hash ^= chimeTypSts_.GetHashCode();
          hash ^= chimePriorty_.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          chimeRepRate_.WriteTo(output, _repeated_chimeRepRate_codec);
          rFChimeRqSts_.WriteTo(output, _repeated_rFChimeRqSts_codec);
          lFChimeRqSts_.WriteTo(output, _repeated_lFChimeRqSts_codec);
          rRChimeRqSts_.WriteTo(output, _repeated_rRChimeRqSts_codec);
          lRChimeRqSt_.WriteTo(output, _repeated_lRChimeRqSt_codec);
          chimeTypSts_.WriteTo(output, _repeated_chimeTypSts_codec);
          chimePriorty_.WriteTo(output, _repeated_chimePriorty_codec);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          size += chimeRepRate_.CalculateSize(_repeated_chimeRepRate_codec);
          size += rFChimeRqSts_.CalculateSize(_repeated_rFChimeRqSts_codec);
          size += lFChimeRqSts_.CalculateSize(_repeated_lFChimeRqSts_codec);
          size += rRChimeRqSts_.CalculateSize(_repeated_rRChimeRqSts_codec);
          size += lRChimeRqSt_.CalculateSize(_repeated_lRChimeRqSt_codec);
          size += chimeTypSts_.CalculateSize(_repeated_chimeTypSts_codec);
          size += chimePriorty_.CalculateSize(_repeated_chimePriorty_codec);
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(HMIReqToAudioAmp other) {
          if (other == null) {
            return;
          }
          chimeRepRate_.Add(other.chimeRepRate_);
          rFChimeRqSts_.Add(other.rFChimeRqSts_);
          lFChimeRqSts_.Add(other.lFChimeRqSts_);
          rRChimeRqSts_.Add(other.rRChimeRqSts_);
          lRChimeRqSt_.Add(other.lRChimeRqSt_);
          chimeTypSts_.Add(other.chimeTypSts_);
          chimePriorty_.Add(other.chimePriorty_);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10:
              case 8: {
                chimeRepRate_.AddEntriesFrom(input, _repeated_chimeRepRate_codec);
                break;
              }
              case 18:
              case 16: {
                rFChimeRqSts_.AddEntriesFrom(input, _repeated_rFChimeRqSts_codec);
                break;
              }
              case 26:
              case 24: {
                lFChimeRqSts_.AddEntriesFrom(input, _repeated_lFChimeRqSts_codec);
                break;
              }
              case 34:
              case 32: {
                rRChimeRqSts_.AddEntriesFrom(input, _repeated_rRChimeRqSts_codec);
                break;
              }
              case 42:
              case 40: {
                lRChimeRqSt_.AddEntriesFrom(input, _repeated_lRChimeRqSt_codec);
                break;
              }
              case 50:
              case 48: {
                chimeTypSts_.AddEntriesFrom(input, _repeated_chimeTypSts_codec);
                break;
              }
              case 58:
              case 56: {
                chimePriorty_.AddEntriesFrom(input, _repeated_chimePriorty_codec);
                break;
              }
            }
          }
        }

      }

      public sealed partial class l2pHMIReqToCluster_Type : pb::IMessage<l2pHMIReqToCluster_Type> {
        private static readonly pb::MessageParser<l2pHMIReqToCluster_Type> _parser = new pb::MessageParser<l2pHMIReqToCluster_Type>(() => new l2pHMIReqToCluster_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<l2pHMIReqToCluster_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[9]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public l2pHMIReqToCluster_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public l2pHMIReqToCluster_Type(l2pHMIReqToCluster_Type other) : this() {
          displayStsOFF_ = other.displayStsOFF_.Clone();
          displayStsACC_ = other.displayStsACC_.Clone();
          displayStsVeh_ = other.displayStsVeh_;
          laneDisplayStsLeftHAS_ = other.laneDisplayStsLeftHAS_.Clone();
          laneDisplayStsRightHAS_ = other.laneDisplayStsRightHAS_.Clone();
          hASTelltaleSts_ = other.hASTelltaleSts_.Clone();
          aCCSetSpeedStrike_ = other.aCCSetSpeedStrike_.Clone();
          laneDispPopupSts_ = other.laneDispPopupSts_.Clone();
          aCCDispPopupSts_ = other.aCCDispPopupSts_.Clone();
          sVIRequest_ = other.sVIRequest_.Clone();
          hASFailSts_ = other.hASFailSts_.Clone();
          aCCFailSts_ = other.aCCFailSts_.Clone();
          nCCFailSts_ = other.nCCFailSts_.Clone();
          aEBFailSts_ = other.aEBFailSts_.Clone();
          hASBlind_ = other.hASBlind_.Clone();
          aCCLimited_ = other.aCCLimited_.Clone();
          aEBLimited_ = other.aEBLimited_.Clone();
          aCCLimitFail_ = other.aCCLimitFail_.Clone();
          aEBLimitFail_ = other.aEBLimitFail_.Clone();
          aCCBlind_ = other.aCCBlind_.Clone();
          aEBBlind_ = other.aEBBlind_.Clone();
          iCABlind_ = other.iCABlind_.Clone();
          dDDDispPopupSts_ = other.dDDDispPopupSts_.Clone();
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public l2pHMIReqToCluster_Type Clone() {
          return new l2pHMIReqToCluster_Type(this);
        }

        /// <summary>Field number for the "DisplaySts_OFF" field.</summary>
        public const int DisplayStsOFFFieldNumber = 22;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_OFF_Enum> _repeated_displayStsOFF_codec
            = pb::FieldCodec.ForEnum(178, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_OFF_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_OFF_Enum> displayStsOFF_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_OFF_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_OFF_Enum> DisplayStsOFF {
          get { return displayStsOFF_; }
        }

        /// <summary>Field number for the "DisplaySts_ACC" field.</summary>
        public const int DisplayStsACCFieldNumber = 1;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_ACC_Enum> _repeated_displayStsACC_codec
            = pb::FieldCodec.ForEnum(10, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_ACC_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_ACC_Enum> displayStsACC_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_ACC_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_ACC_Enum> DisplayStsACC {
          get { return displayStsACC_; }
        }

        /// <summary>Field number for the "DisplaySts_Veh" field.</summary>
        public const int DisplayStsVehFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_Veh_Enum displayStsVeh_ = 0;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_Veh_Enum DisplayStsVeh {
          get { return displayStsVeh_; }
          set {
            displayStsVeh_ = value;
          }
        }

        /// <summary>Field number for the "Lane_DisplaySts_Left_HAS" field.</summary>
        public const int LaneDisplayStsLeftHASFieldNumber = 3;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum> _repeated_laneDisplayStsLeftHAS_codec
            = pb::FieldCodec.ForEnum(26, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum> laneDisplayStsLeftHAS_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum> LaneDisplayStsLeftHAS {
          get { return laneDisplayStsLeftHAS_; }
        }

        /// <summary>Field number for the "Lane_DisplaySts_Right_HAS" field.</summary>
        public const int LaneDisplayStsRightHASFieldNumber = 4;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum> _repeated_laneDisplayStsRightHAS_codec
            = pb::FieldCodec.ForEnum(34, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum> laneDisplayStsRightHAS_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DisplaySts_Left_Right_Enum> LaneDisplayStsRightHAS {
          get { return laneDisplayStsRightHAS_; }
        }

        /// <summary>Field number for the "HAS_TelltaleSts" field.</summary>
        public const int HASTelltaleStsFieldNumber = 5;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HAS_TellTaleSts_Enum> _repeated_hASTelltaleSts_codec
            = pb::FieldCodec.ForEnum(42, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HAS_TellTaleSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HAS_TellTaleSts_Enum> hASTelltaleSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HAS_TellTaleSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HAS_TellTaleSts_Enum> HASTelltaleSts {
          get { return hASTelltaleSts_; }
        }

        /// <summary>Field number for the "ACC_Set_Speed_Strike" field.</summary>
        public const int ACCSetSpeedStrikeFieldNumber = 6;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_SetSpeedStrike_Enum> _repeated_aCCSetSpeedStrike_codec
            = pb::FieldCodec.ForEnum(50, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_SetSpeedStrike_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_SetSpeedStrike_Enum> aCCSetSpeedStrike_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_SetSpeedStrike_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_SetSpeedStrike_Enum> ACCSetSpeedStrike {
          get { return aCCSetSpeedStrike_; }
        }

        /// <summary>Field number for the "Lane_DispPopupSts" field.</summary>
        public const int LaneDispPopupStsFieldNumber = 7;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DispPopupSts_Enum> _repeated_laneDispPopupSts_codec
            = pb::FieldCodec.ForEnum(58, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DispPopupSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DispPopupSts_Enum> laneDispPopupSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DispPopupSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Lane_DispPopupSts_Enum> LaneDispPopupSts {
          get { return laneDispPopupSts_; }
        }

        /// <summary>Field number for the "ACC_DispPopupSts" field.</summary>
        public const int ACCDispPopupStsFieldNumber = 8;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_DispPopupSts_Enum> _repeated_aCCDispPopupSts_codec
            = pb::FieldCodec.ForEnum(66, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_DispPopupSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_DispPopupSts_Enum> aCCDispPopupSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_DispPopupSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ACC_DispPopupSts_Enum> ACCDispPopupSts {
          get { return aCCDispPopupSts_; }
        }

        /// <summary>Field number for the "SVI_Request" field.</summary>
        public const int SVIRequestFieldNumber = 9;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SVI_Request_Enum> _repeated_sVIRequest_codec
            = pb::FieldCodec.ForEnum(74, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SVI_Request_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SVI_Request_Enum> sVIRequest_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SVI_Request_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.SVI_Request_Enum> SVIRequest {
          get { return sVIRequest_; }
        }

        /// <summary>Field number for the "HAS_FailSts" field.</summary>
        public const int HASFailStsFieldNumber = 10;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> _repeated_hASFailSts_codec
            = pb::FieldCodec.ForEnum(82, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> hASFailSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> HASFailSts {
          get { return hASFailSts_; }
        }

        /// <summary>Field number for the "ACC_FailSts" field.</summary>
        public const int ACCFailStsFieldNumber = 11;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> _repeated_aCCFailSts_codec
            = pb::FieldCodec.ForEnum(90, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> aCCFailSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> ACCFailSts {
          get { return aCCFailSts_; }
        }

        /// <summary>Field number for the "NCC_FailSts" field.</summary>
        public const int NCCFailStsFieldNumber = 12;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> _repeated_nCCFailSts_codec
            = pb::FieldCodec.ForEnum(98, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> nCCFailSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> NCCFailSts {
          get { return nCCFailSts_; }
        }

        /// <summary>Field number for the "AEB_FailSts" field.</summary>
        public const int AEBFailStsFieldNumber = 13;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> _repeated_aEBFailSts_codec
            = pb::FieldCodec.ForEnum(106, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> aEBFailSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> AEBFailSts {
          get { return aEBFailSts_; }
        }

        /// <summary>Field number for the "HAS_Blind" field.</summary>
        public const int HASBlindFieldNumber = 14;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum> _repeated_hASBlind_codec
            = pb::FieldCodec.ForEnum(114, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum> hASBlind_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum> HASBlind {
          get { return hASBlind_; }
        }

        /// <summary>Field number for the "ACC_Limited" field.</summary>
        public const int ACCLimitedFieldNumber = 15;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> _repeated_aCCLimited_codec
            = pb::FieldCodec.ForEnum(122, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> aCCLimited_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> ACCLimited {
          get { return aCCLimited_; }
        }

        /// <summary>Field number for the "AEB_Limited" field.</summary>
        public const int AEBLimitedFieldNumber = 16;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> _repeated_aEBLimited_codec
            = pb::FieldCodec.ForEnum(130, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> aEBLimited_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> AEBLimited {
          get { return aEBLimited_; }
        }

        /// <summary>Field number for the "ACC_Limit_Fail" field.</summary>
        public const int ACCLimitFailFieldNumber = 17;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> _repeated_aCCLimitFail_codec
            = pb::FieldCodec.ForEnum(138, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> aCCLimitFail_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> ACCLimitFail {
          get { return aCCLimitFail_; }
        }

        /// <summary>Field number for the "AEB_Limit_Fail" field.</summary>
        public const int AEBLimitFailFieldNumber = 18;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> _repeated_aEBLimitFail_codec
            = pb::FieldCodec.ForEnum(146, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> aEBLimitFail_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.FailSts_Enum> AEBLimitFail {
          get { return aEBLimitFail_; }
        }

        /// <summary>Field number for the "ACC_Blind" field.</summary>
        public const int ACCBlindFieldNumber = 19;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum> _repeated_aCCBlind_codec
            = pb::FieldCodec.ForEnum(154, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum> aCCBlind_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum> ACCBlind {
          get { return aCCBlind_; }
        }

        /// <summary>Field number for the "AEB_Blind" field.</summary>
        public const int AEBBlindFieldNumber = 20;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum> _repeated_aEBBlind_codec
            = pb::FieldCodec.ForEnum(162, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum> aEBBlind_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Blind_Enum> AEBBlind {
          get { return aEBBlind_; }
        }

        /// <summary>Field number for the "ICA_Blind" field.</summary>
        public const int ICABlindFieldNumber = 21;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ICA_Blind_Enum> _repeated_iCABlind_codec
            = pb::FieldCodec.ForEnum(170, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ICA_Blind_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ICA_Blind_Enum> iCABlind_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ICA_Blind_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.ICA_Blind_Enum> ICABlind {
          get { return iCABlind_; }
        }

        /// <summary>Field number for the "DDD_DispPopupSts" field.</summary>
        public const int DDDDispPopupStsFieldNumber = 23;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DDD_DispPopupSts_Enum> _repeated_dDDDispPopupSts_codec
            = pb::FieldCodec.ForEnum(186, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DDD_DispPopupSts_Enum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DDD_DispPopupSts_Enum> dDDDispPopupSts_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DDD_DispPopupSts_Enum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DDD_DispPopupSts_Enum> DDDDispPopupSts {
          get { return dDDDispPopupSts_; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as l2pHMIReqToCluster_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(l2pHMIReqToCluster_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if(!displayStsOFF_.Equals(other.displayStsOFF_)) return false;
          if(!displayStsACC_.Equals(other.displayStsACC_)) return false;
          if (DisplayStsVeh != other.DisplayStsVeh) return false;
          if(!laneDisplayStsLeftHAS_.Equals(other.laneDisplayStsLeftHAS_)) return false;
          if(!laneDisplayStsRightHAS_.Equals(other.laneDisplayStsRightHAS_)) return false;
          if(!hASTelltaleSts_.Equals(other.hASTelltaleSts_)) return false;
          if(!aCCSetSpeedStrike_.Equals(other.aCCSetSpeedStrike_)) return false;
          if(!laneDispPopupSts_.Equals(other.laneDispPopupSts_)) return false;
          if(!aCCDispPopupSts_.Equals(other.aCCDispPopupSts_)) return false;
          if(!sVIRequest_.Equals(other.sVIRequest_)) return false;
          if(!hASFailSts_.Equals(other.hASFailSts_)) return false;
          if(!aCCFailSts_.Equals(other.aCCFailSts_)) return false;
          if(!nCCFailSts_.Equals(other.nCCFailSts_)) return false;
          if(!aEBFailSts_.Equals(other.aEBFailSts_)) return false;
          if(!hASBlind_.Equals(other.hASBlind_)) return false;
          if(!aCCLimited_.Equals(other.aCCLimited_)) return false;
          if(!aEBLimited_.Equals(other.aEBLimited_)) return false;
          if(!aCCLimitFail_.Equals(other.aCCLimitFail_)) return false;
          if(!aEBLimitFail_.Equals(other.aEBLimitFail_)) return false;
          if(!aCCBlind_.Equals(other.aCCBlind_)) return false;
          if(!aEBBlind_.Equals(other.aEBBlind_)) return false;
          if(!iCABlind_.Equals(other.iCABlind_)) return false;
          if(!dDDDispPopupSts_.Equals(other.dDDDispPopupSts_)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          hash ^= displayStsOFF_.GetHashCode();
          hash ^= displayStsACC_.GetHashCode();
          if (DisplayStsVeh != 0) hash ^= DisplayStsVeh.GetHashCode();
          hash ^= laneDisplayStsLeftHAS_.GetHashCode();
          hash ^= laneDisplayStsRightHAS_.GetHashCode();
          hash ^= hASTelltaleSts_.GetHashCode();
          hash ^= aCCSetSpeedStrike_.GetHashCode();
          hash ^= laneDispPopupSts_.GetHashCode();
          hash ^= aCCDispPopupSts_.GetHashCode();
          hash ^= sVIRequest_.GetHashCode();
          hash ^= hASFailSts_.GetHashCode();
          hash ^= aCCFailSts_.GetHashCode();
          hash ^= nCCFailSts_.GetHashCode();
          hash ^= aEBFailSts_.GetHashCode();
          hash ^= hASBlind_.GetHashCode();
          hash ^= aCCLimited_.GetHashCode();
          hash ^= aEBLimited_.GetHashCode();
          hash ^= aCCLimitFail_.GetHashCode();
          hash ^= aEBLimitFail_.GetHashCode();
          hash ^= aCCBlind_.GetHashCode();
          hash ^= aEBBlind_.GetHashCode();
          hash ^= iCABlind_.GetHashCode();
          hash ^= dDDDispPopupSts_.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          displayStsACC_.WriteTo(output, _repeated_displayStsACC_codec);
          if (DisplayStsVeh != 0) {
            output.WriteRawTag(16);
            output.WriteEnum((int) DisplayStsVeh);
          }
          laneDisplayStsLeftHAS_.WriteTo(output, _repeated_laneDisplayStsLeftHAS_codec);
          laneDisplayStsRightHAS_.WriteTo(output, _repeated_laneDisplayStsRightHAS_codec);
          hASTelltaleSts_.WriteTo(output, _repeated_hASTelltaleSts_codec);
          aCCSetSpeedStrike_.WriteTo(output, _repeated_aCCSetSpeedStrike_codec);
          laneDispPopupSts_.WriteTo(output, _repeated_laneDispPopupSts_codec);
          aCCDispPopupSts_.WriteTo(output, _repeated_aCCDispPopupSts_codec);
          sVIRequest_.WriteTo(output, _repeated_sVIRequest_codec);
          hASFailSts_.WriteTo(output, _repeated_hASFailSts_codec);
          aCCFailSts_.WriteTo(output, _repeated_aCCFailSts_codec);
          nCCFailSts_.WriteTo(output, _repeated_nCCFailSts_codec);
          aEBFailSts_.WriteTo(output, _repeated_aEBFailSts_codec);
          hASBlind_.WriteTo(output, _repeated_hASBlind_codec);
          aCCLimited_.WriteTo(output, _repeated_aCCLimited_codec);
          aEBLimited_.WriteTo(output, _repeated_aEBLimited_codec);
          aCCLimitFail_.WriteTo(output, _repeated_aCCLimitFail_codec);
          aEBLimitFail_.WriteTo(output, _repeated_aEBLimitFail_codec);
          aCCBlind_.WriteTo(output, _repeated_aCCBlind_codec);
          aEBBlind_.WriteTo(output, _repeated_aEBBlind_codec);
          iCABlind_.WriteTo(output, _repeated_iCABlind_codec);
          displayStsOFF_.WriteTo(output, _repeated_displayStsOFF_codec);
          dDDDispPopupSts_.WriteTo(output, _repeated_dDDDispPopupSts_codec);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          size += displayStsOFF_.CalculateSize(_repeated_displayStsOFF_codec);
          size += displayStsACC_.CalculateSize(_repeated_displayStsACC_codec);
          if (DisplayStsVeh != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DisplayStsVeh);
          }
          size += laneDisplayStsLeftHAS_.CalculateSize(_repeated_laneDisplayStsLeftHAS_codec);
          size += laneDisplayStsRightHAS_.CalculateSize(_repeated_laneDisplayStsRightHAS_codec);
          size += hASTelltaleSts_.CalculateSize(_repeated_hASTelltaleSts_codec);
          size += aCCSetSpeedStrike_.CalculateSize(_repeated_aCCSetSpeedStrike_codec);
          size += laneDispPopupSts_.CalculateSize(_repeated_laneDispPopupSts_codec);
          size += aCCDispPopupSts_.CalculateSize(_repeated_aCCDispPopupSts_codec);
          size += sVIRequest_.CalculateSize(_repeated_sVIRequest_codec);
          size += hASFailSts_.CalculateSize(_repeated_hASFailSts_codec);
          size += aCCFailSts_.CalculateSize(_repeated_aCCFailSts_codec);
          size += nCCFailSts_.CalculateSize(_repeated_nCCFailSts_codec);
          size += aEBFailSts_.CalculateSize(_repeated_aEBFailSts_codec);
          size += hASBlind_.CalculateSize(_repeated_hASBlind_codec);
          size += aCCLimited_.CalculateSize(_repeated_aCCLimited_codec);
          size += aEBLimited_.CalculateSize(_repeated_aEBLimited_codec);
          size += aCCLimitFail_.CalculateSize(_repeated_aCCLimitFail_codec);
          size += aEBLimitFail_.CalculateSize(_repeated_aEBLimitFail_codec);
          size += aCCBlind_.CalculateSize(_repeated_aCCBlind_codec);
          size += aEBBlind_.CalculateSize(_repeated_aEBBlind_codec);
          size += iCABlind_.CalculateSize(_repeated_iCABlind_codec);
          size += dDDDispPopupSts_.CalculateSize(_repeated_dDDDispPopupSts_codec);
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(l2pHMIReqToCluster_Type other) {
          if (other == null) {
            return;
          }
          displayStsOFF_.Add(other.displayStsOFF_);
          displayStsACC_.Add(other.displayStsACC_);
          if (other.DisplayStsVeh != 0) {
            DisplayStsVeh = other.DisplayStsVeh;
          }
          laneDisplayStsLeftHAS_.Add(other.laneDisplayStsLeftHAS_);
          laneDisplayStsRightHAS_.Add(other.laneDisplayStsRightHAS_);
          hASTelltaleSts_.Add(other.hASTelltaleSts_);
          aCCSetSpeedStrike_.Add(other.aCCSetSpeedStrike_);
          laneDispPopupSts_.Add(other.laneDispPopupSts_);
          aCCDispPopupSts_.Add(other.aCCDispPopupSts_);
          sVIRequest_.Add(other.sVIRequest_);
          hASFailSts_.Add(other.hASFailSts_);
          aCCFailSts_.Add(other.aCCFailSts_);
          nCCFailSts_.Add(other.nCCFailSts_);
          aEBFailSts_.Add(other.aEBFailSts_);
          hASBlind_.Add(other.hASBlind_);
          aCCLimited_.Add(other.aCCLimited_);
          aEBLimited_.Add(other.aEBLimited_);
          aCCLimitFail_.Add(other.aCCLimitFail_);
          aEBLimitFail_.Add(other.aEBLimitFail_);
          aCCBlind_.Add(other.aCCBlind_);
          aEBBlind_.Add(other.aEBBlind_);
          iCABlind_.Add(other.iCABlind_);
          dDDDispPopupSts_.Add(other.dDDDispPopupSts_);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10:
              case 8: {
                displayStsACC_.AddEntriesFrom(input, _repeated_displayStsACC_codec);
                break;
              }
              case 16: {
                displayStsVeh_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DisplaySts_Veh_Enum) input.ReadEnum();
                break;
              }
              case 26:
              case 24: {
                laneDisplayStsLeftHAS_.AddEntriesFrom(input, _repeated_laneDisplayStsLeftHAS_codec);
                break;
              }
              case 34:
              case 32: {
                laneDisplayStsRightHAS_.AddEntriesFrom(input, _repeated_laneDisplayStsRightHAS_codec);
                break;
              }
              case 42:
              case 40: {
                hASTelltaleSts_.AddEntriesFrom(input, _repeated_hASTelltaleSts_codec);
                break;
              }
              case 50:
              case 48: {
                aCCSetSpeedStrike_.AddEntriesFrom(input, _repeated_aCCSetSpeedStrike_codec);
                break;
              }
              case 58:
              case 56: {
                laneDispPopupSts_.AddEntriesFrom(input, _repeated_laneDispPopupSts_codec);
                break;
              }
              case 66:
              case 64: {
                aCCDispPopupSts_.AddEntriesFrom(input, _repeated_aCCDispPopupSts_codec);
                break;
              }
              case 74:
              case 72: {
                sVIRequest_.AddEntriesFrom(input, _repeated_sVIRequest_codec);
                break;
              }
              case 82:
              case 80: {
                hASFailSts_.AddEntriesFrom(input, _repeated_hASFailSts_codec);
                break;
              }
              case 90:
              case 88: {
                aCCFailSts_.AddEntriesFrom(input, _repeated_aCCFailSts_codec);
                break;
              }
              case 98:
              case 96: {
                nCCFailSts_.AddEntriesFrom(input, _repeated_nCCFailSts_codec);
                break;
              }
              case 106:
              case 104: {
                aEBFailSts_.AddEntriesFrom(input, _repeated_aEBFailSts_codec);
                break;
              }
              case 114:
              case 112: {
                hASBlind_.AddEntriesFrom(input, _repeated_hASBlind_codec);
                break;
              }
              case 122:
              case 120: {
                aCCLimited_.AddEntriesFrom(input, _repeated_aCCLimited_codec);
                break;
              }
              case 130:
              case 128: {
                aEBLimited_.AddEntriesFrom(input, _repeated_aEBLimited_codec);
                break;
              }
              case 138:
              case 136: {
                aCCLimitFail_.AddEntriesFrom(input, _repeated_aCCLimitFail_codec);
                break;
              }
              case 146:
              case 144: {
                aEBLimitFail_.AddEntriesFrom(input, _repeated_aEBLimitFail_codec);
                break;
              }
              case 154:
              case 152: {
                aCCBlind_.AddEntriesFrom(input, _repeated_aCCBlind_codec);
                break;
              }
              case 162:
              case 160: {
                aEBBlind_.AddEntriesFrom(input, _repeated_aEBBlind_codec);
                break;
              }
              case 170:
              case 168: {
                iCABlind_.AddEntriesFrom(input, _repeated_iCABlind_codec);
                break;
              }
              case 178:
              case 176: {
                displayStsOFF_.AddEntriesFrom(input, _repeated_displayStsOFF_codec);
                break;
              }
              case 186:
              case 184: {
                dDDDispPopupSts_.AddEntriesFrom(input, _repeated_dDDDispPopupSts_codec);
                break;
              }
            }
          }
        }

      }

      public sealed partial class TurnSignalSwitchStatus_Type : pb::IMessage<TurnSignalSwitchStatus_Type> {
        private static readonly pb::MessageParser<TurnSignalSwitchStatus_Type> _parser = new pb::MessageParser<TurnSignalSwitchStatus_Type>(() => new TurnSignalSwitchStatus_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<TurnSignalSwitchStatus_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[10]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public TurnSignalSwitchStatus_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public TurnSignalSwitchStatus_Type(TurnSignalSwitchStatus_Type other) : this() {
          turnLeverLatched_ = other.turnLeverLatched_;
          turnIndicatorSts_ = other.turnIndicatorSts_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public TurnSignalSwitchStatus_Type Clone() {
          return new TurnSignalSwitchStatus_Type(this);
        }

        /// <summary>Field number for the "TurnLeverLatched" field.</summary>
        public const int TurnLeverLatchedFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Set_Enum turnLeverLatched_ = 0;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Set_Enum TurnLeverLatched {
          get { return turnLeverLatched_; }
          set {
            turnLeverLatched_ = value;
          }
        }

        /// <summary>Field number for the "TurnIndicatorSts" field.</summary>
        public const int TurnIndicatorStsFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnIndicator_Enum turnIndicatorSts_ = 0;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnIndicator_Enum TurnIndicatorSts {
          get { return turnIndicatorSts_; }
          set {
            turnIndicatorSts_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as TurnSignalSwitchStatus_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(TurnSignalSwitchStatus_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (TurnLeverLatched != other.TurnLeverLatched) return false;
          if (TurnIndicatorSts != other.TurnIndicatorSts) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (TurnLeverLatched != 0) hash ^= TurnLeverLatched.GetHashCode();
          if (TurnIndicatorSts != 0) hash ^= TurnIndicatorSts.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (TurnLeverLatched != 0) {
            output.WriteRawTag(8);
            output.WriteEnum((int) TurnLeverLatched);
          }
          if (TurnIndicatorSts != 0) {
            output.WriteRawTag(16);
            output.WriteEnum((int) TurnIndicatorSts);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (TurnLeverLatched != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TurnLeverLatched);
          }
          if (TurnIndicatorSts != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TurnIndicatorSts);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(TurnSignalSwitchStatus_Type other) {
          if (other == null) {
            return;
          }
          if (other.TurnLeverLatched != 0) {
            TurnLeverLatched = other.TurnLeverLatched;
          }
          if (other.TurnIndicatorSts != 0) {
            TurnIndicatorSts = other.TurnIndicatorSts;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                turnLeverLatched_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Set_Enum) input.ReadEnum();
                break;
              }
              case 16: {
                turnIndicatorSts_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.TurnIndicator_Enum) input.ReadEnum();
                break;
              }
            }
          }
        }

      }

      public sealed partial class HeadLightStatus_Type : pb::IMessage<HeadLightStatus_Type> {
        private static readonly pb::MessageParser<HeadLightStatus_Type> _parser = new pb::MessageParser<HeadLightStatus_Type>(() => new HeadLightStatus_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<HeadLightStatus_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[11]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public HeadLightStatus_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public HeadLightStatus_Type(HeadLightStatus_Type other) : this() {
          lowBeam_ = other.lowBeam_;
          highBeam_ = other.highBeam_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public HeadLightStatus_Type Clone() {
          return new HeadLightStatus_Type(this);
        }

        /// <summary>Field number for the "LowBeam" field.</summary>
        public const int LowBeamFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatusEnum lowBeam_ = 0;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatusEnum LowBeam {
          get { return lowBeam_; }
          set {
            lowBeam_ = value;
          }
        }

        /// <summary>Field number for the "HighBeam" field.</summary>
        public const int HighBeamFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatusEnum highBeam_ = 0;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatusEnum HighBeam {
          get { return highBeam_; }
          set {
            highBeam_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as HeadLightStatus_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(HeadLightStatus_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (LowBeam != other.LowBeam) return false;
          if (HighBeam != other.HighBeam) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (LowBeam != 0) hash ^= LowBeam.GetHashCode();
          if (HighBeam != 0) hash ^= HighBeam.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (LowBeam != 0) {
            output.WriteRawTag(8);
            output.WriteEnum((int) LowBeam);
          }
          if (HighBeam != 0) {
            output.WriteRawTag(16);
            output.WriteEnum((int) HighBeam);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (LowBeam != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LowBeam);
          }
          if (HighBeam != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HighBeam);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(HeadLightStatus_Type other) {
          if (other == null) {
            return;
          }
          if (other.LowBeam != 0) {
            LowBeam = other.LowBeam;
          }
          if (other.HighBeam != 0) {
            HighBeam = other.HighBeam;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                lowBeam_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatusEnum) input.ReadEnum();
                break;
              }
              case 16: {
                highBeam_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HeadLightStatusEnum) input.ReadEnum();
                break;
              }
            }
          }
        }

      }

      public sealed partial class PowertrainInterfaceEngageReq_Type : pb::IMessage<PowertrainInterfaceEngageReq_Type> {
        private static readonly pb::MessageParser<PowertrainInterfaceEngageReq_Type> _parser = new pb::MessageParser<PowertrainInterfaceEngageReq_Type>(() => new PowertrainInterfaceEngageReq_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<PowertrainInterfaceEngageReq_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[12]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public PowertrainInterfaceEngageReq_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public PowertrainInterfaceEngageReq_Type(PowertrainInterfaceEngageReq_Type other) : this() {
          aCCEngineTorqueEnabled_ = other.aCCEngineTorqueEnabled_.Clone();
          Enabled_ = other.Enabled_.Clone();
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public PowertrainInterfaceEngageReq_Type Clone() {
          return new PowertrainInterfaceEngageReq_Type(this);
        }

        /// <summary>Field number for the "ACC_Engine_Torque_Enabled" field.</summary>
        public const int ACCEngineTorqueEnabledFieldNumber = 1;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum> _repeated_aCCEngineTorqueEnabled_codec
            = pb::FieldCodec.ForEnum(10, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum> aCCEngineTorqueEnabled_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum> ACCEngineTorqueEnabled {
          get { return aCCEngineTorqueEnabled_; }
        }

        /// <summary>Field number for the "_Enabled" field.</summary>
        public const int EnabledFieldNumber = 2;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum> _repeated_Enabled_codec
            = pb::FieldCodec.ForEnum(18, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum> Enabled_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum> Enabled {
          get { return Enabled_; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as PowertrainInterfaceEngageReq_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(PowertrainInterfaceEngageReq_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if(!aCCEngineTorqueEnabled_.Equals(other.aCCEngineTorqueEnabled_)) return false;
          if(!Enabled_.Equals(other.Enabled_)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          hash ^= aCCEngineTorqueEnabled_.GetHashCode();
          hash ^= Enabled_.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          aCCEngineTorqueEnabled_.WriteTo(output, _repeated_aCCEngineTorqueEnabled_codec);
          Enabled_.WriteTo(output, _repeated_Enabled_codec);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          size += aCCEngineTorqueEnabled_.CalculateSize(_repeated_aCCEngineTorqueEnabled_codec);
          size += Enabled_.CalculateSize(_repeated_Enabled_codec);
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(PowertrainInterfaceEngageReq_Type other) {
          if (other == null) {
            return;
          }
          aCCEngineTorqueEnabled_.Add(other.aCCEngineTorqueEnabled_);
          Enabled_.Add(other.Enabled_);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10:
              case 8: {
                aCCEngineTorqueEnabled_.AddEntriesFrom(input, _repeated_aCCEngineTorqueEnabled_codec);
                break;
              }
              case 18:
              case 16: {
                Enabled_.AddEntriesFrom(input, _repeated_Enabled_codec);
                break;
              }
            }
          }
        }

      }

      public sealed partial class PowertrainTorqueReq_Type : pb::IMessage<PowertrainTorqueReq_Type> {
        private static readonly pb::MessageParser<PowertrainTorqueReq_Type> _parser = new pb::MessageParser<PowertrainTorqueReq_Type>(() => new PowertrainTorqueReq_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<PowertrainTorqueReq_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[13]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public PowertrainTorqueReq_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public PowertrainTorqueReq_Type(PowertrainTorqueReq_Type other) : this() {
          aCCEngineTorque_ = other.aCCEngineTorque_.Clone();
          aCCWheelTorque_ = other.aCCWheelTorque_.Clone();
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public PowertrainTorqueReq_Type Clone() {
          return new PowertrainTorqueReq_Type(this);
        }

        /// <summary>Field number for the "ACC_Engine_Torque" field.</summary>
        public const int ACCEngineTorqueFieldNumber = 1;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum> _repeated_aCCEngineTorque_codec
            = pb::FieldCodec.ForEnum(10, x => (int) x, x => (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum) x);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum> aCCEngineTorque_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum>();
        /// <summary>
        //// ACC_Engine_Torque.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.PowertrainInterfaceEngageReqEnum> ACCEngineTorque {
          get { return aCCEngineTorque_; }
        }

        /// <summary>Field number for the "ACC_Wheel_Torque" field.</summary>
        public const int ACCWheelTorqueFieldNumber = 2;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataSetSignal> _repeated_aCCWheelTorque_codec
            = pb::FieldCodec.ForMessage(18, global::Com.Fca.Uconnect.Global.DataSetSignal.Parser);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> aCCWheelTorque_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal>();
        /// <summary>
        //// ACC_Wheel_Torque.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataSetSignal> ACCWheelTorque {
          get { return aCCWheelTorque_; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as PowertrainTorqueReq_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(PowertrainTorqueReq_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if(!aCCEngineTorque_.Equals(other.aCCEngineTorque_)) return false;
          if(!aCCWheelTorque_.Equals(other.aCCWheelTorque_)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          hash ^= aCCEngineTorque_.GetHashCode();
          hash ^= aCCWheelTorque_.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          aCCEngineTorque_.WriteTo(output, _repeated_aCCEngineTorque_codec);
          aCCWheelTorque_.WriteTo(output, _repeated_aCCWheelTorque_codec);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          size += aCCEngineTorque_.CalculateSize(_repeated_aCCEngineTorque_codec);
          size += aCCWheelTorque_.CalculateSize(_repeated_aCCWheelTorque_codec);
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(PowertrainTorqueReq_Type other) {
          if (other == null) {
            return;
          }
          aCCEngineTorque_.Add(other.aCCEngineTorque_);
          aCCWheelTorque_.Add(other.aCCWheelTorque_);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10:
              case 8: {
                aCCEngineTorque_.AddEntriesFrom(input, _repeated_aCCEngineTorque_codec);
                break;
              }
              case 18: {
                aCCWheelTorque_.AddEntriesFrom(input, _repeated_aCCWheelTorque_codec);
                break;
              }
            }
          }
        }

      }

      public sealed partial class LocHDMapCoordinateObjectType : pb::IMessage<LocHDMapCoordinateObjectType> {
        private static readonly pb::MessageParser<LocHDMapCoordinateObjectType> _parser = new pb::MessageParser<LocHDMapCoordinateObjectType>(() => new LocHDMapCoordinateObjectType());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<LocHDMapCoordinateObjectType> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[14]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public LocHDMapCoordinateObjectType() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public LocHDMapCoordinateObjectType(LocHDMapCoordinateObjectType other) : this() {
          Latitude = other.latitude_ != null ? other.Latitude.Clone() : null;
          Longitude = other.longitude_ != null ? other.Longitude.Clone() : null;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public LocHDMapCoordinateObjectType Clone() {
          return new LocHDMapCoordinateObjectType(this);
        }

        /// <summary>Field number for the "Latitude" field.</summary>
        public const int LatitudeFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataSetSignal latitude_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal Latitude {
          get { return latitude_; }
          set {
            latitude_ = value;
          }
        }

        /// <summary>Field number for the "Longitude" field.</summary>
        public const int LongitudeFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataSetSignal longitude_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataSetSignal Longitude {
          get { return longitude_; }
          set {
            longitude_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as LocHDMapCoordinateObjectType);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(LocHDMapCoordinateObjectType other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (!object.Equals(Latitude, other.Latitude)) return false;
          if (!object.Equals(Longitude, other.Longitude)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (latitude_ != null) hash ^= Latitude.GetHashCode();
          if (longitude_ != null) hash ^= Longitude.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (latitude_ != null) {
            output.WriteRawTag(10);
            output.WriteMessage(Latitude);
          }
          if (longitude_ != null) {
            output.WriteRawTag(18);
            output.WriteMessage(Longitude);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (latitude_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(Latitude);
          }
          if (longitude_ != null) {
            size += 1 + pb::CodedOutputStream.ComputeMessageSize(Longitude);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(LocHDMapCoordinateObjectType other) {
          if (other == null) {
            return;
          }
          if (other.latitude_ != null) {
            if (latitude_ == null) {
              latitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            Latitude.MergeFrom(other.Latitude);
          }
          if (other.longitude_ != null) {
            if (longitude_ == null) {
              longitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
            }
            Longitude.MergeFrom(other.Longitude);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10: {
                if (latitude_ == null) {
                  latitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(latitude_);
                break;
              }
              case 18: {
                if (longitude_ == null) {
                  longitude_ = new global::Com.Fca.Uconnect.Global.DataSetSignal();
                }
                input.ReadMessage(longitude_);
                break;
              }
            }
          }
        }

      }

      public sealed partial class HPPPolynomial_Type : pb::IMessage<HPPPolynomial_Type> {
        private static readonly pb::MessageParser<HPPPolynomial_Type> _parser = new pb::MessageParser<HPPPolynomial_Type>(() => new HPPPolynomial_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<HPPPolynomial_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[15]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public HPPPolynomial_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public HPPPolynomial_Type(HPPPolynomial_Type other) : this() {
          a0_ = other.a0_;
          a1_ = other.a1_;
          a2_ = other.a2_;
          a3_ = other.a3_;
          startRange_ = other.startRange_;
          endRange_ = other.endRange_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public HPPPolynomial_Type Clone() {
          return new HPPPolynomial_Type(this);
        }

        /// <summary>Field number for the "A0" field.</summary>
        public const int A0FieldNumber = 1;
        private float a0_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float A0 {
          get { return a0_; }
          set {
            a0_ = value;
          }
        }

        /// <summary>Field number for the "A1" field.</summary>
        public const int A1FieldNumber = 2;
        private float a1_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float A1 {
          get { return a1_; }
          set {
            a1_ = value;
          }
        }

        /// <summary>Field number for the "A2" field.</summary>
        public const int A2FieldNumber = 3;
        private float a2_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float A2 {
          get { return a2_; }
          set {
            a2_ = value;
          }
        }

        /// <summary>Field number for the "A3" field.</summary>
        public const int A3FieldNumber = 4;
        private float a3_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float A3 {
          get { return a3_; }
          set {
            a3_ = value;
          }
        }

        /// <summary>Field number for the "StartRange" field.</summary>
        public const int StartRangeFieldNumber = 5;
        private float startRange_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float StartRange {
          get { return startRange_; }
          set {
            startRange_ = value;
          }
        }

        /// <summary>Field number for the "EndRange" field.</summary>
        public const int EndRangeFieldNumber = 6;
        private float endRange_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float EndRange {
          get { return endRange_; }
          set {
            endRange_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as HPPPolynomial_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(HPPPolynomial_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (A0 != other.A0) return false;
          if (A1 != other.A1) return false;
          if (A2 != other.A2) return false;
          if (A3 != other.A3) return false;
          if (StartRange != other.StartRange) return false;
          if (EndRange != other.EndRange) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (A0 != 0F) hash ^= A0.GetHashCode();
          if (A1 != 0F) hash ^= A1.GetHashCode();
          if (A2 != 0F) hash ^= A2.GetHashCode();
          if (A3 != 0F) hash ^= A3.GetHashCode();
          if (StartRange != 0F) hash ^= StartRange.GetHashCode();
          if (EndRange != 0F) hash ^= EndRange.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (A0 != 0F) {
            output.WriteRawTag(13);
            output.WriteFloat(A0);
          }
          if (A1 != 0F) {
            output.WriteRawTag(21);
            output.WriteFloat(A1);
          }
          if (A2 != 0F) {
            output.WriteRawTag(29);
            output.WriteFloat(A2);
          }
          if (A3 != 0F) {
            output.WriteRawTag(37);
            output.WriteFloat(A3);
          }
          if (StartRange != 0F) {
            output.WriteRawTag(45);
            output.WriteFloat(StartRange);
          }
          if (EndRange != 0F) {
            output.WriteRawTag(53);
            output.WriteFloat(EndRange);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (A0 != 0F) {
            size += 1 + 4;
          }
          if (A1 != 0F) {
            size += 1 + 4;
          }
          if (A2 != 0F) {
            size += 1 + 4;
          }
          if (A3 != 0F) {
            size += 1 + 4;
          }
          if (StartRange != 0F) {
            size += 1 + 4;
          }
          if (EndRange != 0F) {
            size += 1 + 4;
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(HPPPolynomial_Type other) {
          if (other == null) {
            return;
          }
          if (other.A0 != 0F) {
            A0 = other.A0;
          }
          if (other.A1 != 0F) {
            A1 = other.A1;
          }
          if (other.A2 != 0F) {
            A2 = other.A2;
          }
          if (other.A3 != 0F) {
            A3 = other.A3;
          }
          if (other.StartRange != 0F) {
            StartRange = other.StartRange;
          }
          if (other.EndRange != 0F) {
            EndRange = other.EndRange;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 13: {
                A0 = input.ReadFloat();
                break;
              }
              case 21: {
                A1 = input.ReadFloat();
                break;
              }
              case 29: {
                A2 = input.ReadFloat();
                break;
              }
              case 37: {
                A3 = input.ReadFloat();
                break;
              }
              case 45: {
                StartRange = input.ReadFloat();
                break;
              }
              case 53: {
                EndRange = input.ReadFloat();
                break;
              }
            }
          }
        }

      }

      public sealed partial class Polynomial_Type : pb::IMessage<Polynomial_Type> {
        private static readonly pb::MessageParser<Polynomial_Type> _parser = new pb::MessageParser<Polynomial_Type>(() => new Polynomial_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<Polynomial_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[16]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public Polynomial_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public Polynomial_Type(Polynomial_Type other) : this() {
          a0_ = other.a0_.Clone();
          a1_ = other.a1_.Clone();
          a2_ = other.a2_.Clone();
          a3_ = other.a3_.Clone();
          startRange_ = other.startRange_.Clone();
          endRange_ = other.endRange_.Clone();
          qualityIndicator_ = other.qualityIndicator_.Clone();
          confidence_ = other.confidence_.Clone();
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public Polynomial_Type Clone() {
          return new Polynomial_Type(this);
        }

        /// <summary>Field number for the "A0" field.</summary>
        public const int A0FieldNumber = 1;
        private static readonly pb::FieldCodec<float> _repeated_a0_codec
            = pb::FieldCodec.ForFloat(10);
        private readonly pbc::RepeatedField<float> a0_ = new pbc::RepeatedField<float>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<float> A0 {
          get { return a0_; }
        }

        /// <summary>Field number for the "A1" field.</summary>
        public const int A1FieldNumber = 2;
        private static readonly pb::FieldCodec<float> _repeated_a1_codec
            = pb::FieldCodec.ForFloat(18);
        private readonly pbc::RepeatedField<float> a1_ = new pbc::RepeatedField<float>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<float> A1 {
          get { return a1_; }
        }

        /// <summary>Field number for the "A2" field.</summary>
        public const int A2FieldNumber = 3;
        private static readonly pb::FieldCodec<float> _repeated_a2_codec
            = pb::FieldCodec.ForFloat(26);
        private readonly pbc::RepeatedField<float> a2_ = new pbc::RepeatedField<float>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<float> A2 {
          get { return a2_; }
        }

        /// <summary>Field number for the "A3" field.</summary>
        public const int A3FieldNumber = 4;
        private static readonly pb::FieldCodec<float> _repeated_a3_codec
            = pb::FieldCodec.ForFloat(34);
        private readonly pbc::RepeatedField<float> a3_ = new pbc::RepeatedField<float>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<float> A3 {
          get { return a3_; }
        }

        /// <summary>Field number for the "StartRange" field.</summary>
        public const int StartRangeFieldNumber = 5;
        private static readonly pb::FieldCodec<float> _repeated_startRange_codec
            = pb::FieldCodec.ForFloat(42);
        private readonly pbc::RepeatedField<float> startRange_ = new pbc::RepeatedField<float>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<float> StartRange {
          get { return startRange_; }
        }

        /// <summary>Field number for the "EndRange" field.</summary>
        public const int EndRangeFieldNumber = 6;
        private static readonly pb::FieldCodec<float> _repeated_endRange_codec
            = pb::FieldCodec.ForFloat(50);
        private readonly pbc::RepeatedField<float> endRange_ = new pbc::RepeatedField<float>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<float> EndRange {
          get { return endRange_; }
        }

        /// <summary>Field number for the "Quality_Indicator" field.</summary>
        public const int QualityIndicatorFieldNumber = 7;
        private static readonly pb::FieldCodec<float> _repeated_qualityIndicator_codec
            = pb::FieldCodec.ForFloat(58);
        private readonly pbc::RepeatedField<float> qualityIndicator_ = new pbc::RepeatedField<float>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<float> QualityIndicator {
          get { return qualityIndicator_; }
        }

        /// <summary>Field number for the "Confidence" field.</summary>
        public const int ConfidenceFieldNumber = 8;
        private static readonly pb::FieldCodec<float> _repeated_confidence_codec
            = pb::FieldCodec.ForFloat(66);
        private readonly pbc::RepeatedField<float> confidence_ = new pbc::RepeatedField<float>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<float> Confidence {
          get { return confidence_; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as Polynomial_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(Polynomial_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if(!a0_.Equals(other.a0_)) return false;
          if(!a1_.Equals(other.a1_)) return false;
          if(!a2_.Equals(other.a2_)) return false;
          if(!a3_.Equals(other.a3_)) return false;
          if(!startRange_.Equals(other.startRange_)) return false;
          if(!endRange_.Equals(other.endRange_)) return false;
          if(!qualityIndicator_.Equals(other.qualityIndicator_)) return false;
          if(!confidence_.Equals(other.confidence_)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          hash ^= a0_.GetHashCode();
          hash ^= a1_.GetHashCode();
          hash ^= a2_.GetHashCode();
          hash ^= a3_.GetHashCode();
          hash ^= startRange_.GetHashCode();
          hash ^= endRange_.GetHashCode();
          hash ^= qualityIndicator_.GetHashCode();
          hash ^= confidence_.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          a0_.WriteTo(output, _repeated_a0_codec);
          a1_.WriteTo(output, _repeated_a1_codec);
          a2_.WriteTo(output, _repeated_a2_codec);
          a3_.WriteTo(output, _repeated_a3_codec);
          startRange_.WriteTo(output, _repeated_startRange_codec);
          endRange_.WriteTo(output, _repeated_endRange_codec);
          qualityIndicator_.WriteTo(output, _repeated_qualityIndicator_codec);
          confidence_.WriteTo(output, _repeated_confidence_codec);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          size += a0_.CalculateSize(_repeated_a0_codec);
          size += a1_.CalculateSize(_repeated_a1_codec);
          size += a2_.CalculateSize(_repeated_a2_codec);
          size += a3_.CalculateSize(_repeated_a3_codec);
          size += startRange_.CalculateSize(_repeated_startRange_codec);
          size += endRange_.CalculateSize(_repeated_endRange_codec);
          size += qualityIndicator_.CalculateSize(_repeated_qualityIndicator_codec);
          size += confidence_.CalculateSize(_repeated_confidence_codec);
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(Polynomial_Type other) {
          if (other == null) {
            return;
          }
          a0_.Add(other.a0_);
          a1_.Add(other.a1_);
          a2_.Add(other.a2_);
          a3_.Add(other.a3_);
          startRange_.Add(other.startRange_);
          endRange_.Add(other.endRange_);
          qualityIndicator_.Add(other.qualityIndicator_);
          confidence_.Add(other.confidence_);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10:
              case 13: {
                a0_.AddEntriesFrom(input, _repeated_a0_codec);
                break;
              }
              case 18:
              case 21: {
                a1_.AddEntriesFrom(input, _repeated_a1_codec);
                break;
              }
              case 26:
              case 29: {
                a2_.AddEntriesFrom(input, _repeated_a2_codec);
                break;
              }
              case 34:
              case 37: {
                a3_.AddEntriesFrom(input, _repeated_a3_codec);
                break;
              }
              case 42:
              case 45: {
                startRange_.AddEntriesFrom(input, _repeated_startRange_codec);
                break;
              }
              case 50:
              case 53: {
                endRange_.AddEntriesFrom(input, _repeated_endRange_codec);
                break;
              }
              case 58:
              case 61: {
                qualityIndicator_.AddEntriesFrom(input, _repeated_qualityIndicator_codec);
                break;
              }
              case 66:
              case 69: {
                confidence_.AddEntriesFrom(input, _repeated_confidence_codec);
                break;
              }
            }
          }
        }

      }

      public sealed partial class cameraLaneBorderPolynomialTerms_Type : pb::IMessage<cameraLaneBorderPolynomialTerms_Type> {
        private static readonly pb::MessageParser<cameraLaneBorderPolynomialTerms_Type> _parser = new pb::MessageParser<cameraLaneBorderPolynomialTerms_Type>(() => new cameraLaneBorderPolynomialTerms_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<cameraLaneBorderPolynomialTerms_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[17]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public cameraLaneBorderPolynomialTerms_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public cameraLaneBorderPolynomialTerms_Type(cameraLaneBorderPolynomialTerms_Type other) : this() {
          currentLane_ = other.currentLane_.Clone();
          leftLane_ = other.leftLane_.Clone();
          rightLane_ = other.rightLane_.Clone();
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public cameraLaneBorderPolynomialTerms_Type Clone() {
          return new cameraLaneBorderPolynomialTerms_Type(this);
        }

        /// <summary>Field number for the "CurrentLane" field.</summary>
        public const int CurrentLaneFieldNumber = 1;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type> _repeated_currentLane_codec
            = pb::FieldCodec.ForMessage(10, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type.Parser);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type> currentLane_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type> CurrentLane {
          get { return currentLane_; }
        }

        /// <summary>Field number for the "LeftLane" field.</summary>
        public const int LeftLaneFieldNumber = 2;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type> _repeated_leftLane_codec
            = pb::FieldCodec.ForMessage(18, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type.Parser);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type> leftLane_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type> LeftLane {
          get { return leftLane_; }
        }

        /// <summary>Field number for the "RightLane" field.</summary>
        public const int RightLaneFieldNumber = 3;
        private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type> _repeated_rightLane_codec
            = pb::FieldCodec.ForMessage(26, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type.Parser);
        private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type> rightLane_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.Polynomial_Type> RightLane {
          get { return rightLane_; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as cameraLaneBorderPolynomialTerms_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(cameraLaneBorderPolynomialTerms_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if(!currentLane_.Equals(other.currentLane_)) return false;
          if(!leftLane_.Equals(other.leftLane_)) return false;
          if(!rightLane_.Equals(other.rightLane_)) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          hash ^= currentLane_.GetHashCode();
          hash ^= leftLane_.GetHashCode();
          hash ^= rightLane_.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          currentLane_.WriteTo(output, _repeated_currentLane_codec);
          leftLane_.WriteTo(output, _repeated_leftLane_codec);
          rightLane_.WriteTo(output, _repeated_rightLane_codec);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          size += currentLane_.CalculateSize(_repeated_currentLane_codec);
          size += leftLane_.CalculateSize(_repeated_leftLane_codec);
          size += rightLane_.CalculateSize(_repeated_rightLane_codec);
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(cameraLaneBorderPolynomialTerms_Type other) {
          if (other == null) {
            return;
          }
          currentLane_.Add(other.currentLane_);
          leftLane_.Add(other.leftLane_);
          rightLane_.Add(other.rightLane_);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 10: {
                currentLane_.AddEntriesFrom(input, _repeated_currentLane_codec);
                break;
              }
              case 18: {
                leftLane_.AddEntriesFrom(input, _repeated_leftLane_codec);
                break;
              }
              case 26: {
                rightLane_.AddEntriesFrom(input, _repeated_rightLane_codec);
                break;
              }
            }
          }
        }

      }

      public sealed partial class cvpamFaultStatus_Type : pb::IMessage<cvpamFaultStatus_Type> {
        private static readonly pb::MessageParser<cvpamFaultStatus_Type> _parser = new pb::MessageParser<cvpamFaultStatus_Type>(() => new cvpamFaultStatus_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<cvpamFaultStatus_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[18]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public cvpamFaultStatus_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public cvpamFaultStatus_Type(cvpamFaultStatus_Type other) : this() {
          pALaneDection_ = other.pALaneDection_;
          pALeftSensor_ = other.pALeftSensor_;
          pAFrontSensor_ = other.pAFrontSensor_;
          frontSensorSts_ = other.frontSensorSts_;
          pARightSensor_ = other.pARightSensor_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public cvpamFaultStatus_Type Clone() {
          return new cvpamFaultStatus_Type(this);
        }

        /// <summary>Field number for the "PA_Lane_Dection" field.</summary>
        public const int PALaneDectionFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum pALaneDection_ = 0;
        /// <summary>
        //// CVPAM Fault Status for PA Lane Dection Health in CVPAM. PA_Lane_Dection.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum PALaneDection {
          get { return pALaneDection_; }
          set {
            pALaneDection_ = value;
          }
        }

        /// <summary>Field number for the "PA_Left_Sensor" field.</summary>
        public const int PALeftSensorFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum pALeftSensor_ = 0;
        /// <summary>
        //// CVPAM Fault Status for PA Left Sensor Det Health in CVPAM. PA_Left_Sensor.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum PALeftSensor {
          get { return pALeftSensor_; }
          set {
            pALeftSensor_ = value;
          }
        }

        /// <summary>Field number for the "PA_Front_Sensor" field.</summary>
        public const int PAFrontSensorFieldNumber = 3;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum pAFrontSensor_ = 0;
        /// <summary>
        //// CVPAM Fault Status for PA Front Sensor Det Health in CVPAM.PA_Front_Sensor_Det_Health.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum PAFrontSensor {
          get { return pAFrontSensor_; }
          set {
            pAFrontSensor_ = value;
          }
        }

        /// <summary>Field number for the "FrontSensorSts" field.</summary>
        public const int FrontSensorStsFieldNumber = 4;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum frontSensorSts_ = 0;
        /// <summary>
        //// CVPAM Fault Status indicates the activation state of the front sensors in CVPAM. FrontSensorSts.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum FrontSensorSts {
          get { return frontSensorSts_; }
          set {
            frontSensorSts_ = value;
          }
        }

        /// <summary>Field number for the "PA_Right_Sensor" field.</summary>
        public const int PARightSensorFieldNumber = 5;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum pARightSensor_ = 0;
        /// <summary>
        //// CVPAM Fault Status for PA Right Sensor Det Health in CVPAM.PA_Right_Sensor_Det_Health.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum PARightSensor {
          get { return pARightSensor_; }
          set {
            pARightSensor_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as cvpamFaultStatus_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(cvpamFaultStatus_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (PALaneDection != other.PALaneDection) return false;
          if (PALeftSensor != other.PALeftSensor) return false;
          if (PAFrontSensor != other.PAFrontSensor) return false;
          if (FrontSensorSts != other.FrontSensorSts) return false;
          if (PARightSensor != other.PARightSensor) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (PALaneDection != 0) hash ^= PALaneDection.GetHashCode();
          if (PALeftSensor != 0) hash ^= PALeftSensor.GetHashCode();
          if (PAFrontSensor != 0) hash ^= PAFrontSensor.GetHashCode();
          if (FrontSensorSts != 0) hash ^= FrontSensorSts.GetHashCode();
          if (PARightSensor != 0) hash ^= PARightSensor.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (PALaneDection != 0) {
            output.WriteRawTag(8);
            output.WriteEnum((int) PALaneDection);
          }
          if (PALeftSensor != 0) {
            output.WriteRawTag(16);
            output.WriteEnum((int) PALeftSensor);
          }
          if (PAFrontSensor != 0) {
            output.WriteRawTag(24);
            output.WriteEnum((int) PAFrontSensor);
          }
          if (FrontSensorSts != 0) {
            output.WriteRawTag(32);
            output.WriteEnum((int) FrontSensorSts);
          }
          if (PARightSensor != 0) {
            output.WriteRawTag(40);
            output.WriteEnum((int) PARightSensor);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (PALaneDection != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PALaneDection);
          }
          if (PALeftSensor != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PALeftSensor);
          }
          if (PAFrontSensor != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PAFrontSensor);
          }
          if (FrontSensorSts != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) FrontSensorSts);
          }
          if (PARightSensor != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PARightSensor);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(cvpamFaultStatus_Type other) {
          if (other == null) {
            return;
          }
          if (other.PALaneDection != 0) {
            PALaneDection = other.PALaneDection;
          }
          if (other.PALeftSensor != 0) {
            PALeftSensor = other.PALeftSensor;
          }
          if (other.PAFrontSensor != 0) {
            PAFrontSensor = other.PAFrontSensor;
          }
          if (other.FrontSensorSts != 0) {
            FrontSensorSts = other.FrontSensorSts;
          }
          if (other.PARightSensor != 0) {
            PARightSensor = other.PARightSensor;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                pALaneDection_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum) input.ReadEnum();
                break;
              }
              case 16: {
                pALeftSensor_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum) input.ReadEnum();
                break;
              }
              case 24: {
                pAFrontSensor_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum) input.ReadEnum();
                break;
              }
              case 32: {
                frontSensorSts_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum) input.ReadEnum();
                break;
              }
              case 40: {
                pARightSensor_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.CVPAMFaultStatusEnum) input.ReadEnum();
                break;
              }
            }
          }
        }

      }

      public sealed partial class dalmColorStatus_Type : pb::IMessage<dalmColorStatus_Type> {
        private static readonly pb::MessageParser<dalmColorStatus_Type> _parser = new pb::MessageParser<dalmColorStatus_Type>(() => new dalmColorStatus_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<dalmColorStatus_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[19]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public dalmColorStatus_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public dalmColorStatus_Type(dalmColorStatus_Type other) : this() {
          dalmRequest_ = other.dalmRequest_;
          dalmRequestC2_ = other.dalmRequestC2_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public dalmColorStatus_Type Clone() {
          return new dalmColorStatus_Type(this);
        }

        /// <summary>Field number for the "DalmRequest" field.</summary>
        public const int DalmRequestFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DALMColorStatus dalmRequest_ = 0;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DALMColorStatus DalmRequest {
          get { return dalmRequest_; }
          set {
            dalmRequest_ = value;
          }
        }

        /// <summary>Field number for the "DalmRequestC2" field.</summary>
        public const int DalmRequestC2FieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DALMColorStatus dalmRequestC2_ = 0;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DALMColorStatus DalmRequestC2 {
          get { return dalmRequestC2_; }
          set {
            dalmRequestC2_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as dalmColorStatus_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(dalmColorStatus_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (DalmRequest != other.DalmRequest) return false;
          if (DalmRequestC2 != other.DalmRequestC2) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (DalmRequest != 0) hash ^= DalmRequest.GetHashCode();
          if (DalmRequestC2 != 0) hash ^= DalmRequestC2.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (DalmRequest != 0) {
            output.WriteRawTag(8);
            output.WriteEnum((int) DalmRequest);
          }
          if (DalmRequestC2 != 0) {
            output.WriteRawTag(16);
            output.WriteEnum((int) DalmRequestC2);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (DalmRequest != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DalmRequest);
          }
          if (DalmRequestC2 != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DalmRequestC2);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(dalmColorStatus_Type other) {
          if (other == null) {
            return;
          }
          if (other.DalmRequest != 0) {
            DalmRequest = other.DalmRequest;
          }
          if (other.DalmRequestC2 != 0) {
            DalmRequestC2 = other.DalmRequestC2;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                dalmRequest_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DALMColorStatus) input.ReadEnum();
                break;
              }
              case 16: {
                dalmRequestC2_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.DALMColorStatus) input.ReadEnum();
                break;
              }
            }
          }
        }

      }

      public sealed partial class adasEngagedStatus_Type : pb::IMessage<adasEngagedStatus_Type> {
        private static readonly pb::MessageParser<adasEngagedStatus_Type> _parser = new pb::MessageParser<adasEngagedStatus_Type>(() => new adasEngagedStatus_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<adasEngagedStatus_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[20]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public adasEngagedStatus_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public adasEngagedStatus_Type(adasEngagedStatus_Type other) : this() {
          aCCSystemSts_ = other.aCCSystemSts_;
          hASStatus_ = other.hASStatus_;
          hASTelltaleSts_ = other.hASTelltaleSts_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public adasEngagedStatus_Type Clone() {
          return new adasEngagedStatus_Type(this);
        }

        /// <summary>Field number for the "ACC_SystemSts" field.</summary>
        public const int ACCSystemStsFieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_ACC_SysSts_Enum aCCSystemSts_ = 0;
        /// <summary>
        //// Engaged status in CADM for ACC_SystemSts.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_ACC_SysSts_Enum ACCSystemSts {
          get { return aCCSystemSts_; }
          set {
            aCCSystemSts_ = value;
          }
        }

        /// <summary>Field number for the "HAS_Status" field.</summary>
        public const int HASStatusFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_HAS_Status_Enum hASStatus_ = 0;
        /// <summary>
        //// Engaged status in CADM for HAS_Status.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_HAS_Status_Enum HASStatus {
          get { return hASStatus_; }
          set {
            hASStatus_ = value;
          }
        }

        /// <summary>Field number for the "HAS_TelltaleSts" field.</summary>
        public const int HASTelltaleStsFieldNumber = 3;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HAS_TellTaleSts_Enum hASTelltaleSts_ = 0;
        /// <summary>
        //// Engaged status in CADM for HAS_TelltaleSts.Info.
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HAS_TellTaleSts_Enum HASTelltaleSts {
          get { return hASTelltaleSts_; }
          set {
            hASTelltaleSts_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as adasEngagedStatus_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(adasEngagedStatus_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (ACCSystemSts != other.ACCSystemSts) return false;
          if (HASStatus != other.HASStatus) return false;
          if (HASTelltaleSts != other.HASTelltaleSts) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (ACCSystemSts != 0) hash ^= ACCSystemSts.GetHashCode();
          if (HASStatus != 0) hash ^= HASStatus.GetHashCode();
          if (HASTelltaleSts != 0) hash ^= HASTelltaleSts.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (ACCSystemSts != 0) {
            output.WriteRawTag(8);
            output.WriteEnum((int) ACCSystemSts);
          }
          if (HASStatus != 0) {
            output.WriteRawTag(16);
            output.WriteEnum((int) HASStatus);
          }
          if (HASTelltaleSts != 0) {
            output.WriteRawTag(24);
            output.WriteEnum((int) HASTelltaleSts);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (ACCSystemSts != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ACCSystemSts);
          }
          if (HASStatus != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HASStatus);
          }
          if (HASTelltaleSts != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HASTelltaleSts);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(adasEngagedStatus_Type other) {
          if (other == null) {
            return;
          }
          if (other.ACCSystemSts != 0) {
            ACCSystemSts = other.ACCSystemSts;
          }
          if (other.HASStatus != 0) {
            HASStatus = other.HASStatus;
          }
          if (other.HASTelltaleSts != 0) {
            HASTelltaleSts = other.HASTelltaleSts;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                aCCSystemSts_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_ACC_SysSts_Enum) input.ReadEnum();
                break;
              }
              case 16: {
                hASStatus_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_HAS_Status_Enum) input.ReadEnum();
                break;
              }
              case 24: {
                hASTelltaleSts_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.HAS_TellTaleSts_Enum) input.ReadEnum();
                break;
              }
            }
          }
        }

      }

      public sealed partial class adasEngagedStatusCadm2_Type : pb::IMessage<adasEngagedStatusCadm2_Type> {
        private static readonly pb::MessageParser<adasEngagedStatusCadm2_Type> _parser = new pb::MessageParser<adasEngagedStatusCadm2_Type>(() => new adasEngagedStatusCadm2_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<adasEngagedStatusCadm2_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[21]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public adasEngagedStatusCadm2_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public adasEngagedStatusCadm2_Type(adasEngagedStatusCadm2_Type other) : this() {
          accSystemStsCADM2_ = other.accSystemStsCADM2_;
          hASStatus_ = other.hASStatus_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public adasEngagedStatusCadm2_Type Clone() {
          return new adasEngagedStatusCadm2_Type(this);
        }

        /// <summary>Field number for the "Acc_SystemSts_CADM2" field.</summary>
        public const int AccSystemStsCADM2FieldNumber = 1;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_ACC_SysSts_Enum accSystemStsCADM2_ = 0;
        /// <summary>
        //// Adas Engaged Status in CADM2 ACC_SystemSts_C2.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_ACC_SysSts_Enum AccSystemStsCADM2 {
          get { return accSystemStsCADM2_; }
          set {
            accSystemStsCADM2_ = value;
          }
        }

        /// <summary>Field number for the "HAS_Status" field.</summary>
        public const int HASStatusFieldNumber = 2;
        private global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_HAS_Status_Enum hASStatus_ = 0;
        /// <summary>
        //// Adas Engaged Status in CADM2. HAS_Status_C2.Info
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_HAS_Status_Enum HASStatus {
          get { return hASStatus_; }
          set {
            hASStatus_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as adasEngagedStatusCadm2_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(adasEngagedStatusCadm2_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (AccSystemStsCADM2 != other.AccSystemStsCADM2) return false;
          if (HASStatus != other.HASStatus) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (AccSystemStsCADM2 != 0) hash ^= AccSystemStsCADM2.GetHashCode();
          if (HASStatus != 0) hash ^= HASStatus.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (AccSystemStsCADM2 != 0) {
            output.WriteRawTag(8);
            output.WriteEnum((int) AccSystemStsCADM2);
          }
          if (HASStatus != 0) {
            output.WriteRawTag(16);
            output.WriteEnum((int) HASStatus);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (AccSystemStsCADM2 != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AccSystemStsCADM2);
          }
          if (HASStatus != 0) {
            size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HASStatus);
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(adasEngagedStatusCadm2_Type other) {
          if (other == null) {
            return;
          }
          if (other.AccSystemStsCADM2 != 0) {
            AccSystemStsCADM2 = other.AccSystemStsCADM2;
          }
          if (other.HASStatus != 0) {
            HASStatus = other.HASStatus;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                accSystemStsCADM2_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_ACC_SysSts_Enum) input.ReadEnum();
                break;
              }
              case 16: {
                hASStatus_ = (global::Com.Fca.Uconnect.Global.DataLogMessageObject.Types.AES_HAS_Status_Enum) input.ReadEnum();
                break;
              }
            }
          }
        }

      }

      public sealed partial class ReasonForDisengagement_Type : pb::IMessage<ReasonForDisengagement_Type> {
        private static readonly pb::MessageParser<ReasonForDisengagement_Type> _parser = new pb::MessageParser<ReasonForDisengagement_Type>(() => new ReasonForDisengagement_Type());
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<ReasonForDisengagement_Type> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Com.Fca.Uconnect.Global.DataLogMessageObject.Descriptor.NestedTypes[22]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public ReasonForDisengagement_Type() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public ReasonForDisengagement_Type(ReasonForDisengagement_Type other) : this() {
          invalidLaneDetection_ = other.invalidLaneDetection_;
          lookaheadDistanceLow_ = other.lookaheadDistanceLow_;
          invalidLaneWidth_ = other.invalidLaneWidth_;
          radiusOfCurvatureTooLow_ = other.radiusOfCurvatureTooLow_;
          roadwayUnsupported_ = other.roadwayUnsupported_;
          unsupportedRoadwayAhead_ = other.unsupportedRoadwayAhead_;
          speedTooHigh_ = other.speedTooHigh_;
          aCCNotInCorrectState_ = other.aCCNotInCorrectState_;
          turnSignalOn_ = other.turnSignalOn_;
          driverOverrideCondition_ = other.driverOverrideCondition_;
          systemOverrideCondition_ = other.systemOverrideCondition_;
          temporaryFault_ = other.temporaryFault_;
          permanentFault_ = other.permanentFault_;
          cameraBlindness_ = other.cameraBlindness_;
          wipersTooFast_ = other.wipersTooFast_;
          powertrainStateUnsupported_ = other.powertrainStateUnsupported_;
          opStatDegraded_ = other.opStatDegraded_;
          mapOutdated_ = other.mapOutdated_;
          subscriptionExpired_ = other.subscriptionExpired_;
          driverInattentive_ = other.driverInattentive_;
          hazardsApplied_ = other.hazardsApplied_;
          unsupportedSplitDirection_ = other.unsupportedSplitDirection_;
          driverHandsNotDetected_ = other.driverHandsNotDetected_;
          trailerDetected_ = other.trailerDetected_;
          poorRoadConditions_ = other.poorRoadConditions_;
          lANECURVE_ = other.lANECURVE_;
          airSuspensionSettingUnsupported_ = other.airSuspensionSettingUnsupported_;
          vehicleNotCentered_ = other.vehicleNotCentered_;
          vehicleHeadingMismatch_ = other.vehicleHeadingMismatch_;
          lateralSuppressionTriggered_ = other.lateralSuppressionTriggered_;
          fullSuppressionTriggered_ = other.fullSuppressionTriggered_;
          driverInattentionSuppression_ = other.driverInattentionSuppression_;
          laneMarkerCrossed_ = other.laneMarkerCrossed_;
          steeringAuthorityReached_ = other.steeringAuthorityReached_;
          driverLateralOverride_ = other.driverLateralOverride_;
          unsupportedIgnitionStatus_ = other.unsupportedIgnitionStatus_;
          insufficientPathConfidence_ = other.insufficientPathConfidence_;
          driverModelUnknown_ = other.driverModelUnknown_;
          aEBNotAvail_ = other.aEBNotAvail_;
          logisticsModeInhibit_ = other.logisticsModeInhibit_;
          gNMMError_ = other.gNMMError_;
          sWSMHandsOnDetectionError_ = other.sWSMHandsOnDetectionError_;
          featureDeactivatedRemotely_ = other.featureDeactivatedRemotely_;
          invalidSwayBarSetting_ = other.invalidSwayBarSetting_;
          proxiMismatch_ = other.proxiMismatch_;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public ReasonForDisengagement_Type Clone() {
          return new ReasonForDisengagement_Type(this);
        }

        /// <summary>Field number for the "InvalidLaneDetection" field.</summary>
        public const int InvalidLaneDetectionFieldNumber = 1;
        private bool invalidLaneDetection_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool InvalidLaneDetection {
          get { return invalidLaneDetection_; }
          set {
            invalidLaneDetection_ = value;
          }
        }

        /// <summary>Field number for the "LookaheadDistanceLow" field.</summary>
        public const int LookaheadDistanceLowFieldNumber = 2;
        private bool lookaheadDistanceLow_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool LookaheadDistanceLow {
          get { return lookaheadDistanceLow_; }
          set {
            lookaheadDistanceLow_ = value;
          }
        }

        /// <summary>Field number for the "InvalidLaneWidth" field.</summary>
        public const int InvalidLaneWidthFieldNumber = 3;
        private bool invalidLaneWidth_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool InvalidLaneWidth {
          get { return invalidLaneWidth_; }
          set {
            invalidLaneWidth_ = value;
          }
        }

        /// <summary>Field number for the "RadiusOfCurvatureTooLow" field.</summary>
        public const int RadiusOfCurvatureTooLowFieldNumber = 4;
        private bool radiusOfCurvatureTooLow_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool RadiusOfCurvatureTooLow {
          get { return radiusOfCurvatureTooLow_; }
          set {
            radiusOfCurvatureTooLow_ = value;
          }
        }

        /// <summary>Field number for the "RoadwayUnsupported" field.</summary>
        public const int RoadwayUnsupportedFieldNumber = 5;
        private bool roadwayUnsupported_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool RoadwayUnsupported {
          get { return roadwayUnsupported_; }
          set {
            roadwayUnsupported_ = value;
          }
        }

        /// <summary>Field number for the "UnsupportedRoadwayAhead" field.</summary>
        public const int UnsupportedRoadwayAheadFieldNumber = 6;
        private bool unsupportedRoadwayAhead_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool UnsupportedRoadwayAhead {
          get { return unsupportedRoadwayAhead_; }
          set {
            unsupportedRoadwayAhead_ = value;
          }
        }

        /// <summary>Field number for the "SpeedTooHigh" field.</summary>
        public const int SpeedTooHighFieldNumber = 45;
        private bool speedTooHigh_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool SpeedTooHigh {
          get { return speedTooHigh_; }
          set {
            speedTooHigh_ = value;
          }
        }

        /// <summary>Field number for the "ACCNotInCorrectState" field.</summary>
        public const int ACCNotInCorrectStateFieldNumber = 7;
        private bool aCCNotInCorrectState_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool ACCNotInCorrectState {
          get { return aCCNotInCorrectState_; }
          set {
            aCCNotInCorrectState_ = value;
          }
        }

        /// <summary>Field number for the "TurnSignalOn" field.</summary>
        public const int TurnSignalOnFieldNumber = 8;
        private bool turnSignalOn_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool TurnSignalOn {
          get { return turnSignalOn_; }
          set {
            turnSignalOn_ = value;
          }
        }

        /// <summary>Field number for the "DriverOverrideCondition" field.</summary>
        public const int DriverOverrideConditionFieldNumber = 9;
        private bool driverOverrideCondition_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool DriverOverrideCondition {
          get { return driverOverrideCondition_; }
          set {
            driverOverrideCondition_ = value;
          }
        }

        /// <summary>Field number for the "SystemOverrideCondition" field.</summary>
        public const int SystemOverrideConditionFieldNumber = 10;
        private bool systemOverrideCondition_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool SystemOverrideCondition {
          get { return systemOverrideCondition_; }
          set {
            systemOverrideCondition_ = value;
          }
        }

        /// <summary>Field number for the "TemporaryFault" field.</summary>
        public const int TemporaryFaultFieldNumber = 11;
        private bool temporaryFault_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool TemporaryFault {
          get { return temporaryFault_; }
          set {
            temporaryFault_ = value;
          }
        }

        /// <summary>Field number for the "PermanentFault" field.</summary>
        public const int PermanentFaultFieldNumber = 12;
        private bool permanentFault_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool PermanentFault {
          get { return permanentFault_; }
          set {
            permanentFault_ = value;
          }
        }

        /// <summary>Field number for the "CameraBlindness" field.</summary>
        public const int CameraBlindnessFieldNumber = 13;
        private bool cameraBlindness_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool CameraBlindness {
          get { return cameraBlindness_; }
          set {
            cameraBlindness_ = value;
          }
        }

        /// <summary>Field number for the "WipersTooFast" field.</summary>
        public const int WipersTooFastFieldNumber = 14;
        private bool wipersTooFast_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool WipersTooFast {
          get { return wipersTooFast_; }
          set {
            wipersTooFast_ = value;
          }
        }

        /// <summary>Field number for the "PowertrainStateUnsupported" field.</summary>
        public const int PowertrainStateUnsupportedFieldNumber = 15;
        private bool powertrainStateUnsupported_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool PowertrainStateUnsupported {
          get { return powertrainStateUnsupported_; }
          set {
            powertrainStateUnsupported_ = value;
          }
        }

        /// <summary>Field number for the "OpStatDegraded" field.</summary>
        public const int OpStatDegradedFieldNumber = 16;
        private bool opStatDegraded_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool OpStatDegraded {
          get { return opStatDegraded_; }
          set {
            opStatDegraded_ = value;
          }
        }

        /// <summary>Field number for the "MapOutdated" field.</summary>
        public const int MapOutdatedFieldNumber = 17;
        private bool mapOutdated_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool MapOutdated {
          get { return mapOutdated_; }
          set {
            mapOutdated_ = value;
          }
        }

        /// <summary>Field number for the "SubscriptionExpired" field.</summary>
        public const int SubscriptionExpiredFieldNumber = 18;
        private bool subscriptionExpired_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool SubscriptionExpired {
          get { return subscriptionExpired_; }
          set {
            subscriptionExpired_ = value;
          }
        }

        /// <summary>Field number for the "DriverInattentive" field.</summary>
        public const int DriverInattentiveFieldNumber = 19;
        private bool driverInattentive_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool DriverInattentive {
          get { return driverInattentive_; }
          set {
            driverInattentive_ = value;
          }
        }

        /// <summary>Field number for the "HazardsApplied" field.</summary>
        public const int HazardsAppliedFieldNumber = 20;
        private bool hazardsApplied_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool HazardsApplied {
          get { return hazardsApplied_; }
          set {
            hazardsApplied_ = value;
          }
        }

        /// <summary>Field number for the "UnsupportedSplitDirection" field.</summary>
        public const int UnsupportedSplitDirectionFieldNumber = 21;
        private bool unsupportedSplitDirection_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool UnsupportedSplitDirection {
          get { return unsupportedSplitDirection_; }
          set {
            unsupportedSplitDirection_ = value;
          }
        }

        /// <summary>Field number for the "DriverHandsNotDetected" field.</summary>
        public const int DriverHandsNotDetectedFieldNumber = 22;
        private bool driverHandsNotDetected_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool DriverHandsNotDetected {
          get { return driverHandsNotDetected_; }
          set {
            driverHandsNotDetected_ = value;
          }
        }

        /// <summary>Field number for the "TrailerDetected" field.</summary>
        public const int TrailerDetectedFieldNumber = 23;
        private bool trailerDetected_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool TrailerDetected {
          get { return trailerDetected_; }
          set {
            trailerDetected_ = value;
          }
        }

        /// <summary>Field number for the "PoorRoadConditions" field.</summary>
        public const int PoorRoadConditionsFieldNumber = 24;
        private bool poorRoadConditions_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool PoorRoadConditions {
          get { return poorRoadConditions_; }
          set {
            poorRoadConditions_ = value;
          }
        }

        /// <summary>Field number for the "LANE_CURVE" field.</summary>
        public const int LANECURVEFieldNumber = 25;
        private bool lANECURVE_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool LANECURVE {
          get { return lANECURVE_; }
          set {
            lANECURVE_ = value;
          }
        }

        /// <summary>Field number for the "AirSuspensionSettingUnsupported" field.</summary>
        public const int AirSuspensionSettingUnsupportedFieldNumber = 26;
        private bool airSuspensionSettingUnsupported_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool AirSuspensionSettingUnsupported {
          get { return airSuspensionSettingUnsupported_; }
          set {
            airSuspensionSettingUnsupported_ = value;
          }
        }

        /// <summary>Field number for the "VehicleNotCentered" field.</summary>
        public const int VehicleNotCenteredFieldNumber = 27;
        private bool vehicleNotCentered_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool VehicleNotCentered {
          get { return vehicleNotCentered_; }
          set {
            vehicleNotCentered_ = value;
          }
        }

        /// <summary>Field number for the "VehicleHeadingMismatch" field.</summary>
        public const int VehicleHeadingMismatchFieldNumber = 28;
        private bool vehicleHeadingMismatch_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool VehicleHeadingMismatch {
          get { return vehicleHeadingMismatch_; }
          set {
            vehicleHeadingMismatch_ = value;
          }
        }

        /// <summary>Field number for the "LateralSuppressionTriggered" field.</summary>
        public const int LateralSuppressionTriggeredFieldNumber = 29;
        private bool lateralSuppressionTriggered_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool LateralSuppressionTriggered {
          get { return lateralSuppressionTriggered_; }
          set {
            lateralSuppressionTriggered_ = value;
          }
        }

        /// <summary>Field number for the "FullSuppressionTriggered" field.</summary>
        public const int FullSuppressionTriggeredFieldNumber = 30;
        private bool fullSuppressionTriggered_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool FullSuppressionTriggered {
          get { return fullSuppressionTriggered_; }
          set {
            fullSuppressionTriggered_ = value;
          }
        }

        /// <summary>Field number for the "DriverInattentionSuppression" field.</summary>
        public const int DriverInattentionSuppressionFieldNumber = 31;
        private bool driverInattentionSuppression_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool DriverInattentionSuppression {
          get { return driverInattentionSuppression_; }
          set {
            driverInattentionSuppression_ = value;
          }
        }

        /// <summary>Field number for the "LaneMarkerCrossed" field.</summary>
        public const int LaneMarkerCrossedFieldNumber = 32;
        private bool laneMarkerCrossed_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool LaneMarkerCrossed {
          get { return laneMarkerCrossed_; }
          set {
            laneMarkerCrossed_ = value;
          }
        }

        /// <summary>Field number for the "SteeringAuthorityReached" field.</summary>
        public const int SteeringAuthorityReachedFieldNumber = 33;
        private bool steeringAuthorityReached_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool SteeringAuthorityReached {
          get { return steeringAuthorityReached_; }
          set {
            steeringAuthorityReached_ = value;
          }
        }

        /// <summary>Field number for the "DriverLateralOverride" field.</summary>
        public const int DriverLateralOverrideFieldNumber = 34;
        private bool driverLateralOverride_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool DriverLateralOverride {
          get { return driverLateralOverride_; }
          set {
            driverLateralOverride_ = value;
          }
        }

        /// <summary>Field number for the "UnsupportedIgnitionStatus" field.</summary>
        public const int UnsupportedIgnitionStatusFieldNumber = 35;
        private bool unsupportedIgnitionStatus_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool UnsupportedIgnitionStatus {
          get { return unsupportedIgnitionStatus_; }
          set {
            unsupportedIgnitionStatus_ = value;
          }
        }

        /// <summary>Field number for the "InsufficientPathConfidence" field.</summary>
        public const int InsufficientPathConfidenceFieldNumber = 36;
        private bool insufficientPathConfidence_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool InsufficientPathConfidence {
          get { return insufficientPathConfidence_; }
          set {
            insufficientPathConfidence_ = value;
          }
        }

        /// <summary>Field number for the "DriverModelUnknown" field.</summary>
        public const int DriverModelUnknownFieldNumber = 37;
        private bool driverModelUnknown_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool DriverModelUnknown {
          get { return driverModelUnknown_; }
          set {
            driverModelUnknown_ = value;
          }
        }

        /// <summary>Field number for the "AEB_NotAvail" field.</summary>
        public const int AEBNotAvailFieldNumber = 38;
        private bool aEBNotAvail_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool AEBNotAvail {
          get { return aEBNotAvail_; }
          set {
            aEBNotAvail_ = value;
          }
        }

        /// <summary>Field number for the "LogisticsModeInhibit" field.</summary>
        public const int LogisticsModeInhibitFieldNumber = 39;
        private bool logisticsModeInhibit_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool LogisticsModeInhibit {
          get { return logisticsModeInhibit_; }
          set {
            logisticsModeInhibit_ = value;
          }
        }

        /// <summary>Field number for the "GNMMError" field.</summary>
        public const int GNMMErrorFieldNumber = 40;
        private bool gNMMError_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool GNMMError {
          get { return gNMMError_; }
          set {
            gNMMError_ = value;
          }
        }

        /// <summary>Field number for the "SWSMHandsOnDetectionError" field.</summary>
        public const int SWSMHandsOnDetectionErrorFieldNumber = 41;
        private bool sWSMHandsOnDetectionError_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool SWSMHandsOnDetectionError {
          get { return sWSMHandsOnDetectionError_; }
          set {
            sWSMHandsOnDetectionError_ = value;
          }
        }

        /// <summary>Field number for the "FeatureDeactivatedRemotely" field.</summary>
        public const int FeatureDeactivatedRemotelyFieldNumber = 42;
        private bool featureDeactivatedRemotely_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool FeatureDeactivatedRemotely {
          get { return featureDeactivatedRemotely_; }
          set {
            featureDeactivatedRemotely_ = value;
          }
        }

        /// <summary>Field number for the "InvalidSwayBarSetting" field.</summary>
        public const int InvalidSwayBarSettingFieldNumber = 43;
        private bool invalidSwayBarSetting_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool InvalidSwayBarSetting {
          get { return invalidSwayBarSetting_; }
          set {
            invalidSwayBarSetting_ = value;
          }
        }

        /// <summary>Field number for the "ProxiMismatch" field.</summary>
        public const int ProxiMismatchFieldNumber = 44;
        private bool proxiMismatch_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool ProxiMismatch {
          get { return proxiMismatch_; }
          set {
            proxiMismatch_ = value;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override bool Equals(object other) {
          return Equals(other as ReasonForDisengagement_Type);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(ReasonForDisengagement_Type other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (InvalidLaneDetection != other.InvalidLaneDetection) return false;
          if (LookaheadDistanceLow != other.LookaheadDistanceLow) return false;
          if (InvalidLaneWidth != other.InvalidLaneWidth) return false;
          if (RadiusOfCurvatureTooLow != other.RadiusOfCurvatureTooLow) return false;
          if (RoadwayUnsupported != other.RoadwayUnsupported) return false;
          if (UnsupportedRoadwayAhead != other.UnsupportedRoadwayAhead) return false;
          if (SpeedTooHigh != other.SpeedTooHigh) return false;
          if (ACCNotInCorrectState != other.ACCNotInCorrectState) return false;
          if (TurnSignalOn != other.TurnSignalOn) return false;
          if (DriverOverrideCondition != other.DriverOverrideCondition) return false;
          if (SystemOverrideCondition != other.SystemOverrideCondition) return false;
          if (TemporaryFault != other.TemporaryFault) return false;
          if (PermanentFault != other.PermanentFault) return false;
          if (CameraBlindness != other.CameraBlindness) return false;
          if (WipersTooFast != other.WipersTooFast) return false;
          if (PowertrainStateUnsupported != other.PowertrainStateUnsupported) return false;
          if (OpStatDegraded != other.OpStatDegraded) return false;
          if (MapOutdated != other.MapOutdated) return false;
          if (SubscriptionExpired != other.SubscriptionExpired) return false;
          if (DriverInattentive != other.DriverInattentive) return false;
          if (HazardsApplied != other.HazardsApplied) return false;
          if (UnsupportedSplitDirection != other.UnsupportedSplitDirection) return false;
          if (DriverHandsNotDetected != other.DriverHandsNotDetected) return false;
          if (TrailerDetected != other.TrailerDetected) return false;
          if (PoorRoadConditions != other.PoorRoadConditions) return false;
          if (LANECURVE != other.LANECURVE) return false;
          if (AirSuspensionSettingUnsupported != other.AirSuspensionSettingUnsupported) return false;
          if (VehicleNotCentered != other.VehicleNotCentered) return false;
          if (VehicleHeadingMismatch != other.VehicleHeadingMismatch) return false;
          if (LateralSuppressionTriggered != other.LateralSuppressionTriggered) return false;
          if (FullSuppressionTriggered != other.FullSuppressionTriggered) return false;
          if (DriverInattentionSuppression != other.DriverInattentionSuppression) return false;
          if (LaneMarkerCrossed != other.LaneMarkerCrossed) return false;
          if (SteeringAuthorityReached != other.SteeringAuthorityReached) return false;
          if (DriverLateralOverride != other.DriverLateralOverride) return false;
          if (UnsupportedIgnitionStatus != other.UnsupportedIgnitionStatus) return false;
          if (InsufficientPathConfidence != other.InsufficientPathConfidence) return false;
          if (DriverModelUnknown != other.DriverModelUnknown) return false;
          if (AEBNotAvail != other.AEBNotAvail) return false;
          if (LogisticsModeInhibit != other.LogisticsModeInhibit) return false;
          if (GNMMError != other.GNMMError) return false;
          if (SWSMHandsOnDetectionError != other.SWSMHandsOnDetectionError) return false;
          if (FeatureDeactivatedRemotely != other.FeatureDeactivatedRemotely) return false;
          if (InvalidSwayBarSetting != other.InvalidSwayBarSetting) return false;
          if (ProxiMismatch != other.ProxiMismatch) return false;
          return true;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode() {
          int hash = 1;
          if (InvalidLaneDetection != false) hash ^= InvalidLaneDetection.GetHashCode();
          if (LookaheadDistanceLow != false) hash ^= LookaheadDistanceLow.GetHashCode();
          if (InvalidLaneWidth != false) hash ^= InvalidLaneWidth.GetHashCode();
          if (RadiusOfCurvatureTooLow != false) hash ^= RadiusOfCurvatureTooLow.GetHashCode();
          if (RoadwayUnsupported != false) hash ^= RoadwayUnsupported.GetHashCode();
          if (UnsupportedRoadwayAhead != false) hash ^= UnsupportedRoadwayAhead.GetHashCode();
          if (SpeedTooHigh != false) hash ^= SpeedTooHigh.GetHashCode();
          if (ACCNotInCorrectState != false) hash ^= ACCNotInCorrectState.GetHashCode();
          if (TurnSignalOn != false) hash ^= TurnSignalOn.GetHashCode();
          if (DriverOverrideCondition != false) hash ^= DriverOverrideCondition.GetHashCode();
          if (SystemOverrideCondition != false) hash ^= SystemOverrideCondition.GetHashCode();
          if (TemporaryFault != false) hash ^= TemporaryFault.GetHashCode();
          if (PermanentFault != false) hash ^= PermanentFault.GetHashCode();
          if (CameraBlindness != false) hash ^= CameraBlindness.GetHashCode();
          if (WipersTooFast != false) hash ^= WipersTooFast.GetHashCode();
          if (PowertrainStateUnsupported != false) hash ^= PowertrainStateUnsupported.GetHashCode();
          if (OpStatDegraded != false) hash ^= OpStatDegraded.GetHashCode();
          if (MapOutdated != false) hash ^= MapOutdated.GetHashCode();
          if (SubscriptionExpired != false) hash ^= SubscriptionExpired.GetHashCode();
          if (DriverInattentive != false) hash ^= DriverInattentive.GetHashCode();
          if (HazardsApplied != false) hash ^= HazardsApplied.GetHashCode();
          if (UnsupportedSplitDirection != false) hash ^= UnsupportedSplitDirection.GetHashCode();
          if (DriverHandsNotDetected != false) hash ^= DriverHandsNotDetected.GetHashCode();
          if (TrailerDetected != false) hash ^= TrailerDetected.GetHashCode();
          if (PoorRoadConditions != false) hash ^= PoorRoadConditions.GetHashCode();
          if (LANECURVE != false) hash ^= LANECURVE.GetHashCode();
          if (AirSuspensionSettingUnsupported != false) hash ^= AirSuspensionSettingUnsupported.GetHashCode();
          if (VehicleNotCentered != false) hash ^= VehicleNotCentered.GetHashCode();
          if (VehicleHeadingMismatch != false) hash ^= VehicleHeadingMismatch.GetHashCode();
          if (LateralSuppressionTriggered != false) hash ^= LateralSuppressionTriggered.GetHashCode();
          if (FullSuppressionTriggered != false) hash ^= FullSuppressionTriggered.GetHashCode();
          if (DriverInattentionSuppression != false) hash ^= DriverInattentionSuppression.GetHashCode();
          if (LaneMarkerCrossed != false) hash ^= LaneMarkerCrossed.GetHashCode();
          if (SteeringAuthorityReached != false) hash ^= SteeringAuthorityReached.GetHashCode();
          if (DriverLateralOverride != false) hash ^= DriverLateralOverride.GetHashCode();
          if (UnsupportedIgnitionStatus != false) hash ^= UnsupportedIgnitionStatus.GetHashCode();
          if (InsufficientPathConfidence != false) hash ^= InsufficientPathConfidence.GetHashCode();
          if (DriverModelUnknown != false) hash ^= DriverModelUnknown.GetHashCode();
          if (AEBNotAvail != false) hash ^= AEBNotAvail.GetHashCode();
          if (LogisticsModeInhibit != false) hash ^= LogisticsModeInhibit.GetHashCode();
          if (GNMMError != false) hash ^= GNMMError.GetHashCode();
          if (SWSMHandsOnDetectionError != false) hash ^= SWSMHandsOnDetectionError.GetHashCode();
          if (FeatureDeactivatedRemotely != false) hash ^= FeatureDeactivatedRemotely.GetHashCode();
          if (InvalidSwayBarSetting != false) hash ^= InvalidSwayBarSetting.GetHashCode();
          if (ProxiMismatch != false) hash ^= ProxiMismatch.GetHashCode();
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output) {
          if (InvalidLaneDetection != false) {
            output.WriteRawTag(8);
            output.WriteBool(InvalidLaneDetection);
          }
          if (LookaheadDistanceLow != false) {
            output.WriteRawTag(16);
            output.WriteBool(LookaheadDistanceLow);
          }
          if (InvalidLaneWidth != false) {
            output.WriteRawTag(24);
            output.WriteBool(InvalidLaneWidth);
          }
          if (RadiusOfCurvatureTooLow != false) {
            output.WriteRawTag(32);
            output.WriteBool(RadiusOfCurvatureTooLow);
          }
          if (RoadwayUnsupported != false) {
            output.WriteRawTag(40);
            output.WriteBool(RoadwayUnsupported);
          }
          if (UnsupportedRoadwayAhead != false) {
            output.WriteRawTag(48);
            output.WriteBool(UnsupportedRoadwayAhead);
          }
          if (ACCNotInCorrectState != false) {
            output.WriteRawTag(56);
            output.WriteBool(ACCNotInCorrectState);
          }
          if (TurnSignalOn != false) {
            output.WriteRawTag(64);
            output.WriteBool(TurnSignalOn);
          }
          if (DriverOverrideCondition != false) {
            output.WriteRawTag(72);
            output.WriteBool(DriverOverrideCondition);
          }
          if (SystemOverrideCondition != false) {
            output.WriteRawTag(80);
            output.WriteBool(SystemOverrideCondition);
          }
          if (TemporaryFault != false) {
            output.WriteRawTag(88);
            output.WriteBool(TemporaryFault);
          }
          if (PermanentFault != false) {
            output.WriteRawTag(96);
            output.WriteBool(PermanentFault);
          }
          if (CameraBlindness != false) {
            output.WriteRawTag(104);
            output.WriteBool(CameraBlindness);
          }
          if (WipersTooFast != false) {
            output.WriteRawTag(112);
            output.WriteBool(WipersTooFast);
          }
          if (PowertrainStateUnsupported != false) {
            output.WriteRawTag(120);
            output.WriteBool(PowertrainStateUnsupported);
          }
          if (OpStatDegraded != false) {
            output.WriteRawTag(128, 1);
            output.WriteBool(OpStatDegraded);
          }
          if (MapOutdated != false) {
            output.WriteRawTag(136, 1);
            output.WriteBool(MapOutdated);
          }
          if (SubscriptionExpired != false) {
            output.WriteRawTag(144, 1);
            output.WriteBool(SubscriptionExpired);
          }
          if (DriverInattentive != false) {
            output.WriteRawTag(152, 1);
            output.WriteBool(DriverInattentive);
          }
          if (HazardsApplied != false) {
            output.WriteRawTag(160, 1);
            output.WriteBool(HazardsApplied);
          }
          if (UnsupportedSplitDirection != false) {
            output.WriteRawTag(168, 1);
            output.WriteBool(UnsupportedSplitDirection);
          }
          if (DriverHandsNotDetected != false) {
            output.WriteRawTag(176, 1);
            output.WriteBool(DriverHandsNotDetected);
          }
          if (TrailerDetected != false) {
            output.WriteRawTag(184, 1);
            output.WriteBool(TrailerDetected);
          }
          if (PoorRoadConditions != false) {
            output.WriteRawTag(192, 1);
            output.WriteBool(PoorRoadConditions);
          }
          if (LANECURVE != false) {
            output.WriteRawTag(200, 1);
            output.WriteBool(LANECURVE);
          }
          if (AirSuspensionSettingUnsupported != false) {
            output.WriteRawTag(208, 1);
            output.WriteBool(AirSuspensionSettingUnsupported);
          }
          if (VehicleNotCentered != false) {
            output.WriteRawTag(216, 1);
            output.WriteBool(VehicleNotCentered);
          }
          if (VehicleHeadingMismatch != false) {
            output.WriteRawTag(224, 1);
            output.WriteBool(VehicleHeadingMismatch);
          }
          if (LateralSuppressionTriggered != false) {
            output.WriteRawTag(232, 1);
            output.WriteBool(LateralSuppressionTriggered);
          }
          if (FullSuppressionTriggered != false) {
            output.WriteRawTag(240, 1);
            output.WriteBool(FullSuppressionTriggered);
          }
          if (DriverInattentionSuppression != false) {
            output.WriteRawTag(248, 1);
            output.WriteBool(DriverInattentionSuppression);
          }
          if (LaneMarkerCrossed != false) {
            output.WriteRawTag(128, 2);
            output.WriteBool(LaneMarkerCrossed);
          }
          if (SteeringAuthorityReached != false) {
            output.WriteRawTag(136, 2);
            output.WriteBool(SteeringAuthorityReached);
          }
          if (DriverLateralOverride != false) {
            output.WriteRawTag(144, 2);
            output.WriteBool(DriverLateralOverride);
          }
          if (UnsupportedIgnitionStatus != false) {
            output.WriteRawTag(152, 2);
            output.WriteBool(UnsupportedIgnitionStatus);
          }
          if (InsufficientPathConfidence != false) {
            output.WriteRawTag(160, 2);
            output.WriteBool(InsufficientPathConfidence);
          }
          if (DriverModelUnknown != false) {
            output.WriteRawTag(168, 2);
            output.WriteBool(DriverModelUnknown);
          }
          if (AEBNotAvail != false) {
            output.WriteRawTag(176, 2);
            output.WriteBool(AEBNotAvail);
          }
          if (LogisticsModeInhibit != false) {
            output.WriteRawTag(184, 2);
            output.WriteBool(LogisticsModeInhibit);
          }
          if (GNMMError != false) {
            output.WriteRawTag(192, 2);
            output.WriteBool(GNMMError);
          }
          if (SWSMHandsOnDetectionError != false) {
            output.WriteRawTag(200, 2);
            output.WriteBool(SWSMHandsOnDetectionError);
          }
          if (FeatureDeactivatedRemotely != false) {
            output.WriteRawTag(208, 2);
            output.WriteBool(FeatureDeactivatedRemotely);
          }
          if (InvalidSwayBarSetting != false) {
            output.WriteRawTag(216, 2);
            output.WriteBool(InvalidSwayBarSetting);
          }
          if (ProxiMismatch != false) {
            output.WriteRawTag(224, 2);
            output.WriteBool(ProxiMismatch);
          }
          if (SpeedTooHigh != false) {
            output.WriteRawTag(232, 2);
            output.WriteBool(SpeedTooHigh);
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize() {
          int size = 0;
          if (InvalidLaneDetection != false) {
            size += 1 + 1;
          }
          if (LookaheadDistanceLow != false) {
            size += 1 + 1;
          }
          if (InvalidLaneWidth != false) {
            size += 1 + 1;
          }
          if (RadiusOfCurvatureTooLow != false) {
            size += 1 + 1;
          }
          if (RoadwayUnsupported != false) {
            size += 1 + 1;
          }
          if (UnsupportedRoadwayAhead != false) {
            size += 1 + 1;
          }
          if (SpeedTooHigh != false) {
            size += 2 + 1;
          }
          if (ACCNotInCorrectState != false) {
            size += 1 + 1;
          }
          if (TurnSignalOn != false) {
            size += 1 + 1;
          }
          if (DriverOverrideCondition != false) {
            size += 1 + 1;
          }
          if (SystemOverrideCondition != false) {
            size += 1 + 1;
          }
          if (TemporaryFault != false) {
            size += 1 + 1;
          }
          if (PermanentFault != false) {
            size += 1 + 1;
          }
          if (CameraBlindness != false) {
            size += 1 + 1;
          }
          if (WipersTooFast != false) {
            size += 1 + 1;
          }
          if (PowertrainStateUnsupported != false) {
            size += 1 + 1;
          }
          if (OpStatDegraded != false) {
            size += 2 + 1;
          }
          if (MapOutdated != false) {
            size += 2 + 1;
          }
          if (SubscriptionExpired != false) {
            size += 2 + 1;
          }
          if (DriverInattentive != false) {
            size += 2 + 1;
          }
          if (HazardsApplied != false) {
            size += 2 + 1;
          }
          if (UnsupportedSplitDirection != false) {
            size += 2 + 1;
          }
          if (DriverHandsNotDetected != false) {
            size += 2 + 1;
          }
          if (TrailerDetected != false) {
            size += 2 + 1;
          }
          if (PoorRoadConditions != false) {
            size += 2 + 1;
          }
          if (LANECURVE != false) {
            size += 2 + 1;
          }
          if (AirSuspensionSettingUnsupported != false) {
            size += 2 + 1;
          }
          if (VehicleNotCentered != false) {
            size += 2 + 1;
          }
          if (VehicleHeadingMismatch != false) {
            size += 2 + 1;
          }
          if (LateralSuppressionTriggered != false) {
            size += 2 + 1;
          }
          if (FullSuppressionTriggered != false) {
            size += 2 + 1;
          }
          if (DriverInattentionSuppression != false) {
            size += 2 + 1;
          }
          if (LaneMarkerCrossed != false) {
            size += 2 + 1;
          }
          if (SteeringAuthorityReached != false) {
            size += 2 + 1;
          }
          if (DriverLateralOverride != false) {
            size += 2 + 1;
          }
          if (UnsupportedIgnitionStatus != false) {
            size += 2 + 1;
          }
          if (InsufficientPathConfidence != false) {
            size += 2 + 1;
          }
          if (DriverModelUnknown != false) {
            size += 2 + 1;
          }
          if (AEBNotAvail != false) {
            size += 2 + 1;
          }
          if (LogisticsModeInhibit != false) {
            size += 2 + 1;
          }
          if (GNMMError != false) {
            size += 2 + 1;
          }
          if (SWSMHandsOnDetectionError != false) {
            size += 2 + 1;
          }
          if (FeatureDeactivatedRemotely != false) {
            size += 2 + 1;
          }
          if (InvalidSwayBarSetting != false) {
            size += 2 + 1;
          }
          if (ProxiMismatch != false) {
            size += 2 + 1;
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(ReasonForDisengagement_Type other) {
          if (other == null) {
            return;
          }
          if (other.InvalidLaneDetection != false) {
            InvalidLaneDetection = other.InvalidLaneDetection;
          }
          if (other.LookaheadDistanceLow != false) {
            LookaheadDistanceLow = other.LookaheadDistanceLow;
          }
          if (other.InvalidLaneWidth != false) {
            InvalidLaneWidth = other.InvalidLaneWidth;
          }
          if (other.RadiusOfCurvatureTooLow != false) {
            RadiusOfCurvatureTooLow = other.RadiusOfCurvatureTooLow;
          }
          if (other.RoadwayUnsupported != false) {
            RoadwayUnsupported = other.RoadwayUnsupported;
          }
          if (other.UnsupportedRoadwayAhead != false) {
            UnsupportedRoadwayAhead = other.UnsupportedRoadwayAhead;
          }
          if (other.SpeedTooHigh != false) {
            SpeedTooHigh = other.SpeedTooHigh;
          }
          if (other.ACCNotInCorrectState != false) {
            ACCNotInCorrectState = other.ACCNotInCorrectState;
          }
          if (other.TurnSignalOn != false) {
            TurnSignalOn = other.TurnSignalOn;
          }
          if (other.DriverOverrideCondition != false) {
            DriverOverrideCondition = other.DriverOverrideCondition;
          }
          if (other.SystemOverrideCondition != false) {
            SystemOverrideCondition = other.SystemOverrideCondition;
          }
          if (other.TemporaryFault != false) {
            TemporaryFault = other.TemporaryFault;
          }
          if (other.PermanentFault != false) {
            PermanentFault = other.PermanentFault;
          }
          if (other.CameraBlindness != false) {
            CameraBlindness = other.CameraBlindness;
          }
          if (other.WipersTooFast != false) {
            WipersTooFast = other.WipersTooFast;
          }
          if (other.PowertrainStateUnsupported != false) {
            PowertrainStateUnsupported = other.PowertrainStateUnsupported;
          }
          if (other.OpStatDegraded != false) {
            OpStatDegraded = other.OpStatDegraded;
          }
          if (other.MapOutdated != false) {
            MapOutdated = other.MapOutdated;
          }
          if (other.SubscriptionExpired != false) {
            SubscriptionExpired = other.SubscriptionExpired;
          }
          if (other.DriverInattentive != false) {
            DriverInattentive = other.DriverInattentive;
          }
          if (other.HazardsApplied != false) {
            HazardsApplied = other.HazardsApplied;
          }
          if (other.UnsupportedSplitDirection != false) {
            UnsupportedSplitDirection = other.UnsupportedSplitDirection;
          }
          if (other.DriverHandsNotDetected != false) {
            DriverHandsNotDetected = other.DriverHandsNotDetected;
          }
          if (other.TrailerDetected != false) {
            TrailerDetected = other.TrailerDetected;
          }
          if (other.PoorRoadConditions != false) {
            PoorRoadConditions = other.PoorRoadConditions;
          }
          if (other.LANECURVE != false) {
            LANECURVE = other.LANECURVE;
          }
          if (other.AirSuspensionSettingUnsupported != false) {
            AirSuspensionSettingUnsupported = other.AirSuspensionSettingUnsupported;
          }
          if (other.VehicleNotCentered != false) {
            VehicleNotCentered = other.VehicleNotCentered;
          }
          if (other.VehicleHeadingMismatch != false) {
            VehicleHeadingMismatch = other.VehicleHeadingMismatch;
          }
          if (other.LateralSuppressionTriggered != false) {
            LateralSuppressionTriggered = other.LateralSuppressionTriggered;
          }
          if (other.FullSuppressionTriggered != false) {
            FullSuppressionTriggered = other.FullSuppressionTriggered;
          }
          if (other.DriverInattentionSuppression != false) {
            DriverInattentionSuppression = other.DriverInattentionSuppression;
          }
          if (other.LaneMarkerCrossed != false) {
            LaneMarkerCrossed = other.LaneMarkerCrossed;
          }
          if (other.SteeringAuthorityReached != false) {
            SteeringAuthorityReached = other.SteeringAuthorityReached;
          }
          if (other.DriverLateralOverride != false) {
            DriverLateralOverride = other.DriverLateralOverride;
          }
          if (other.UnsupportedIgnitionStatus != false) {
            UnsupportedIgnitionStatus = other.UnsupportedIgnitionStatus;
          }
          if (other.InsufficientPathConfidence != false) {
            InsufficientPathConfidence = other.InsufficientPathConfidence;
          }
          if (other.DriverModelUnknown != false) {
            DriverModelUnknown = other.DriverModelUnknown;
          }
          if (other.AEBNotAvail != false) {
            AEBNotAvail = other.AEBNotAvail;
          }
          if (other.LogisticsModeInhibit != false) {
            LogisticsModeInhibit = other.LogisticsModeInhibit;
          }
          if (other.GNMMError != false) {
            GNMMError = other.GNMMError;
          }
          if (other.SWSMHandsOnDetectionError != false) {
            SWSMHandsOnDetectionError = other.SWSMHandsOnDetectionError;
          }
          if (other.FeatureDeactivatedRemotely != false) {
            FeatureDeactivatedRemotely = other.FeatureDeactivatedRemotely;
          }
          if (other.InvalidSwayBarSetting != false) {
            InvalidSwayBarSetting = other.InvalidSwayBarSetting;
          }
          if (other.ProxiMismatch != false) {
            ProxiMismatch = other.ProxiMismatch;
          }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                input.SkipLastField();
                break;
              case 8: {
                InvalidLaneDetection = input.ReadBool();
                break;
              }
              case 16: {
                LookaheadDistanceLow = input.ReadBool();
                break;
              }
              case 24: {
                InvalidLaneWidth = input.ReadBool();
                break;
              }
              case 32: {
                RadiusOfCurvatureTooLow = input.ReadBool();
                break;
              }
              case 40: {
                RoadwayUnsupported = input.ReadBool();
                break;
              }
              case 48: {
                UnsupportedRoadwayAhead = input.ReadBool();
                break;
              }
              case 56: {
                ACCNotInCorrectState = input.ReadBool();
                break;
              }
              case 64: {
                TurnSignalOn = input.ReadBool();
                break;
              }
              case 72: {
                DriverOverrideCondition = input.ReadBool();
                break;
              }
              case 80: {
                SystemOverrideCondition = input.ReadBool();
                break;
              }
              case 88: {
                TemporaryFault = input.ReadBool();
                break;
              }
              case 96: {
                PermanentFault = input.ReadBool();
                break;
              }
              case 104: {
                CameraBlindness = input.ReadBool();
                break;
              }
              case 112: {
                WipersTooFast = input.ReadBool();
                break;
              }
              case 120: {
                PowertrainStateUnsupported = input.ReadBool();
                break;
              }
              case 128: {
                OpStatDegraded = input.ReadBool();
                break;
              }
              case 136: {
                MapOutdated = input.ReadBool();
                break;
              }
              case 144: {
                SubscriptionExpired = input.ReadBool();
                break;
              }
              case 152: {
                DriverInattentive = input.ReadBool();
                break;
              }
              case 160: {
                HazardsApplied = input.ReadBool();
                break;
              }
              case 168: {
                UnsupportedSplitDirection = input.ReadBool();
                break;
              }
              case 176: {
                DriverHandsNotDetected = input.ReadBool();
                break;
              }
              case 184: {
                TrailerDetected = input.ReadBool();
                break;
              }
              case 192: {
                PoorRoadConditions = input.ReadBool();
                break;
              }
              case 200: {
                LANECURVE = input.ReadBool();
                break;
              }
              case 208: {
                AirSuspensionSettingUnsupported = input.ReadBool();
                break;
              }
              case 216: {
                VehicleNotCentered = input.ReadBool();
                break;
              }
              case 224: {
                VehicleHeadingMismatch = input.ReadBool();
                break;
              }
              case 232: {
                LateralSuppressionTriggered = input.ReadBool();
                break;
              }
              case 240: {
                FullSuppressionTriggered = input.ReadBool();
                break;
              }
              case 248: {
                DriverInattentionSuppression = input.ReadBool();
                break;
              }
              case 256: {
                LaneMarkerCrossed = input.ReadBool();
                break;
              }
              case 264: {
                SteeringAuthorityReached = input.ReadBool();
                break;
              }
              case 272: {
                DriverLateralOverride = input.ReadBool();
                break;
              }
              case 280: {
                UnsupportedIgnitionStatus = input.ReadBool();
                break;
              }
              case 288: {
                InsufficientPathConfidence = input.ReadBool();
                break;
              }
              case 296: {
                DriverModelUnknown = input.ReadBool();
                break;
              }
              case 304: {
                AEBNotAvail = input.ReadBool();
                break;
              }
              case 312: {
                LogisticsModeInhibit = input.ReadBool();
                break;
              }
              case 320: {
                GNMMError = input.ReadBool();
                break;
              }
              case 328: {
                SWSMHandsOnDetectionError = input.ReadBool();
                break;
              }
              case 336: {
                FeatureDeactivatedRemotely = input.ReadBool();
                break;
              }
              case 344: {
                InvalidSwayBarSetting = input.ReadBool();
                break;
              }
              case 352: {
                ProxiMismatch = input.ReadBool();
                break;
              }
              case 360: {
                SpeedTooHigh = input.ReadBool();
                break;
              }
            }
          }
        }

      }

    }
    #endregion

  }

  public sealed partial class DataLogMessageRequest : pb::IMessage<DataLogMessageRequest> {
    private static readonly pb::MessageParser<DataLogMessageRequest> _parser = new pb::MessageParser<DataLogMessageRequest>(() => new DataLogMessageRequest());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<DataLogMessageRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtDataLoggerReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataLogMessageRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataLogMessageRequest(DataLogMessageRequest other) : this() {
      ulin_ = other.ulin_;
      sequenceNumber_ = other.sequenceNumber_.Clone();
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataLogMessageRequest Clone() {
      return new DataLogMessageRequest(this);
    }

    /// <summary>Field number for the "ulin" field.</summary>
    public const int UlinFieldNumber = 1;
    private string ulin_ = "";
    /// <summary>
    //// Ulin shall be assigned a 20 digit Unique Log Identification Number (ULIN) that consists of the CADM2 ECU Serial Number (12 or 14 digit F18C Traceability Number) followed by a 6 digit sequential number.  The sequential number shall be incremented with each data file stored over the life of the CADM2.   Modules that use a 12 digit traceability number shall pad their traceability number with two trailing ?-? (ASCII 0x2D)  to bring it up to the required 14 digits.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Ulin {
      get { return ulin_; }
      set {
        ulin_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "sequenceNumber" field.</summary>
    public const int SequenceNumberFieldNumber = 2;
    private static readonly pb::FieldCodec<int> _repeated_sequenceNumber_codec
        = pb::FieldCodec.ForInt32(18);
    private readonly pbc::RepeatedField<int> sequenceNumber_ = new pbc::RepeatedField<int>();
    /// <summary>
    //// This defines the sequence number being requested.  If sequence value equals 0 (zero) then the request will be for the full datalog.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<int> SequenceNumber {
      get { return sequenceNumber_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as DataLogMessageRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(DataLogMessageRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Ulin != other.Ulin) return false;
      if(!sequenceNumber_.Equals(other.sequenceNumber_)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Ulin.Length != 0) hash ^= Ulin.GetHashCode();
      hash ^= sequenceNumber_.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Ulin.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Ulin);
      }
      sequenceNumber_.WriteTo(output, _repeated_sequenceNumber_codec);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Ulin.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Ulin);
      }
      size += sequenceNumber_.CalculateSize(_repeated_sequenceNumber_codec);
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(DataLogMessageRequest other) {
      if (other == null) {
        return;
      }
      if (other.Ulin.Length != 0) {
        Ulin = other.Ulin;
      }
      sequenceNumber_.Add(other.sequenceNumber_);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            Ulin = input.ReadString();
            break;
          }
          case 18:
          case 16: {
            sequenceNumber_.AddEntriesFrom(input, _repeated_sequenceNumber_codec);
            break;
          }
        }
      }
    }

  }

  public sealed partial class DataSetSignal : pb::IMessage<DataSetSignal> {
    private static readonly pb::MessageParser<DataSetSignal> _parser = new pb::MessageParser<DataSetSignal>(() => new DataSetSignal());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<DataSetSignal> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtDataLoggerReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataSetSignal() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataSetSignal(DataSetSignal other) : this() {
      signalName_ = other.signalName_;
      signalId_ = other.signalId_;
      uom_ = other.uom_;
      switch (other.SignalValueCase) {
        case SignalValueOneofCase.Int32Value:
          Int32Value = other.Int32Value;
          break;
        case SignalValueOneofCase.Int64Value:
          Int64Value = other.Int64Value;
          break;
        case SignalValueOneofCase.StringValue:
          StringValue = other.StringValue;
          break;
        case SignalValueOneofCase.DoubleValue:
          DoubleValue = other.DoubleValue;
          break;
        case SignalValueOneofCase.FloatValue:
          FloatValue = other.FloatValue;
          break;
        case SignalValueOneofCase.BoolValue:
          BoolValue = other.BoolValue;
          break;
        case SignalValueOneofCase.BytesValue:
          BytesValue = other.BytesValue;
          break;
        case SignalValueOneofCase.UInt32Value:
          UInt32Value = other.UInt32Value;
          break;
        case SignalValueOneofCase.UInt64Value:
          UInt64Value = other.UInt64Value;
          break;
        case SignalValueOneofCase.SInt32Value:
          SInt32Value = other.SInt32Value;
          break;
        case SignalValueOneofCase.SInt64Value:
          SInt64Value = other.SInt64Value;
          break;
        case SignalValueOneofCase.Fixed32Value:
          Fixed32Value = other.Fixed32Value;
          break;
        case SignalValueOneofCase.Fixed64Value:
          Fixed64Value = other.Fixed64Value;
          break;
        case SignalValueOneofCase.SFixed32Value:
          SFixed32Value = other.SFixed32Value;
          break;
        case SignalValueOneofCase.SFixed64Value:
          SFixed64Value = other.SFixed64Value;
          break;
      }

    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataSetSignal Clone() {
      return new DataSetSignal(this);
    }

    /// <summary>Field number for the "int32Value" field.</summary>
    public const int Int32ValueFieldNumber = 4001;
    /// <summary>
    //// Signal Value of type int32.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Int32Value {
      get { return signalValueCase_ == SignalValueOneofCase.Int32Value ? (int) signalValue_ : 0; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.Int32Value;
      }
    }

    /// <summary>Field number for the "int64Value" field.</summary>
    public const int Int64ValueFieldNumber = 4002;
    /// <summary>
    //// Signal Value of type int64.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long Int64Value {
      get { return signalValueCase_ == SignalValueOneofCase.Int64Value ? (long) signalValue_ : 0L; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.Int64Value;
      }
    }

    /// <summary>Field number for the "stringValue" field.</summary>
    public const int StringValueFieldNumber = 4003;
    /// <summary>
    //// StringValue
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string StringValue {
      get { return signalValueCase_ == SignalValueOneofCase.StringValue ? (string) signalValue_ : ""; }
      set {
        signalValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        signalValueCase_ = SignalValueOneofCase.StringValue;
      }
    }

    /// <summary>Field number for the "doubleValue" field.</summary>
    public const int DoubleValueFieldNumber = 4004;
    /// <summary>
    //// DoubleValue
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public double DoubleValue {
      get { return signalValueCase_ == SignalValueOneofCase.DoubleValue ? (double) signalValue_ : 0D; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.DoubleValue;
      }
    }

    /// <summary>Field number for the "floatValue" field.</summary>
    public const int FloatValueFieldNumber = 4005;
    /// <summary>
    //// floatValue
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float FloatValue {
      get { return signalValueCase_ == SignalValueOneofCase.FloatValue ? (float) signalValue_ : 0F; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.FloatValue;
      }
    }

    /// <summary>Field number for the "boolValue" field.</summary>
    public const int BoolValueFieldNumber = 4006;
    /// <summary>
    //// BoolValue
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool BoolValue {
      get { return signalValueCase_ == SignalValueOneofCase.BoolValue ? (bool) signalValue_ : false; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.BoolValue;
      }
    }

    /// <summary>Field number for the "bytesValue" field.</summary>
    public const int BytesValueFieldNumber = 4007;
    /// <summary>
    //// bytesValue
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pb::ByteString BytesValue {
      get { return signalValueCase_ == SignalValueOneofCase.BytesValue ? (pb::ByteString) signalValue_ : pb::ByteString.Empty; }
      set {
        signalValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        signalValueCase_ = SignalValueOneofCase.BytesValue;
      }
    }

    /// <summary>Field number for the "uInt32Value" field.</summary>
    public const int UInt32ValueFieldNumber = 4008;
    /// <summary>
    //// uInt32Value
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint UInt32Value {
      get { return signalValueCase_ == SignalValueOneofCase.UInt32Value ? (uint) signalValue_ : 0; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.UInt32Value;
      }
    }

    /// <summary>Field number for the "uInt64Value" field.</summary>
    public const int UInt64ValueFieldNumber = 4009;
    /// <summary>
    //// uInt64Value
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public ulong UInt64Value {
      get { return signalValueCase_ == SignalValueOneofCase.UInt64Value ? (ulong) signalValue_ : 0UL; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.UInt64Value;
      }
    }

    /// <summary>Field number for the "sInt32Value" field.</summary>
    public const int SInt32ValueFieldNumber = 4010;
    /// <summary>
    //// sInt32Value
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int SInt32Value {
      get { return signalValueCase_ == SignalValueOneofCase.SInt32Value ? (int) signalValue_ : 0; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.SInt32Value;
      }
    }

    /// <summary>Field number for the "sInt64Value" field.</summary>
    public const int SInt64ValueFieldNumber = 4011;
    /// <summary>
    //// sInt64Value
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long SInt64Value {
      get { return signalValueCase_ == SignalValueOneofCase.SInt64Value ? (long) signalValue_ : 0L; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.SInt64Value;
      }
    }

    /// <summary>Field number for the "fixed32Value" field.</summary>
    public const int Fixed32ValueFieldNumber = 4012;
    /// <summary>
    //// fixed32Value
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint Fixed32Value {
      get { return signalValueCase_ == SignalValueOneofCase.Fixed32Value ? (uint) signalValue_ : 0; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.Fixed32Value;
      }
    }

    /// <summary>Field number for the "fixed64Value" field.</summary>
    public const int Fixed64ValueFieldNumber = 4013;
    /// <summary>
    //// fixed64Value
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public ulong Fixed64Value {
      get { return signalValueCase_ == SignalValueOneofCase.Fixed64Value ? (ulong) signalValue_ : 0UL; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.Fixed64Value;
      }
    }

    /// <summary>Field number for the "sFixed32Value" field.</summary>
    public const int SFixed32ValueFieldNumber = 4014;
    /// <summary>
    //// sFixed32Value
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int SFixed32Value {
      get { return signalValueCase_ == SignalValueOneofCase.SFixed32Value ? (int) signalValue_ : 0; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.SFixed32Value;
      }
    }

    /// <summary>Field number for the "sFixed64Value" field.</summary>
    public const int SFixed64ValueFieldNumber = 4015;
    /// <summary>
    //// sFixed64Value
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long SFixed64Value {
      get { return signalValueCase_ == SignalValueOneofCase.SFixed64Value ? (long) signalValue_ : 0L; }
      set {
        signalValue_ = value;
        signalValueCase_ = SignalValueOneofCase.SFixed64Value;
      }
    }

    /// <summary>Field number for the "signalName" field.</summary>
    public const int SignalNameFieldNumber = 2;
    private string signalName_ = "";
    /// <summary>
    //// The name of the signal to be collected
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SignalName {
      get { return signalName_; }
      set {
        signalName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "signalId" field.</summary>
    public const int SignalIdFieldNumber = 3;
    private int signalId_;
    /// <summary>
    //// Used as an additional identifier for onChangeDataSet signal definitions.  The identifier can be either a global unique number or an index for the signal in the DataSet.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int SignalId {
      get { return signalId_; }
      set {
        signalId_ = value;
      }
    }

    /// <summary>Field number for the "uom" field.</summary>
    public const int UomFieldNumber = 4;
    private global::Com.Fca.Uconnect.Global.SignalValueUOMEnum uom_ = 0;
    /// <summary>
    //// Identify the expected UOM in which the signal value will be provided.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.SignalValueUOMEnum Uom {
      get { return uom_; }
      set {
        uom_ = value;
      }
    }

    private object signalValue_;
    /// <summary>Enum of possible cases for the "signalValue" oneof.</summary>
    public enum SignalValueOneofCase {
      None = 0,
      Int32Value = 4001,
      Int64Value = 4002,
      StringValue = 4003,
      DoubleValue = 4004,
      FloatValue = 4005,
      BoolValue = 4006,
      BytesValue = 4007,
      UInt32Value = 4008,
      UInt64Value = 4009,
      SInt32Value = 4010,
      SInt64Value = 4011,
      Fixed32Value = 4012,
      Fixed64Value = 4013,
      SFixed32Value = 4014,
      SFixed64Value = 4015,
    }
    private SignalValueOneofCase signalValueCase_ = SignalValueOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SignalValueOneofCase SignalValueCase {
      get { return signalValueCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearSignalValue() {
      signalValueCase_ = SignalValueOneofCase.None;
      signalValue_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as DataSetSignal);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(DataSetSignal other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Int32Value != other.Int32Value) return false;
      if (Int64Value != other.Int64Value) return false;
      if (StringValue != other.StringValue) return false;
      if (DoubleValue != other.DoubleValue) return false;
      if (FloatValue != other.FloatValue) return false;
      if (BoolValue != other.BoolValue) return false;
      if (BytesValue != other.BytesValue) return false;
      if (UInt32Value != other.UInt32Value) return false;
      if (UInt64Value != other.UInt64Value) return false;
      if (SInt32Value != other.SInt32Value) return false;
      if (SInt64Value != other.SInt64Value) return false;
      if (Fixed32Value != other.Fixed32Value) return false;
      if (Fixed64Value != other.Fixed64Value) return false;
      if (SFixed32Value != other.SFixed32Value) return false;
      if (SFixed64Value != other.SFixed64Value) return false;
      if (SignalName != other.SignalName) return false;
      if (SignalId != other.SignalId) return false;
      if (Uom != other.Uom) return false;
      if (SignalValueCase != other.SignalValueCase) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (signalValueCase_ == SignalValueOneofCase.Int32Value) hash ^= Int32Value.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.Int64Value) hash ^= Int64Value.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.StringValue) hash ^= StringValue.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.DoubleValue) hash ^= DoubleValue.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.FloatValue) hash ^= FloatValue.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.BoolValue) hash ^= BoolValue.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.BytesValue) hash ^= BytesValue.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.UInt32Value) hash ^= UInt32Value.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.UInt64Value) hash ^= UInt64Value.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.SInt32Value) hash ^= SInt32Value.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.SInt64Value) hash ^= SInt64Value.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.Fixed32Value) hash ^= Fixed32Value.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.Fixed64Value) hash ^= Fixed64Value.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.SFixed32Value) hash ^= SFixed32Value.GetHashCode();
      if (signalValueCase_ == SignalValueOneofCase.SFixed64Value) hash ^= SFixed64Value.GetHashCode();
      if (SignalName.Length != 0) hash ^= SignalName.GetHashCode();
      if (SignalId != 0) hash ^= SignalId.GetHashCode();
      if (Uom != 0) hash ^= Uom.GetHashCode();
      hash ^= (int) signalValueCase_;
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (SignalName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SignalName);
      }
      if (SignalId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(SignalId);
      }
      if (Uom != 0) {
        output.WriteRawTag(32);
        output.WriteEnum((int) Uom);
      }
      if (signalValueCase_ == SignalValueOneofCase.Int32Value) {
        output.WriteRawTag(136, 250, 1);
        output.WriteInt32(Int32Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.Int64Value) {
        output.WriteRawTag(144, 250, 1);
        output.WriteInt64(Int64Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.StringValue) {
        output.WriteRawTag(154, 250, 1);
        output.WriteString(StringValue);
      }
      if (signalValueCase_ == SignalValueOneofCase.DoubleValue) {
        output.WriteRawTag(161, 250, 1);
        output.WriteDouble(DoubleValue);
      }
      if (signalValueCase_ == SignalValueOneofCase.FloatValue) {
        output.WriteRawTag(173, 250, 1);
        output.WriteFloat(FloatValue);
      }
      if (signalValueCase_ == SignalValueOneofCase.BoolValue) {
        output.WriteRawTag(176, 250, 1);
        output.WriteBool(BoolValue);
      }
      if (signalValueCase_ == SignalValueOneofCase.BytesValue) {
        output.WriteRawTag(186, 250, 1);
        output.WriteBytes(BytesValue);
      }
      if (signalValueCase_ == SignalValueOneofCase.UInt32Value) {
        output.WriteRawTag(192, 250, 1);
        output.WriteUInt32(UInt32Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.UInt64Value) {
        output.WriteRawTag(200, 250, 1);
        output.WriteUInt64(UInt64Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.SInt32Value) {
        output.WriteRawTag(208, 250, 1);
        output.WriteSInt32(SInt32Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.SInt64Value) {
        output.WriteRawTag(216, 250, 1);
        output.WriteSInt64(SInt64Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.Fixed32Value) {
        output.WriteRawTag(229, 250, 1);
        output.WriteFixed32(Fixed32Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.Fixed64Value) {
        output.WriteRawTag(233, 250, 1);
        output.WriteFixed64(Fixed64Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.SFixed32Value) {
        output.WriteRawTag(245, 250, 1);
        output.WriteSFixed32(SFixed32Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.SFixed64Value) {
        output.WriteRawTag(249, 250, 1);
        output.WriteSFixed64(SFixed64Value);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (signalValueCase_ == SignalValueOneofCase.Int32Value) {
        size += 3 + pb::CodedOutputStream.ComputeInt32Size(Int32Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.Int64Value) {
        size += 3 + pb::CodedOutputStream.ComputeInt64Size(Int64Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.StringValue) {
        size += 3 + pb::CodedOutputStream.ComputeStringSize(StringValue);
      }
      if (signalValueCase_ == SignalValueOneofCase.DoubleValue) {
        size += 3 + 8;
      }
      if (signalValueCase_ == SignalValueOneofCase.FloatValue) {
        size += 3 + 4;
      }
      if (signalValueCase_ == SignalValueOneofCase.BoolValue) {
        size += 3 + 1;
      }
      if (signalValueCase_ == SignalValueOneofCase.BytesValue) {
        size += 3 + pb::CodedOutputStream.ComputeBytesSize(BytesValue);
      }
      if (signalValueCase_ == SignalValueOneofCase.UInt32Value) {
        size += 3 + pb::CodedOutputStream.ComputeUInt32Size(UInt32Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.UInt64Value) {
        size += 3 + pb::CodedOutputStream.ComputeUInt64Size(UInt64Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.SInt32Value) {
        size += 3 + pb::CodedOutputStream.ComputeSInt32Size(SInt32Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.SInt64Value) {
        size += 3 + pb::CodedOutputStream.ComputeSInt64Size(SInt64Value);
      }
      if (signalValueCase_ == SignalValueOneofCase.Fixed32Value) {
        size += 3 + 4;
      }
      if (signalValueCase_ == SignalValueOneofCase.Fixed64Value) {
        size += 3 + 8;
      }
      if (signalValueCase_ == SignalValueOneofCase.SFixed32Value) {
        size += 3 + 4;
      }
      if (signalValueCase_ == SignalValueOneofCase.SFixed64Value) {
        size += 3 + 8;
      }
      if (SignalName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SignalName);
      }
      if (SignalId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SignalId);
      }
      if (Uom != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Uom);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(DataSetSignal other) {
      if (other == null) {
        return;
      }
      if (other.SignalName.Length != 0) {
        SignalName = other.SignalName;
      }
      if (other.SignalId != 0) {
        SignalId = other.SignalId;
      }
      if (other.Uom != 0) {
        Uom = other.Uom;
      }
      switch (other.SignalValueCase) {
        case SignalValueOneofCase.Int32Value:
          Int32Value = other.Int32Value;
          break;
        case SignalValueOneofCase.Int64Value:
          Int64Value = other.Int64Value;
          break;
        case SignalValueOneofCase.StringValue:
          StringValue = other.StringValue;
          break;
        case SignalValueOneofCase.DoubleValue:
          DoubleValue = other.DoubleValue;
          break;
        case SignalValueOneofCase.FloatValue:
          FloatValue = other.FloatValue;
          break;
        case SignalValueOneofCase.BoolValue:
          BoolValue = other.BoolValue;
          break;
        case SignalValueOneofCase.BytesValue:
          BytesValue = other.BytesValue;
          break;
        case SignalValueOneofCase.UInt32Value:
          UInt32Value = other.UInt32Value;
          break;
        case SignalValueOneofCase.UInt64Value:
          UInt64Value = other.UInt64Value;
          break;
        case SignalValueOneofCase.SInt32Value:
          SInt32Value = other.SInt32Value;
          break;
        case SignalValueOneofCase.SInt64Value:
          SInt64Value = other.SInt64Value;
          break;
        case SignalValueOneofCase.Fixed32Value:
          Fixed32Value = other.Fixed32Value;
          break;
        case SignalValueOneofCase.Fixed64Value:
          Fixed64Value = other.Fixed64Value;
          break;
        case SignalValueOneofCase.SFixed32Value:
          SFixed32Value = other.SFixed32Value;
          break;
        case SignalValueOneofCase.SFixed64Value:
          SFixed64Value = other.SFixed64Value;
          break;
      }

    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 18: {
            SignalName = input.ReadString();
            break;
          }
          case 24: {
            SignalId = input.ReadInt32();
            break;
          }
          case 32: {
            uom_ = (global::Com.Fca.Uconnect.Global.SignalValueUOMEnum) input.ReadEnum();
            break;
          }
          case 32008: {
            Int32Value = input.ReadInt32();
            break;
          }
          case 32016: {
            Int64Value = input.ReadInt64();
            break;
          }
          case 32026: {
            StringValue = input.ReadString();
            break;
          }
          case 32033: {
            DoubleValue = input.ReadDouble();
            break;
          }
          case 32045: {
            FloatValue = input.ReadFloat();
            break;
          }
          case 32048: {
            BoolValue = input.ReadBool();
            break;
          }
          case 32058: {
            BytesValue = input.ReadBytes();
            break;
          }
          case 32064: {
            UInt32Value = input.ReadUInt32();
            break;
          }
          case 32072: {
            UInt64Value = input.ReadUInt64();
            break;
          }
          case 32080: {
            SInt32Value = input.ReadSInt32();
            break;
          }
          case 32088: {
            SInt64Value = input.ReadSInt64();
            break;
          }
          case 32101: {
            Fixed32Value = input.ReadFixed32();
            break;
          }
          case 32105: {
            Fixed64Value = input.ReadFixed64();
            break;
          }
          case 32117: {
            SFixed32Value = input.ReadSFixed32();
            break;
          }
          case 32121: {
            SFixed64Value = input.ReadSFixed64();
            break;
          }
        }
      }
    }

  }

  public sealed partial class DataLogMessageResponse : pb::IMessage<DataLogMessageResponse> {
    private static readonly pb::MessageParser<DataLogMessageResponse> _parser = new pb::MessageParser<DataLogMessageResponse>(() => new DataLogMessageResponse());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<DataLogMessageResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtDataLoggerReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataLogMessageResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataLogMessageResponse(DataLogMessageResponse other) : this() {
      ulin_ = other.ulin_;
      datalogSequence_ = other.datalogSequence_;
      datalogSequenceTotal_ = other.datalogSequenceTotal_;
      dataLogMessageObj_ = other.dataLogMessageObj_.Clone();
      responseTyp_ = other.responseTyp_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataLogMessageResponse Clone() {
      return new DataLogMessageResponse(this);
    }

    /// <summary>Field number for the "ulin" field.</summary>
    public const int UlinFieldNumber = 3;
    private string ulin_ = "";
    /// <summary>
    //// Ulin shall be assigned a 20 digit Unique Log Identification Number (ULIN) that consists of the CADM2 ECU Serial Number (12 or 14 digit F18C Traceability Number) followed by a 6 digit sequential number.  The sequential number shall be incremented with each data file stored over the life of the CADM2.   Modules that use a 12 digit traceability number shall pad their traceability number with two trailing ?-? (ASCII 0x2D)  to bring it up to the required 14 digits.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Ulin {
      get { return ulin_; }
      set {
        ulin_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "datalogSequence" field.</summary>
    public const int DatalogSequenceFieldNumber = 5;
    private int datalogSequence_;
    /// <summary>
    //// Defines the sequence position of the datalog data based on the datalogSequenceTotal.  Sequence will always start with 1.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int DatalogSequence {
      get { return datalogSequence_; }
      set {
        datalogSequence_ = value;
      }
    }

    /// <summary>Field number for the "datalogSequenceTotal" field.</summary>
    public const int DatalogSequenceTotalFieldNumber = 6;
    private int datalogSequenceTotal_;
    /// <summary>
    //// Defines the total sequences that will complete a full datalog event.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int DatalogSequenceTotal {
      get { return datalogSequenceTotal_; }
      set {
        datalogSequenceTotal_ = value;
      }
    }

    /// <summary>Field number for the "dataLogMessageObj" field.</summary>
    public const int DataLogMessageObjFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataLogMessageObject> _repeated_dataLogMessageObj_codec
        = pb::FieldCodec.ForMessage(18, global::Com.Fca.Uconnect.Global.DataLogMessageObject.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject> dataLogMessageObj_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataLogMessageObject> DataLogMessageObj {
      get { return dataLogMessageObj_; }
    }

    /// <summary>Field number for the "responseTyp" field.</summary>
    public const int ResponseTypFieldNumber = 1;
    private global::Com.Fca.Uconnect.Global.DataLogMessageResponse.Types.DataLogResponseTypeEnum responseTyp_ = 0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.DataLogMessageResponse.Types.DataLogResponseTypeEnum ResponseTyp {
      get { return responseTyp_; }
      set {
        responseTyp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as DataLogMessageResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(DataLogMessageResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Ulin != other.Ulin) return false;
      if (DatalogSequence != other.DatalogSequence) return false;
      if (DatalogSequenceTotal != other.DatalogSequenceTotal) return false;
      if(!dataLogMessageObj_.Equals(other.dataLogMessageObj_)) return false;
      if (ResponseTyp != other.ResponseTyp) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Ulin.Length != 0) hash ^= Ulin.GetHashCode();
      if (DatalogSequence != 0) hash ^= DatalogSequence.GetHashCode();
      if (DatalogSequenceTotal != 0) hash ^= DatalogSequenceTotal.GetHashCode();
      hash ^= dataLogMessageObj_.GetHashCode();
      if (ResponseTyp != 0) hash ^= ResponseTyp.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (ResponseTyp != 0) {
        output.WriteRawTag(8);
        output.WriteEnum((int) ResponseTyp);
      }
      dataLogMessageObj_.WriteTo(output, _repeated_dataLogMessageObj_codec);
      if (Ulin.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Ulin);
      }
      if (DatalogSequence != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(DatalogSequence);
      }
      if (DatalogSequenceTotal != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(DatalogSequenceTotal);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Ulin.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Ulin);
      }
      if (DatalogSequence != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DatalogSequence);
      }
      if (DatalogSequenceTotal != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DatalogSequenceTotal);
      }
      size += dataLogMessageObj_.CalculateSize(_repeated_dataLogMessageObj_codec);
      if (ResponseTyp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ResponseTyp);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(DataLogMessageResponse other) {
      if (other == null) {
        return;
      }
      if (other.Ulin.Length != 0) {
        Ulin = other.Ulin;
      }
      if (other.DatalogSequence != 0) {
        DatalogSequence = other.DatalogSequence;
      }
      if (other.DatalogSequenceTotal != 0) {
        DatalogSequenceTotal = other.DatalogSequenceTotal;
      }
      dataLogMessageObj_.Add(other.dataLogMessageObj_);
      if (other.ResponseTyp != 0) {
        ResponseTyp = other.ResponseTyp;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            responseTyp_ = (global::Com.Fca.Uconnect.Global.DataLogMessageResponse.Types.DataLogResponseTypeEnum) input.ReadEnum();
            break;
          }
          case 18: {
            dataLogMessageObj_.AddEntriesFrom(input, _repeated_dataLogMessageObj_codec);
            break;
          }
          case 26: {
            Ulin = input.ReadString();
            break;
          }
          case 40: {
            DatalogSequence = input.ReadInt32();
            break;
          }
          case 48: {
            DatalogSequenceTotal = input.ReadInt32();
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the DataLogMessageResponse message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      public enum DataLogResponseTypeEnum {
        /// <summary>
        //// Success
        /// </summary>
        [pbr::OriginalName("SUCCESS_ULIN")] SuccessUlin = 0,
        /// <summary>
        ////  ULIN_NOT_AVAILABLE when Unique ID is not available.
        /// </summary>
        [pbr::OriginalName("ULIN_NOT_AVAILABLE")] UlinNotAvailable = 1,
        /// <summary>
        //// General Error
        /// </summary>
        [pbr::OriginalName("GENERAL_ERROR")] GeneralError = 2,
      }

    }
    #endregion

  }

  #endregion

}

#endregion Designer generated code
