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

#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "Global_Uconnect_Ext_VehicleMessaging.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/stubs/port.h>
#include <google/protobuf/stubs/once.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)

namespace com {
namespace fca {
namespace uconnect {
namespace global {
class VehicleMessagePublish_LanguageStringDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<VehicleMessagePublish_LanguageString> {
} _VehicleMessagePublish_LanguageString_default_instance_;
class VehicleMessagePublish_MessageParametersEntryDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<VehicleMessagePublish::VehicleMessagePublish_MessageParametersEntry> {
} _VehicleMessagePublish_MessageParametersEntry_default_instance_;
class VehicleMessagePublishDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<VehicleMessagePublish> {
} _VehicleMessagePublish_default_instance_;
class VehicleMessageAckDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<VehicleMessageAck> {
} _VehicleMessageAck_default_instance_;
class VehicleMessageDispositionPublishDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<VehicleMessageDispositionPublish> {
} _VehicleMessageDispositionPublish_default_instance_;
class VehicleMessageDispositionAckDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<VehicleMessageDispositionAck> {
} _VehicleMessageDispositionAck_default_instance_;

namespace protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto {


namespace {

::google::protobuf::Metadata file_level_metadata[6];
const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[5];

}  // namespace

PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
    const TableStruct::entries[] = {
  {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
};

PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
    const TableStruct::aux[] = {
  ::google::protobuf::internal::AuxillaryParseTableField(),
};
PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
    TableStruct::schema[] = {
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
};

const ::google::protobuf::uint32 TableStruct::offsets[] = {
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish_LanguageString, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish_LanguageString, language_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish_LanguageString, messagetext_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish, vehiclemessageid_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish, vin_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish, messagetype_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish, messagedetailtype_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish, messagetemplate_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish, message_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish, servicemessageeventid_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessagePublish, messageparameters_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageAck, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageAck, vehiclemessageid_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageAck, messagereceipttimestamp_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageAck, status_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageAck, failurediagnostic_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageDispositionPublish, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageDispositionPublish, vehiclemessageid_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageDispositionPublish, messagedisplaytimestamp_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageDispositionPublish, messagehmidispositioneventtimestamp_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageDispositionPublish, disposition_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageDispositionPublish, failurediagnostic_),
  ~0u,  // no _has_bits_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageDispositionAck, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(VehicleMessageDispositionAck, response_),
};

static const ::google::protobuf::internal::MigrationSchema schemas[] = {
  { 0, -1, sizeof(VehicleMessagePublish_LanguageString)},
  { 7, -1, sizeof(VehicleMessagePublish)},
  { 20, -1, sizeof(VehicleMessageAck)},
  { 29, -1, sizeof(VehicleMessageDispositionPublish)},
  { 39, -1, sizeof(VehicleMessageDispositionAck)},
};

static ::google::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::google::protobuf::Message*>(&_VehicleMessagePublish_LanguageString_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_VehicleMessagePublish_MessageParametersEntry_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_VehicleMessagePublish_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_VehicleMessageAck_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_VehicleMessageDispositionPublish_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_VehicleMessageDispositionAck_default_instance_),
};

namespace {

void protobuf_AssignDescriptors() {
  AddDescriptors();
  ::google::protobuf::MessageFactory* factory = NULL;
  AssignDescriptors(
      "Global_Uconnect_Ext_VehicleMessaging.proto", schemas, file_default_instances, TableStruct::offsets, factory,
      file_level_metadata, file_level_enum_descriptors, NULL);
file_level_metadata[1].reflection = VehicleMessagePublish::VehicleMessagePublish_MessageParametersEntry::CreateReflection(file_level_metadata[1].descriptor, _VehicleMessagePublish_MessageParametersEntry_default_instance_.get_mutable());
}

void protobuf_AssignDescriptorsOnce() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
}

void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
void protobuf_RegisterTypes(const ::std::string&) {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 6);
}

}  // namespace

void TableStruct::Shutdown() {
  _VehicleMessagePublish_LanguageString_default_instance_.Shutdown();
  delete file_level_metadata[0].reflection;
  _VehicleMessagePublish_default_instance_.Shutdown();
  delete file_level_metadata[2].reflection;
  _VehicleMessageAck_default_instance_.Shutdown();
  delete file_level_metadata[3].reflection;
  _VehicleMessageDispositionPublish_default_instance_.Shutdown();
  delete file_level_metadata[4].reflection;
  _VehicleMessageDispositionAck_default_instance_.Shutdown();
  delete file_level_metadata[5].reflection;
  delete file_level_metadata[1].reflection;
}

void TableStruct::InitDefaultsImpl() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  ::google::protobuf::internal::InitProtobufDefaults();
  _VehicleMessagePublish_LanguageString_default_instance_.DefaultConstruct();
  _VehicleMessagePublish_MessageParametersEntry_default_instance_.DefaultConstruct();
  _VehicleMessagePublish_default_instance_.DefaultConstruct();
  _VehicleMessageAck_default_instance_.DefaultConstruct();
  _VehicleMessageDispositionPublish_default_instance_.DefaultConstruct();
  _VehicleMessageDispositionAck_default_instance_.DefaultConstruct();
  _VehicleMessagePublish_MessageParametersEntry_default_instance_.get_mutable()->set_default_instance(_VehicleMessagePublish_MessageParametersEntry_default_instance_.get_mutable());
  _VehicleMessagePublish_MessageParametersEntry_default_instance_.get_mutable()->InitAsDefaultInstance();
}

void InitDefaults() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
}
void AddDescriptorsImpl() {
  InitDefaults();
  static const char descriptor[] = {
      "\n*Global_Uconnect_Ext_VehicleMessaging.p"
      "roto\022\027com.fca.uconnect.global\"\232\010\n\025Vehicl"
      "eMessagePublish\022\030\n\020vehicleMessageID\030\001 \001("
      "\005\022\013\n\003vin\030\002 \001(\t\022O\n\013messageType\030\003 \001(\0162:.co"
      "m.fca.uconnect.global.VehicleMessagePubl"
      "ish.MessageType\022[\n\021messageDetailType\030\007 \001"
      "(\0162@.com.fca.uconnect.global.VehicleMess"
      "agePublish.MessageDetailType\022\027\n\017messageT"
      "emplate\030\004 \001(\t\022N\n\007message\030\005 \003(\0132=.com.fca"
      ".uconnect.global.VehicleMessagePublish.L"
      "anguageString\022\035\n\025ServiceMessageEventID\030\010"
      " \001(\t\022`\n\021messageParameters\030\006 \003(\0132E.com.fc"
      "a.uconnect.global.VehicleMessagePublish."
      "MessageParametersEntry\0327\n\016LanguageString"
      "\022\020\n\010language\030\001 \001(\t\022\023\n\013messageText\030\002 \001(\t\032"
      "8\n\026MessageParametersEntry\022\013\n\003key\030\001 \001(\t\022\r"
      "\n\005value\030\002 \001(\t:\0028\001\"\216\001\n\013MessageType\022\021\n\rREC"
      "ALL_NOTICE\020\000\022\022\n\016SERVICE_NOTICE\020\001\022\023\n\017PC_N"
      "OTIFICATION\020\002\022\016\n\nENROLLMENT\020\003\022\027\n\023SUBSCRI"
      "PTION_NOTICE\020\004\022\r\n\tMARKETING\020\005\022\013\n\007GENERAL"
      "\020\006\"\275\002\n\021MessageDetailType\022\r\n\tRECALL_ID\020\000\022"
      "\024\n\020RECALL_COMPONENT\020\001\022\022\n\016RECALL_SUMMARY\020"
      "\002\022\026\n\022RECALL_CONSEQUENCE\020\003\022\024\n\020OWNER_NEXT_"
      "STEPS\020\004\022\024\n\020SERVICE_DUE_DATE\020\005\022\023\n\017SERVICE"
      "_SUMMARY\020\007\022\032\n\026SUBSCRIPTION_TO_EXPIRE\020\006\022\030"
      "\n\024SUBSCRIPTION_EXPIRED\020\010\022\t\n\005OTHER\020\t\022\031\n\025S"
      "UBSCRIPTION_END_DATE\020\n\022\031\n\025SUBSCRIPTION_T"
      "O_RENEW\020\013\022\037\n\033SUBSCRIPTION_DAYS_TO_EXPIRE"
      "\020\014\"\277\003\n\021VehicleMessageAck\022\030\n\020vehicleMessa"
      "geID\030\001 \001(\005\022\037\n\027messageReceiptTimestamp\030\002 "
      "\001(\003\022G\n\006status\030\003 \001(\01627.com.fca.uconnect.g"
      "lobal.VehicleMessageAck.ResponseEnum\022\031\n\021"
      "failureDiagnostic\030\004 \001(\t\"\212\002\n\014ResponseEnum"
      "\022\036\n\032MESSAGE_STAGED_FOR_DISPLAY\020\000\022\036\n\032MESS"
      "AGE_TYPE_NOT_SUPPORTED\020\001\022#\n\037MESSAGE_LANG"
      "UAGES_NOT_SUPPORTED\020\002\022\032\n\026MESSAGE_STAGING"
      "_FAILED\020\003\0221\n-MESSAGE_DESTINATION_TEMPORA"
      "RILY_NOT_AVAILABLE\020\004\022\031\n\025MESSAGE_VIN_NOT_"
      "VALID\020\005\022\027\n\023MESSAGE_AUTO_DELETE\020\006\022\022\n\016MESS"
      "AGE_DELETE\020\007\"\255\004\n VehicleMessageDispositi"
      "onPublish\022\030\n\020vehicleMessageID\030\001 \001(\005\022\037\n\027m"
      "essageDisplayTimestamp\030\002 \001(\003\022+\n#messageH"
      "MIDispositionEventTimestamp\030\003 \001(\003\022e\n\013dis"
      "position\030\004 \001(\0162P.com.fca.uconnect.global"
      ".VehicleMessageDispositionPublish.Messag"
      "eDispositionEnum\022\031\n\021failureDiagnostic\030\005 "
      "\001(\t\"\236\002\n\026MessageDispositionEnum\022!\n\035MESSAG"
      "E_CONFIRMED_BY_OPERATOR\020\000\022\035\n\031MESSAGE_DIS"
      "PLAY_CANCELLED\020\001\022\"\n\036MESSAGE_DISPLAY_CONF"
      "IRMED_CALL\020\006\022\031\n\025MESSAGE_VIN_NOT_VALID\020\002\022"
      "\025\n\021MESSAGE_TIMED_OUT\020\003\022#\n\037MESSAGE_LANGUA"
      "GES_NOT_SUPPORTED\020\004\022\032\n\026MESSAGE_DISPLAY_F"
      "AILED\020\005\022\027\n\023MESSAGE_AUTO_DELETE\020\007\022\022\n\016MESS"
      "AGE_DELETE\020\010\"\264\001\n\034VehicleMessageDispositi"
      "onAck\022_\n\010response\030\001 \001(\0162M.com.fca.uconne"
      "ct.global.VehicleMessageDispositionAck.D"
      "ispositionResponseEnum\"3\n\027DispositionRes"
      "ponseEnum\022\013\n\007SUCCESS\020\000\022\013\n\007FAILURE\020\001b\006pro"
      "to3"
  };
  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
      descriptor, 2323);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "Global_Uconnect_Ext_VehicleMessaging.proto", &protobuf_RegisterTypes);
  ::google::protobuf::internal::OnShutdown(&TableStruct::Shutdown);
}

void AddDescriptors() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
}
// Force AddDescriptors() to be called at static initialization time.
struct StaticDescriptorInitializer {
  StaticDescriptorInitializer() {
    AddDescriptors();
  }
} static_descriptor_initializer;

}  // namespace protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto

const ::google::protobuf::EnumDescriptor* VehicleMessagePublish_MessageType_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_enum_descriptors[0];
}
bool VehicleMessagePublish_MessageType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const VehicleMessagePublish_MessageType VehicleMessagePublish::RECALL_NOTICE;
const VehicleMessagePublish_MessageType VehicleMessagePublish::SERVICE_NOTICE;
const VehicleMessagePublish_MessageType VehicleMessagePublish::PC_NOTIFICATION;
const VehicleMessagePublish_MessageType VehicleMessagePublish::ENROLLMENT;
const VehicleMessagePublish_MessageType VehicleMessagePublish::SUBSCRIPTION_NOTICE;
const VehicleMessagePublish_MessageType VehicleMessagePublish::MARKETING;
const VehicleMessagePublish_MessageType VehicleMessagePublish::GENERAL;
const VehicleMessagePublish_MessageType VehicleMessagePublish::MessageType_MIN;
const VehicleMessagePublish_MessageType VehicleMessagePublish::MessageType_MAX;
const int VehicleMessagePublish::MessageType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* VehicleMessagePublish_MessageDetailType_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_enum_descriptors[1];
}
bool VehicleMessagePublish_MessageDetailType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::RECALL_ID;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::RECALL_COMPONENT;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::RECALL_SUMMARY;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::RECALL_CONSEQUENCE;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::OWNER_NEXT_STEPS;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::SERVICE_DUE_DATE;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::SERVICE_SUMMARY;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::SUBSCRIPTION_TO_EXPIRE;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::SUBSCRIPTION_EXPIRED;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::OTHER;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::SUBSCRIPTION_END_DATE;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::SUBSCRIPTION_TO_RENEW;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::SUBSCRIPTION_DAYS_TO_EXPIRE;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::MessageDetailType_MIN;
const VehicleMessagePublish_MessageDetailType VehicleMessagePublish::MessageDetailType_MAX;
const int VehicleMessagePublish::MessageDetailType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* VehicleMessageAck_ResponseEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_enum_descriptors[2];
}
bool VehicleMessageAck_ResponseEnum_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const VehicleMessageAck_ResponseEnum VehicleMessageAck::MESSAGE_STAGED_FOR_DISPLAY;
const VehicleMessageAck_ResponseEnum VehicleMessageAck::MESSAGE_TYPE_NOT_SUPPORTED;
const VehicleMessageAck_ResponseEnum VehicleMessageAck::MESSAGE_LANGUAGES_NOT_SUPPORTED;
const VehicleMessageAck_ResponseEnum VehicleMessageAck::MESSAGE_STAGING_FAILED;
const VehicleMessageAck_ResponseEnum VehicleMessageAck::MESSAGE_DESTINATION_TEMPORARILY_NOT_AVAILABLE;
const VehicleMessageAck_ResponseEnum VehicleMessageAck::MESSAGE_VIN_NOT_VALID;
const VehicleMessageAck_ResponseEnum VehicleMessageAck::MESSAGE_AUTO_DELETE;
const VehicleMessageAck_ResponseEnum VehicleMessageAck::MESSAGE_DELETE;
const VehicleMessageAck_ResponseEnum VehicleMessageAck::ResponseEnum_MIN;
const VehicleMessageAck_ResponseEnum VehicleMessageAck::ResponseEnum_MAX;
const int VehicleMessageAck::ResponseEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* VehicleMessageDispositionPublish_MessageDispositionEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_enum_descriptors[3];
}
bool VehicleMessageDispositionPublish_MessageDispositionEnum_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MESSAGE_CONFIRMED_BY_OPERATOR;
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MESSAGE_DISPLAY_CANCELLED;
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MESSAGE_DISPLAY_CONFIRMED_CALL;
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MESSAGE_VIN_NOT_VALID;
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MESSAGE_TIMED_OUT;
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MESSAGE_LANGUAGES_NOT_SUPPORTED;
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MESSAGE_DISPLAY_FAILED;
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MESSAGE_AUTO_DELETE;
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MESSAGE_DELETE;
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MessageDispositionEnum_MIN;
const VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::MessageDispositionEnum_MAX;
const int VehicleMessageDispositionPublish::MessageDispositionEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
const ::google::protobuf::EnumDescriptor* VehicleMessageDispositionAck_DispositionResponseEnum_descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_enum_descriptors[4];
}
bool VehicleMessageDispositionAck_DispositionResponseEnum_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const VehicleMessageDispositionAck_DispositionResponseEnum VehicleMessageDispositionAck::SUCCESS;
const VehicleMessageDispositionAck_DispositionResponseEnum VehicleMessageDispositionAck::FAILURE;
const VehicleMessageDispositionAck_DispositionResponseEnum VehicleMessageDispositionAck::DispositionResponseEnum_MIN;
const VehicleMessageDispositionAck_DispositionResponseEnum VehicleMessageDispositionAck::DispositionResponseEnum_MAX;
const int VehicleMessageDispositionAck::DispositionResponseEnum_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int VehicleMessagePublish_LanguageString::kLanguageFieldNumber;
const int VehicleMessagePublish_LanguageString::kMessageTextFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

VehicleMessagePublish_LanguageString::VehicleMessagePublish_LanguageString()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
}
VehicleMessagePublish_LanguageString::VehicleMessagePublish_LanguageString(const VehicleMessagePublish_LanguageString& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  language_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.language().size() > 0) {
    language_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.language_);
  }
  messagetext_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.messagetext().size() > 0) {
    messagetext_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.messagetext_);
  }
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
}

void VehicleMessagePublish_LanguageString::SharedCtor() {
  language_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  messagetext_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  _cached_size_ = 0;
}

VehicleMessagePublish_LanguageString::~VehicleMessagePublish_LanguageString() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  SharedDtor();
}

void VehicleMessagePublish_LanguageString::SharedDtor() {
  language_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  messagetext_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void VehicleMessagePublish_LanguageString::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* VehicleMessagePublish_LanguageString::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const VehicleMessagePublish_LanguageString& VehicleMessagePublish_LanguageString::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::InitDefaults();
  return *internal_default_instance();
}

VehicleMessagePublish_LanguageString* VehicleMessagePublish_LanguageString::New(::google::protobuf::Arena* arena) const {
  VehicleMessagePublish_LanguageString* n = new VehicleMessagePublish_LanguageString;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void VehicleMessagePublish_LanguageString::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  language_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  messagetext_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

bool VehicleMessagePublish_LanguageString::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string language = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_language()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->language().data(), this->language().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string messageText = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_messagetext()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->messagetext().data(), this->messagetext().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  return false;
#undef DO_
}

void VehicleMessagePublish_LanguageString::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string language = 1;
  if (this->language().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->language().data(), this->language().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->language(), output);
  }

  // string messageText = 2;
  if (this->messagetext().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->messagetext().data(), this->messagetext().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->messagetext(), output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
}

::google::protobuf::uint8* VehicleMessagePublish_LanguageString::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string language = 1;
  if (this->language().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->language().data(), this->language().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->language(), target);
  }

  // string messageText = 2;
  if (this->messagetext().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->messagetext().data(), this->messagetext().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->messagetext(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  return target;
}

size_t VehicleMessagePublish_LanguageString::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  size_t total_size = 0;

  // string language = 1;
  if (this->language().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->language());
  }

  // string messageText = 2;
  if (this->messagetext().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->messagetext());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void VehicleMessagePublish_LanguageString::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  GOOGLE_DCHECK_NE(&from, this);
  const VehicleMessagePublish_LanguageString* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const VehicleMessagePublish_LanguageString>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
    MergeFrom(*source);
  }
}

void VehicleMessagePublish_LanguageString::MergeFrom(const VehicleMessagePublish_LanguageString& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.language().size() > 0) {

    language_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.language_);
  }
  if (from.messagetext().size() > 0) {

    messagetext_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.messagetext_);
  }
}

void VehicleMessagePublish_LanguageString::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void VehicleMessagePublish_LanguageString::CopyFrom(const VehicleMessagePublish_LanguageString& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.VehicleMessagePublish.LanguageString)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool VehicleMessagePublish_LanguageString::IsInitialized() const {
  return true;
}

void VehicleMessagePublish_LanguageString::Swap(VehicleMessagePublish_LanguageString* other) {
  if (other == this) return;
  InternalSwap(other);
}
void VehicleMessagePublish_LanguageString::InternalSwap(VehicleMessagePublish_LanguageString* other) {
  language_.Swap(&other->language_);
  messagetext_.Swap(&other->messagetext_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata VehicleMessagePublish_LanguageString::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// VehicleMessagePublish_LanguageString

// string language = 1;
void VehicleMessagePublish_LanguageString::clear_language() {
  language_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& VehicleMessagePublish_LanguageString::language() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language)
  return language_.GetNoArena();
}
void VehicleMessagePublish_LanguageString::set_language(const ::std::string& value) {
  
  language_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language)
}
#if LANG_CXX11
void VehicleMessagePublish_LanguageString::set_language(::std::string&& value) {
  
  language_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language)
}
#endif
void VehicleMessagePublish_LanguageString::set_language(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  
  language_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language)
}
void VehicleMessagePublish_LanguageString::set_language(const char* value, size_t size) {
  
  language_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language)
}
::std::string* VehicleMessagePublish_LanguageString::mutable_language() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language)
  return language_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* VehicleMessagePublish_LanguageString::release_language() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language)
  
  return language_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void VehicleMessagePublish_LanguageString::set_allocated_language(::std::string* language) {
  if (language != NULL) {
    
  } else {
    
  }
  language_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), language);
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.language)
}

// string messageText = 2;
void VehicleMessagePublish_LanguageString::clear_messagetext() {
  messagetext_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& VehicleMessagePublish_LanguageString::messagetext() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText)
  return messagetext_.GetNoArena();
}
void VehicleMessagePublish_LanguageString::set_messagetext(const ::std::string& value) {
  
  messagetext_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText)
}
#if LANG_CXX11
void VehicleMessagePublish_LanguageString::set_messagetext(::std::string&& value) {
  
  messagetext_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText)
}
#endif
void VehicleMessagePublish_LanguageString::set_messagetext(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  
  messagetext_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText)
}
void VehicleMessagePublish_LanguageString::set_messagetext(const char* value, size_t size) {
  
  messagetext_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText)
}
::std::string* VehicleMessagePublish_LanguageString::mutable_messagetext() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText)
  return messagetext_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* VehicleMessagePublish_LanguageString::release_messagetext() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText)
  
  return messagetext_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void VehicleMessagePublish_LanguageString::set_allocated_messagetext(::std::string* messagetext) {
  if (messagetext != NULL) {
    
  } else {
    
  }
  messagetext_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), messagetext);
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.VehicleMessagePublish.LanguageString.messageText)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

VehicleMessagePublish::VehicleMessagePublish_MessageParametersEntry::VehicleMessagePublish_MessageParametersEntry() {}
VehicleMessagePublish::VehicleMessagePublish_MessageParametersEntry::VehicleMessagePublish_MessageParametersEntry(::google::protobuf::Arena* arena) : SuperType(arena) {}
::google::protobuf::Metadata VehicleMessagePublish::VehicleMessagePublish_MessageParametersEntry::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[1];
}
void VehicleMessagePublish::VehicleMessagePublish_MessageParametersEntry::MergeFrom(
    const ::google::protobuf::Message& other) {
  ::google::protobuf::Message::MergeFrom(other);
}
void VehicleMessagePublish::VehicleMessagePublish_MessageParametersEntry::MergeFrom(const VehicleMessagePublish_MessageParametersEntry& other) {
  MergeFromInternal(other);
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int VehicleMessagePublish::kVehicleMessageIDFieldNumber;
const int VehicleMessagePublish::kVinFieldNumber;
const int VehicleMessagePublish::kMessageTypeFieldNumber;
const int VehicleMessagePublish::kMessageDetailTypeFieldNumber;
const int VehicleMessagePublish::kMessageTemplateFieldNumber;
const int VehicleMessagePublish::kMessageFieldNumber;
const int VehicleMessagePublish::kServiceMessageEventIDFieldNumber;
const int VehicleMessagePublish::kMessageParametersFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

VehicleMessagePublish::VehicleMessagePublish()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.VehicleMessagePublish)
}
VehicleMessagePublish::VehicleMessagePublish(const VehicleMessagePublish& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      message_(from.message_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  messageparameters_.MergeFrom(from.messageparameters_);
  vin_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.vin().size() > 0) {
    vin_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.vin_);
  }
  messagetemplate_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.messagetemplate().size() > 0) {
    messagetemplate_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.messagetemplate_);
  }
  servicemessageeventid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.servicemessageeventid().size() > 0) {
    servicemessageeventid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.servicemessageeventid_);
  }
  ::memcpy(&vehiclemessageid_, &from.vehiclemessageid_,
    reinterpret_cast<char*>(&messagedetailtype_) -
    reinterpret_cast<char*>(&vehiclemessageid_) + sizeof(messagedetailtype_));
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.VehicleMessagePublish)
}

void VehicleMessagePublish::SharedCtor() {
  vin_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  messagetemplate_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  servicemessageeventid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&vehiclemessageid_, 0, reinterpret_cast<char*>(&messagedetailtype_) -
    reinterpret_cast<char*>(&vehiclemessageid_) + sizeof(messagedetailtype_));
  _cached_size_ = 0;
}

VehicleMessagePublish::~VehicleMessagePublish() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.VehicleMessagePublish)
  SharedDtor();
}

void VehicleMessagePublish::SharedDtor() {
  vin_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  messagetemplate_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  servicemessageeventid_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void VehicleMessagePublish::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* VehicleMessagePublish::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const VehicleMessagePublish& VehicleMessagePublish::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::InitDefaults();
  return *internal_default_instance();
}

VehicleMessagePublish* VehicleMessagePublish::New(::google::protobuf::Arena* arena) const {
  VehicleMessagePublish* n = new VehicleMessagePublish;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void VehicleMessagePublish::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.VehicleMessagePublish)
  message_.Clear();
  messageparameters_.Clear();
  vin_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  messagetemplate_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  servicemessageeventid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&vehiclemessageid_, 0, reinterpret_cast<char*>(&messagedetailtype_) -
    reinterpret_cast<char*>(&vehiclemessageid_) + sizeof(messagedetailtype_));
}

bool VehicleMessagePublish::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.VehicleMessagePublish)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int32 vehicleMessageID = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &vehiclemessageid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string vin = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_vin()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->vin().data(), this->vin().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "com.fca.uconnect.global.VehicleMessagePublish.vin"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.VehicleMessagePublish.MessageType messageType = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_messagetype(static_cast< ::com::fca::uconnect::global::VehicleMessagePublish_MessageType >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string messageTemplate = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_messagetemplate()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->messagetemplate().data(), this->messagetemplate().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "com.fca.uconnect.global.VehicleMessagePublish.messageTemplate"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .com.fca.uconnect.global.VehicleMessagePublish.LanguageString message = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_message()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // map<string, string> messageParameters = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u)) {
          VehicleMessagePublish_MessageParametersEntry::Parser< ::google::protobuf::internal::MapField<
              VehicleMessagePublish_MessageParametersEntry,
              ::std::string, ::std::string,
              ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
              ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
              0 >,
            ::google::protobuf::Map< ::std::string, ::std::string > > parser(&messageparameters_);
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
              input, &parser));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            parser.key().data(), parser.key().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "com.fca.uconnect.global.VehicleMessagePublish.MessageParametersEntry.key"));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            parser.value().data(), parser.value().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "com.fca.uconnect.global.VehicleMessagePublish.MessageParametersEntry.value"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.VehicleMessagePublish.MessageDetailType messageDetailType = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(56u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_messagedetailtype(static_cast< ::com::fca::uconnect::global::VehicleMessagePublish_MessageDetailType >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string ServiceMessageEventID = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(66u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_servicemessageeventid()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->servicemessageeventid().data(), this->servicemessageeventid().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.VehicleMessagePublish)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.VehicleMessagePublish)
  return false;
#undef DO_
}

void VehicleMessagePublish::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.VehicleMessagePublish)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 vehicleMessageID = 1;
  if (this->vehiclemessageid() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->vehiclemessageid(), output);
  }

  // string vin = 2;
  if (this->vin().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->vin().data(), this->vin().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessagePublish.vin");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->vin(), output);
  }

  // .com.fca.uconnect.global.VehicleMessagePublish.MessageType messageType = 3;
  if (this->messagetype() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      3, this->messagetype(), output);
  }

  // string messageTemplate = 4;
  if (this->messagetemplate().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->messagetemplate().data(), this->messagetemplate().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessagePublish.messageTemplate");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->messagetemplate(), output);
  }

  // repeated .com.fca.uconnect.global.VehicleMessagePublish.LanguageString message = 5;
  for (unsigned int i = 0, n = this->message_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      5, this->message(i), output);
  }

  // map<string, string> messageParameters = 6;
  if (!this->messageparameters().empty()) {
    typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), p->first.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "com.fca.uconnect.global.VehicleMessagePublish.MessageParametersEntry.key");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), p->second.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "com.fca.uconnect.global.VehicleMessagePublish.MessageParametersEntry.value");
      }
    };

    if (output->IsSerializationDeterministic() &&
        this->messageparameters().size() > 1) {
      ::google::protobuf::scoped_array<SortItem> items(
          new SortItem[this->messageparameters().size()]);
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
      size_type n = 0;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->messageparameters().begin();
          it != this->messageparameters().end(); ++it, ++n) {
        items[n] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[n], Less());
      ::google::protobuf::scoped_ptr<VehicleMessagePublish_MessageParametersEntry> entry;
      for (size_type i = 0; i < n; i++) {
        entry.reset(messageparameters_.NewEntryWrapper(
            items[i]->first, items[i]->second));
        ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
            6, *entry, output);
        Utf8Check::Check(items[i]);
      }
    } else {
      ::google::protobuf::scoped_ptr<VehicleMessagePublish_MessageParametersEntry> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->messageparameters().begin();
          it != this->messageparameters().end(); ++it) {
        entry.reset(messageparameters_.NewEntryWrapper(
            it->first, it->second));
        ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
            6, *entry, output);
        Utf8Check::Check(&*it);
      }
    }
  }

  // .com.fca.uconnect.global.VehicleMessagePublish.MessageDetailType messageDetailType = 7;
  if (this->messagedetailtype() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      7, this->messagedetailtype(), output);
  }

  // string ServiceMessageEventID = 8;
  if (this->servicemessageeventid().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->servicemessageeventid().data(), this->servicemessageeventid().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      8, this->servicemessageeventid(), output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.VehicleMessagePublish)
}

::google::protobuf::uint8* VehicleMessagePublish::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.VehicleMessagePublish)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 vehicleMessageID = 1;
  if (this->vehiclemessageid() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->vehiclemessageid(), target);
  }

  // string vin = 2;
  if (this->vin().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->vin().data(), this->vin().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessagePublish.vin");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->vin(), target);
  }

  // .com.fca.uconnect.global.VehicleMessagePublish.MessageType messageType = 3;
  if (this->messagetype() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      3, this->messagetype(), target);
  }

  // string messageTemplate = 4;
  if (this->messagetemplate().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->messagetemplate().data(), this->messagetemplate().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessagePublish.messageTemplate");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        4, this->messagetemplate(), target);
  }

  // repeated .com.fca.uconnect.global.VehicleMessagePublish.LanguageString message = 5;
  for (unsigned int i = 0, n = this->message_size(); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        5, this->message(i), deterministic, target);
  }

  // map<string, string> messageParameters = 6;
  if (!this->messageparameters().empty()) {
    typedef ::google::protobuf::Map< ::std::string, ::std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::google::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), p->first.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "com.fca.uconnect.global.VehicleMessagePublish.MessageParametersEntry.key");
        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), p->second.length(),
          ::google::protobuf::internal::WireFormatLite::SERIALIZE,
          "com.fca.uconnect.global.VehicleMessagePublish.MessageParametersEntry.value");
      }
    };

    if (deterministic &&
        this->messageparameters().size() > 1) {
      ::google::protobuf::scoped_array<SortItem> items(
          new SortItem[this->messageparameters().size()]);
      typedef ::google::protobuf::Map< ::std::string, ::std::string >::size_type size_type;
      size_type n = 0;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->messageparameters().begin();
          it != this->messageparameters().end(); ++it, ++n) {
        items[n] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[n], Less());
      ::google::protobuf::scoped_ptr<VehicleMessagePublish_MessageParametersEntry> entry;
      for (size_type i = 0; i < n; i++) {
        entry.reset(messageparameters_.NewEntryWrapper(
            items[i]->first, items[i]->second));
        target = ::google::protobuf::internal::WireFormatLite::
                   InternalWriteMessageNoVirtualToArray(
                       6, *entry, deterministic, target);
;
        Utf8Check::Check(items[i]);
      }
    } else {
      ::google::protobuf::scoped_ptr<VehicleMessagePublish_MessageParametersEntry> entry;
      for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
          it = this->messageparameters().begin();
          it != this->messageparameters().end(); ++it) {
        entry.reset(messageparameters_.NewEntryWrapper(
            it->first, it->second));
        target = ::google::protobuf::internal::WireFormatLite::
                   InternalWriteMessageNoVirtualToArray(
                       6, *entry, deterministic, target);
;
        Utf8Check::Check(&*it);
      }
    }
  }

  // .com.fca.uconnect.global.VehicleMessagePublish.MessageDetailType messageDetailType = 7;
  if (this->messagedetailtype() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      7, this->messagedetailtype(), target);
  }

  // string ServiceMessageEventID = 8;
  if (this->servicemessageeventid().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->servicemessageeventid().data(), this->servicemessageeventid().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        8, this->servicemessageeventid(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.VehicleMessagePublish)
  return target;
}

size_t VehicleMessagePublish::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.VehicleMessagePublish)
  size_t total_size = 0;

  // repeated .com.fca.uconnect.global.VehicleMessagePublish.LanguageString message = 5;
  {
    unsigned int count = this->message_size();
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->message(i));
    }
  }

  // map<string, string> messageParameters = 6;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->messageparameters_size());
  {
    ::google::protobuf::scoped_ptr<VehicleMessagePublish_MessageParametersEntry> entry;
    for (::google::protobuf::Map< ::std::string, ::std::string >::const_iterator
        it = this->messageparameters().begin();
        it != this->messageparameters().end(); ++it) {
      entry.reset(messageparameters_.NewEntryWrapper(it->first, it->second));
      total_size += ::google::protobuf::internal::WireFormatLite::
          MessageSizeNoVirtual(*entry);
    }
  }

  // string vin = 2;
  if (this->vin().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->vin());
  }

  // string messageTemplate = 4;
  if (this->messagetemplate().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->messagetemplate());
  }

  // string ServiceMessageEventID = 8;
  if (this->servicemessageeventid().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->servicemessageeventid());
  }

  // int32 vehicleMessageID = 1;
  if (this->vehiclemessageid() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->vehiclemessageid());
  }

  // .com.fca.uconnect.global.VehicleMessagePublish.MessageType messageType = 3;
  if (this->messagetype() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->messagetype());
  }

  // .com.fca.uconnect.global.VehicleMessagePublish.MessageDetailType messageDetailType = 7;
  if (this->messagedetailtype() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->messagedetailtype());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void VehicleMessagePublish::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.VehicleMessagePublish)
  GOOGLE_DCHECK_NE(&from, this);
  const VehicleMessagePublish* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const VehicleMessagePublish>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.VehicleMessagePublish)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.VehicleMessagePublish)
    MergeFrom(*source);
  }
}

void VehicleMessagePublish::MergeFrom(const VehicleMessagePublish& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.VehicleMessagePublish)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  message_.MergeFrom(from.message_);
  messageparameters_.MergeFrom(from.messageparameters_);
  if (from.vin().size() > 0) {

    vin_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.vin_);
  }
  if (from.messagetemplate().size() > 0) {

    messagetemplate_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.messagetemplate_);
  }
  if (from.servicemessageeventid().size() > 0) {

    servicemessageeventid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.servicemessageeventid_);
  }
  if (from.vehiclemessageid() != 0) {
    set_vehiclemessageid(from.vehiclemessageid());
  }
  if (from.messagetype() != 0) {
    set_messagetype(from.messagetype());
  }
  if (from.messagedetailtype() != 0) {
    set_messagedetailtype(from.messagedetailtype());
  }
}

void VehicleMessagePublish::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.VehicleMessagePublish)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void VehicleMessagePublish::CopyFrom(const VehicleMessagePublish& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.VehicleMessagePublish)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool VehicleMessagePublish::IsInitialized() const {
  return true;
}

void VehicleMessagePublish::Swap(VehicleMessagePublish* other) {
  if (other == this) return;
  InternalSwap(other);
}
void VehicleMessagePublish::InternalSwap(VehicleMessagePublish* other) {
  message_.InternalSwap(&other->message_);
  messageparameters_.Swap(&other->messageparameters_);
  vin_.Swap(&other->vin_);
  messagetemplate_.Swap(&other->messagetemplate_);
  servicemessageeventid_.Swap(&other->servicemessageeventid_);
  std::swap(vehiclemessageid_, other->vehiclemessageid_);
  std::swap(messagetype_, other->messagetype_);
  std::swap(messagedetailtype_, other->messagedetailtype_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata VehicleMessagePublish::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// VehicleMessagePublish

// int32 vehicleMessageID = 1;
void VehicleMessagePublish::clear_vehiclemessageid() {
  vehiclemessageid_ = 0;
}
::google::protobuf::int32 VehicleMessagePublish::vehiclemessageid() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessagePublish.vehicleMessageID)
  return vehiclemessageid_;
}
void VehicleMessagePublish::set_vehiclemessageid(::google::protobuf::int32 value) {
  
  vehiclemessageid_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessagePublish.vehicleMessageID)
}

// string vin = 2;
void VehicleMessagePublish::clear_vin() {
  vin_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& VehicleMessagePublish::vin() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessagePublish.vin)
  return vin_.GetNoArena();
}
void VehicleMessagePublish::set_vin(const ::std::string& value) {
  
  vin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessagePublish.vin)
}
#if LANG_CXX11
void VehicleMessagePublish::set_vin(::std::string&& value) {
  
  vin_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.VehicleMessagePublish.vin)
}
#endif
void VehicleMessagePublish::set_vin(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  
  vin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.fca.uconnect.global.VehicleMessagePublish.vin)
}
void VehicleMessagePublish::set_vin(const char* value, size_t size) {
  
  vin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.fca.uconnect.global.VehicleMessagePublish.vin)
}
::std::string* VehicleMessagePublish::mutable_vin() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.VehicleMessagePublish.vin)
  return vin_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* VehicleMessagePublish::release_vin() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.VehicleMessagePublish.vin)
  
  return vin_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void VehicleMessagePublish::set_allocated_vin(::std::string* vin) {
  if (vin != NULL) {
    
  } else {
    
  }
  vin_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), vin);
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.VehicleMessagePublish.vin)
}

// .com.fca.uconnect.global.VehicleMessagePublish.MessageType messageType = 3;
void VehicleMessagePublish::clear_messagetype() {
  messagetype_ = 0;
}
::com::fca::uconnect::global::VehicleMessagePublish_MessageType VehicleMessagePublish::messagetype() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessagePublish.messageType)
  return static_cast< ::com::fca::uconnect::global::VehicleMessagePublish_MessageType >(messagetype_);
}
void VehicleMessagePublish::set_messagetype(::com::fca::uconnect::global::VehicleMessagePublish_MessageType value) {
  
  messagetype_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessagePublish.messageType)
}

// .com.fca.uconnect.global.VehicleMessagePublish.MessageDetailType messageDetailType = 7;
void VehicleMessagePublish::clear_messagedetailtype() {
  messagedetailtype_ = 0;
}
::com::fca::uconnect::global::VehicleMessagePublish_MessageDetailType VehicleMessagePublish::messagedetailtype() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessagePublish.messageDetailType)
  return static_cast< ::com::fca::uconnect::global::VehicleMessagePublish_MessageDetailType >(messagedetailtype_);
}
void VehicleMessagePublish::set_messagedetailtype(::com::fca::uconnect::global::VehicleMessagePublish_MessageDetailType value) {
  
  messagedetailtype_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessagePublish.messageDetailType)
}

// string messageTemplate = 4;
void VehicleMessagePublish::clear_messagetemplate() {
  messagetemplate_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& VehicleMessagePublish::messagetemplate() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessagePublish.messageTemplate)
  return messagetemplate_.GetNoArena();
}
void VehicleMessagePublish::set_messagetemplate(const ::std::string& value) {
  
  messagetemplate_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessagePublish.messageTemplate)
}
#if LANG_CXX11
void VehicleMessagePublish::set_messagetemplate(::std::string&& value) {
  
  messagetemplate_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.VehicleMessagePublish.messageTemplate)
}
#endif
void VehicleMessagePublish::set_messagetemplate(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  
  messagetemplate_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.fca.uconnect.global.VehicleMessagePublish.messageTemplate)
}
void VehicleMessagePublish::set_messagetemplate(const char* value, size_t size) {
  
  messagetemplate_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.fca.uconnect.global.VehicleMessagePublish.messageTemplate)
}
::std::string* VehicleMessagePublish::mutable_messagetemplate() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.VehicleMessagePublish.messageTemplate)
  return messagetemplate_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* VehicleMessagePublish::release_messagetemplate() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.VehicleMessagePublish.messageTemplate)
  
  return messagetemplate_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void VehicleMessagePublish::set_allocated_messagetemplate(::std::string* messagetemplate) {
  if (messagetemplate != NULL) {
    
  } else {
    
  }
  messagetemplate_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), messagetemplate);
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.VehicleMessagePublish.messageTemplate)
}

// repeated .com.fca.uconnect.global.VehicleMessagePublish.LanguageString message = 5;
int VehicleMessagePublish::message_size() const {
  return message_.size();
}
void VehicleMessagePublish::clear_message() {
  message_.Clear();
}
const ::com::fca::uconnect::global::VehicleMessagePublish_LanguageString& VehicleMessagePublish::message(int index) const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessagePublish.message)
  return message_.Get(index);
}
::com::fca::uconnect::global::VehicleMessagePublish_LanguageString* VehicleMessagePublish::mutable_message(int index) {
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.VehicleMessagePublish.message)
  return message_.Mutable(index);
}
::com::fca::uconnect::global::VehicleMessagePublish_LanguageString* VehicleMessagePublish::add_message() {
  // @@protoc_insertion_point(field_add:com.fca.uconnect.global.VehicleMessagePublish.message)
  return message_.Add();
}
::google::protobuf::RepeatedPtrField< ::com::fca::uconnect::global::VehicleMessagePublish_LanguageString >*
VehicleMessagePublish::mutable_message() {
  // @@protoc_insertion_point(field_mutable_list:com.fca.uconnect.global.VehicleMessagePublish.message)
  return &message_;
}
const ::google::protobuf::RepeatedPtrField< ::com::fca::uconnect::global::VehicleMessagePublish_LanguageString >&
VehicleMessagePublish::message() const {
  // @@protoc_insertion_point(field_list:com.fca.uconnect.global.VehicleMessagePublish.message)
  return message_;
}

// string ServiceMessageEventID = 8;
void VehicleMessagePublish::clear_servicemessageeventid() {
  servicemessageeventid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& VehicleMessagePublish::servicemessageeventid() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID)
  return servicemessageeventid_.GetNoArena();
}
void VehicleMessagePublish::set_servicemessageeventid(const ::std::string& value) {
  
  servicemessageeventid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID)
}
#if LANG_CXX11
void VehicleMessagePublish::set_servicemessageeventid(::std::string&& value) {
  
  servicemessageeventid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID)
}
#endif
void VehicleMessagePublish::set_servicemessageeventid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  
  servicemessageeventid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID)
}
void VehicleMessagePublish::set_servicemessageeventid(const char* value, size_t size) {
  
  servicemessageeventid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID)
}
::std::string* VehicleMessagePublish::mutable_servicemessageeventid() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID)
  return servicemessageeventid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* VehicleMessagePublish::release_servicemessageeventid() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID)
  
  return servicemessageeventid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void VehicleMessagePublish::set_allocated_servicemessageeventid(::std::string* servicemessageeventid) {
  if (servicemessageeventid != NULL) {
    
  } else {
    
  }
  servicemessageeventid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), servicemessageeventid);
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.VehicleMessagePublish.ServiceMessageEventID)
}

// map<string, string> messageParameters = 6;
int VehicleMessagePublish::messageparameters_size() const {
  return messageparameters_.size();
}
void VehicleMessagePublish::clear_messageparameters() {
  messageparameters_.Clear();
}
 const ::google::protobuf::Map< ::std::string, ::std::string >&
VehicleMessagePublish::messageparameters() const {
  // @@protoc_insertion_point(field_map:com.fca.uconnect.global.VehicleMessagePublish.messageParameters)
  return messageparameters_.GetMap();
}
 ::google::protobuf::Map< ::std::string, ::std::string >*
VehicleMessagePublish::mutable_messageparameters() {
  // @@protoc_insertion_point(field_mutable_map:com.fca.uconnect.global.VehicleMessagePublish.messageParameters)
  return messageparameters_.MutableMap();
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int VehicleMessageAck::kVehicleMessageIDFieldNumber;
const int VehicleMessageAck::kMessageReceiptTimestampFieldNumber;
const int VehicleMessageAck::kStatusFieldNumber;
const int VehicleMessageAck::kFailureDiagnosticFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

VehicleMessageAck::VehicleMessageAck()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.VehicleMessageAck)
}
VehicleMessageAck::VehicleMessageAck(const VehicleMessageAck& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  failurediagnostic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.failurediagnostic().size() > 0) {
    failurediagnostic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.failurediagnostic_);
  }
  ::memcpy(&messagereceipttimestamp_, &from.messagereceipttimestamp_,
    reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&messagereceipttimestamp_) + sizeof(status_));
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.VehicleMessageAck)
}

void VehicleMessageAck::SharedCtor() {
  failurediagnostic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&messagereceipttimestamp_, 0, reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&messagereceipttimestamp_) + sizeof(status_));
  _cached_size_ = 0;
}

VehicleMessageAck::~VehicleMessageAck() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.VehicleMessageAck)
  SharedDtor();
}

void VehicleMessageAck::SharedDtor() {
  failurediagnostic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void VehicleMessageAck::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* VehicleMessageAck::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const VehicleMessageAck& VehicleMessageAck::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::InitDefaults();
  return *internal_default_instance();
}

VehicleMessageAck* VehicleMessageAck::New(::google::protobuf::Arena* arena) const {
  VehicleMessageAck* n = new VehicleMessageAck;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void VehicleMessageAck::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.VehicleMessageAck)
  failurediagnostic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&messagereceipttimestamp_, 0, reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&messagereceipttimestamp_) + sizeof(status_));
}

bool VehicleMessageAck::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.VehicleMessageAck)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int32 vehicleMessageID = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &vehiclemessageid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 messageReceiptTimestamp = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &messagereceipttimestamp_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.VehicleMessageAck.ResponseEnum status = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_status(static_cast< ::com::fca::uconnect::global::VehicleMessageAck_ResponseEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string failureDiagnostic = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_failurediagnostic()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->failurediagnostic().data(), this->failurediagnostic().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.VehicleMessageAck)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.VehicleMessageAck)
  return false;
#undef DO_
}

void VehicleMessageAck::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.VehicleMessageAck)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 vehicleMessageID = 1;
  if (this->vehiclemessageid() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->vehiclemessageid(), output);
  }

  // int64 messageReceiptTimestamp = 2;
  if (this->messagereceipttimestamp() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->messagereceipttimestamp(), output);
  }

  // .com.fca.uconnect.global.VehicleMessageAck.ResponseEnum status = 3;
  if (this->status() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      3, this->status(), output);
  }

  // string failureDiagnostic = 4;
  if (this->failurediagnostic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->failurediagnostic().data(), this->failurediagnostic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->failurediagnostic(), output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.VehicleMessageAck)
}

::google::protobuf::uint8* VehicleMessageAck::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.VehicleMessageAck)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 vehicleMessageID = 1;
  if (this->vehiclemessageid() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->vehiclemessageid(), target);
  }

  // int64 messageReceiptTimestamp = 2;
  if (this->messagereceipttimestamp() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(2, this->messagereceipttimestamp(), target);
  }

  // .com.fca.uconnect.global.VehicleMessageAck.ResponseEnum status = 3;
  if (this->status() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      3, this->status(), target);
  }

  // string failureDiagnostic = 4;
  if (this->failurediagnostic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->failurediagnostic().data(), this->failurediagnostic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        4, this->failurediagnostic(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.VehicleMessageAck)
  return target;
}

size_t VehicleMessageAck::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.VehicleMessageAck)
  size_t total_size = 0;

  // string failureDiagnostic = 4;
  if (this->failurediagnostic().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->failurediagnostic());
  }

  // int64 messageReceiptTimestamp = 2;
  if (this->messagereceipttimestamp() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->messagereceipttimestamp());
  }

  // int32 vehicleMessageID = 1;
  if (this->vehiclemessageid() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->vehiclemessageid());
  }

  // .com.fca.uconnect.global.VehicleMessageAck.ResponseEnum status = 3;
  if (this->status() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->status());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void VehicleMessageAck::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.VehicleMessageAck)
  GOOGLE_DCHECK_NE(&from, this);
  const VehicleMessageAck* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const VehicleMessageAck>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.VehicleMessageAck)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.VehicleMessageAck)
    MergeFrom(*source);
  }
}

void VehicleMessageAck::MergeFrom(const VehicleMessageAck& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.VehicleMessageAck)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.failurediagnostic().size() > 0) {

    failurediagnostic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.failurediagnostic_);
  }
  if (from.messagereceipttimestamp() != 0) {
    set_messagereceipttimestamp(from.messagereceipttimestamp());
  }
  if (from.vehiclemessageid() != 0) {
    set_vehiclemessageid(from.vehiclemessageid());
  }
  if (from.status() != 0) {
    set_status(from.status());
  }
}

void VehicleMessageAck::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.VehicleMessageAck)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void VehicleMessageAck::CopyFrom(const VehicleMessageAck& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.VehicleMessageAck)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool VehicleMessageAck::IsInitialized() const {
  return true;
}

void VehicleMessageAck::Swap(VehicleMessageAck* other) {
  if (other == this) return;
  InternalSwap(other);
}
void VehicleMessageAck::InternalSwap(VehicleMessageAck* other) {
  failurediagnostic_.Swap(&other->failurediagnostic_);
  std::swap(messagereceipttimestamp_, other->messagereceipttimestamp_);
  std::swap(vehiclemessageid_, other->vehiclemessageid_);
  std::swap(status_, other->status_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata VehicleMessageAck::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// VehicleMessageAck

// int32 vehicleMessageID = 1;
void VehicleMessageAck::clear_vehiclemessageid() {
  vehiclemessageid_ = 0;
}
::google::protobuf::int32 VehicleMessageAck::vehiclemessageid() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessageAck.vehicleMessageID)
  return vehiclemessageid_;
}
void VehicleMessageAck::set_vehiclemessageid(::google::protobuf::int32 value) {
  
  vehiclemessageid_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessageAck.vehicleMessageID)
}

// int64 messageReceiptTimestamp = 2;
void VehicleMessageAck::clear_messagereceipttimestamp() {
  messagereceipttimestamp_ = GOOGLE_LONGLONG(0);
}
::google::protobuf::int64 VehicleMessageAck::messagereceipttimestamp() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessageAck.messageReceiptTimestamp)
  return messagereceipttimestamp_;
}
void VehicleMessageAck::set_messagereceipttimestamp(::google::protobuf::int64 value) {
  
  messagereceipttimestamp_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessageAck.messageReceiptTimestamp)
}

// .com.fca.uconnect.global.VehicleMessageAck.ResponseEnum status = 3;
void VehicleMessageAck::clear_status() {
  status_ = 0;
}
::com::fca::uconnect::global::VehicleMessageAck_ResponseEnum VehicleMessageAck::status() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessageAck.status)
  return static_cast< ::com::fca::uconnect::global::VehicleMessageAck_ResponseEnum >(status_);
}
void VehicleMessageAck::set_status(::com::fca::uconnect::global::VehicleMessageAck_ResponseEnum value) {
  
  status_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessageAck.status)
}

// string failureDiagnostic = 4;
void VehicleMessageAck::clear_failurediagnostic() {
  failurediagnostic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& VehicleMessageAck::failurediagnostic() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic)
  return failurediagnostic_.GetNoArena();
}
void VehicleMessageAck::set_failurediagnostic(const ::std::string& value) {
  
  failurediagnostic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic)
}
#if LANG_CXX11
void VehicleMessageAck::set_failurediagnostic(::std::string&& value) {
  
  failurediagnostic_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic)
}
#endif
void VehicleMessageAck::set_failurediagnostic(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  
  failurediagnostic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic)
}
void VehicleMessageAck::set_failurediagnostic(const char* value, size_t size) {
  
  failurediagnostic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic)
}
::std::string* VehicleMessageAck::mutable_failurediagnostic() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic)
  return failurediagnostic_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* VehicleMessageAck::release_failurediagnostic() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic)
  
  return failurediagnostic_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void VehicleMessageAck::set_allocated_failurediagnostic(::std::string* failurediagnostic) {
  if (failurediagnostic != NULL) {
    
  } else {
    
  }
  failurediagnostic_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), failurediagnostic);
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.VehicleMessageAck.failureDiagnostic)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int VehicleMessageDispositionPublish::kVehicleMessageIDFieldNumber;
const int VehicleMessageDispositionPublish::kMessageDisplayTimestampFieldNumber;
const int VehicleMessageDispositionPublish::kMessageHMIDispositionEventTimestampFieldNumber;
const int VehicleMessageDispositionPublish::kDispositionFieldNumber;
const int VehicleMessageDispositionPublish::kFailureDiagnosticFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

VehicleMessageDispositionPublish::VehicleMessageDispositionPublish()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.VehicleMessageDispositionPublish)
}
VehicleMessageDispositionPublish::VehicleMessageDispositionPublish(const VehicleMessageDispositionPublish& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  failurediagnostic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.failurediagnostic().size() > 0) {
    failurediagnostic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.failurediagnostic_);
  }
  ::memcpy(&messagedisplaytimestamp_, &from.messagedisplaytimestamp_,
    reinterpret_cast<char*>(&messagehmidispositioneventtimestamp_) -
    reinterpret_cast<char*>(&messagedisplaytimestamp_) + sizeof(messagehmidispositioneventtimestamp_));
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.VehicleMessageDispositionPublish)
}

void VehicleMessageDispositionPublish::SharedCtor() {
  failurediagnostic_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&messagedisplaytimestamp_, 0, reinterpret_cast<char*>(&messagehmidispositioneventtimestamp_) -
    reinterpret_cast<char*>(&messagedisplaytimestamp_) + sizeof(messagehmidispositioneventtimestamp_));
  _cached_size_ = 0;
}

VehicleMessageDispositionPublish::~VehicleMessageDispositionPublish() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  SharedDtor();
}

void VehicleMessageDispositionPublish::SharedDtor() {
  failurediagnostic_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void VehicleMessageDispositionPublish::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* VehicleMessageDispositionPublish::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const VehicleMessageDispositionPublish& VehicleMessageDispositionPublish::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::InitDefaults();
  return *internal_default_instance();
}

VehicleMessageDispositionPublish* VehicleMessageDispositionPublish::New(::google::protobuf::Arena* arena) const {
  VehicleMessageDispositionPublish* n = new VehicleMessageDispositionPublish;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void VehicleMessageDispositionPublish::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  failurediagnostic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&messagedisplaytimestamp_, 0, reinterpret_cast<char*>(&messagehmidispositioneventtimestamp_) -
    reinterpret_cast<char*>(&messagedisplaytimestamp_) + sizeof(messagehmidispositioneventtimestamp_));
}

bool VehicleMessageDispositionPublish::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // int32 vehicleMessageID = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &vehiclemessageid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 messageDisplayTimestamp = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &messagedisplaytimestamp_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // int64 messageHMIDispositionEventTimestamp = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u)) {

          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &messagehmidispositioneventtimestamp_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .com.fca.uconnect.global.VehicleMessageDispositionPublish.MessageDispositionEnum disposition = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_disposition(static_cast< ::com::fca::uconnect::global::VehicleMessageDispositionPublish_MessageDispositionEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // string failureDiagnostic = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_failurediagnostic()));
          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
            this->failurediagnostic().data(), this->failurediagnostic().length(),
            ::google::protobuf::internal::WireFormatLite::PARSE,
            "com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  return false;
#undef DO_
}

void VehicleMessageDispositionPublish::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 vehicleMessageID = 1;
  if (this->vehiclemessageid() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->vehiclemessageid(), output);
  }

  // int64 messageDisplayTimestamp = 2;
  if (this->messagedisplaytimestamp() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->messagedisplaytimestamp(), output);
  }

  // int64 messageHMIDispositionEventTimestamp = 3;
  if (this->messagehmidispositioneventtimestamp() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(3, this->messagehmidispositioneventtimestamp(), output);
  }

  // .com.fca.uconnect.global.VehicleMessageDispositionPublish.MessageDispositionEnum disposition = 4;
  if (this->disposition() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      4, this->disposition(), output);
  }

  // string failureDiagnostic = 5;
  if (this->failurediagnostic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->failurediagnostic().data(), this->failurediagnostic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      5, this->failurediagnostic(), output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.VehicleMessageDispositionPublish)
}

::google::protobuf::uint8* VehicleMessageDispositionPublish::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 vehicleMessageID = 1;
  if (this->vehiclemessageid() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->vehiclemessageid(), target);
  }

  // int64 messageDisplayTimestamp = 2;
  if (this->messagedisplaytimestamp() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(2, this->messagedisplaytimestamp(), target);
  }

  // int64 messageHMIDispositionEventTimestamp = 3;
  if (this->messagehmidispositioneventtimestamp() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(3, this->messagehmidispositioneventtimestamp(), target);
  }

  // .com.fca.uconnect.global.VehicleMessageDispositionPublish.MessageDispositionEnum disposition = 4;
  if (this->disposition() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      4, this->disposition(), target);
  }

  // string failureDiagnostic = 5;
  if (this->failurediagnostic().size() > 0) {
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->failurediagnostic().data(), this->failurediagnostic().length(),
      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
      "com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        5, this->failurediagnostic(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  return target;
}

size_t VehicleMessageDispositionPublish::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  size_t total_size = 0;

  // string failureDiagnostic = 5;
  if (this->failurediagnostic().size() > 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->failurediagnostic());
  }

  // int64 messageDisplayTimestamp = 2;
  if (this->messagedisplaytimestamp() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->messagedisplaytimestamp());
  }

  // int32 vehicleMessageID = 1;
  if (this->vehiclemessageid() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->vehiclemessageid());
  }

  // .com.fca.uconnect.global.VehicleMessageDispositionPublish.MessageDispositionEnum disposition = 4;
  if (this->disposition() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->disposition());
  }

  // int64 messageHMIDispositionEventTimestamp = 3;
  if (this->messagehmidispositioneventtimestamp() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->messagehmidispositioneventtimestamp());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void VehicleMessageDispositionPublish::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  GOOGLE_DCHECK_NE(&from, this);
  const VehicleMessageDispositionPublish* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const VehicleMessageDispositionPublish>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.VehicleMessageDispositionPublish)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.VehicleMessageDispositionPublish)
    MergeFrom(*source);
  }
}

void VehicleMessageDispositionPublish::MergeFrom(const VehicleMessageDispositionPublish& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.failurediagnostic().size() > 0) {

    failurediagnostic_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.failurediagnostic_);
  }
  if (from.messagedisplaytimestamp() != 0) {
    set_messagedisplaytimestamp(from.messagedisplaytimestamp());
  }
  if (from.vehiclemessageid() != 0) {
    set_vehiclemessageid(from.vehiclemessageid());
  }
  if (from.disposition() != 0) {
    set_disposition(from.disposition());
  }
  if (from.messagehmidispositioneventtimestamp() != 0) {
    set_messagehmidispositioneventtimestamp(from.messagehmidispositioneventtimestamp());
  }
}

void VehicleMessageDispositionPublish::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void VehicleMessageDispositionPublish::CopyFrom(const VehicleMessageDispositionPublish& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.VehicleMessageDispositionPublish)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool VehicleMessageDispositionPublish::IsInitialized() const {
  return true;
}

void VehicleMessageDispositionPublish::Swap(VehicleMessageDispositionPublish* other) {
  if (other == this) return;
  InternalSwap(other);
}
void VehicleMessageDispositionPublish::InternalSwap(VehicleMessageDispositionPublish* other) {
  failurediagnostic_.Swap(&other->failurediagnostic_);
  std::swap(messagedisplaytimestamp_, other->messagedisplaytimestamp_);
  std::swap(vehiclemessageid_, other->vehiclemessageid_);
  std::swap(disposition_, other->disposition_);
  std::swap(messagehmidispositioneventtimestamp_, other->messagehmidispositioneventtimestamp_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata VehicleMessageDispositionPublish::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// VehicleMessageDispositionPublish

// int32 vehicleMessageID = 1;
void VehicleMessageDispositionPublish::clear_vehiclemessageid() {
  vehiclemessageid_ = 0;
}
::google::protobuf::int32 VehicleMessageDispositionPublish::vehiclemessageid() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessageDispositionPublish.vehicleMessageID)
  return vehiclemessageid_;
}
void VehicleMessageDispositionPublish::set_vehiclemessageid(::google::protobuf::int32 value) {
  
  vehiclemessageid_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessageDispositionPublish.vehicleMessageID)
}

// int64 messageDisplayTimestamp = 2;
void VehicleMessageDispositionPublish::clear_messagedisplaytimestamp() {
  messagedisplaytimestamp_ = GOOGLE_LONGLONG(0);
}
::google::protobuf::int64 VehicleMessageDispositionPublish::messagedisplaytimestamp() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessageDispositionPublish.messageDisplayTimestamp)
  return messagedisplaytimestamp_;
}
void VehicleMessageDispositionPublish::set_messagedisplaytimestamp(::google::protobuf::int64 value) {
  
  messagedisplaytimestamp_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessageDispositionPublish.messageDisplayTimestamp)
}

// int64 messageHMIDispositionEventTimestamp = 3;
void VehicleMessageDispositionPublish::clear_messagehmidispositioneventtimestamp() {
  messagehmidispositioneventtimestamp_ = GOOGLE_LONGLONG(0);
}
::google::protobuf::int64 VehicleMessageDispositionPublish::messagehmidispositioneventtimestamp() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessageDispositionPublish.messageHMIDispositionEventTimestamp)
  return messagehmidispositioneventtimestamp_;
}
void VehicleMessageDispositionPublish::set_messagehmidispositioneventtimestamp(::google::protobuf::int64 value) {
  
  messagehmidispositioneventtimestamp_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessageDispositionPublish.messageHMIDispositionEventTimestamp)
}

// .com.fca.uconnect.global.VehicleMessageDispositionPublish.MessageDispositionEnum disposition = 4;
void VehicleMessageDispositionPublish::clear_disposition() {
  disposition_ = 0;
}
::com::fca::uconnect::global::VehicleMessageDispositionPublish_MessageDispositionEnum VehicleMessageDispositionPublish::disposition() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessageDispositionPublish.disposition)
  return static_cast< ::com::fca::uconnect::global::VehicleMessageDispositionPublish_MessageDispositionEnum >(disposition_);
}
void VehicleMessageDispositionPublish::set_disposition(::com::fca::uconnect::global::VehicleMessageDispositionPublish_MessageDispositionEnum value) {
  
  disposition_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessageDispositionPublish.disposition)
}

// string failureDiagnostic = 5;
void VehicleMessageDispositionPublish::clear_failurediagnostic() {
  failurediagnostic_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
const ::std::string& VehicleMessageDispositionPublish::failurediagnostic() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic)
  return failurediagnostic_.GetNoArena();
}
void VehicleMessageDispositionPublish::set_failurediagnostic(const ::std::string& value) {
  
  failurediagnostic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic)
}
#if LANG_CXX11
void VehicleMessageDispositionPublish::set_failurediagnostic(::std::string&& value) {
  
  failurediagnostic_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic)
}
#endif
void VehicleMessageDispositionPublish::set_failurediagnostic(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  
  failurediagnostic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic)
}
void VehicleMessageDispositionPublish::set_failurediagnostic(const char* value, size_t size) {
  
  failurediagnostic_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic)
}
::std::string* VehicleMessageDispositionPublish::mutable_failurediagnostic() {
  
  // @@protoc_insertion_point(field_mutable:com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic)
  return failurediagnostic_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* VehicleMessageDispositionPublish::release_failurediagnostic() {
  // @@protoc_insertion_point(field_release:com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic)
  
  return failurediagnostic_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void VehicleMessageDispositionPublish::set_allocated_failurediagnostic(::std::string* failurediagnostic) {
  if (failurediagnostic != NULL) {
    
  } else {
    
  }
  failurediagnostic_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), failurediagnostic);
  // @@protoc_insertion_point(field_set_allocated:com.fca.uconnect.global.VehicleMessageDispositionPublish.failureDiagnostic)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int VehicleMessageDispositionAck::kResponseFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

VehicleMessageDispositionAck::VehicleMessageDispositionAck()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.fca.uconnect.global.VehicleMessageDispositionAck)
}
VehicleMessageDispositionAck::VehicleMessageDispositionAck(const VehicleMessageDispositionAck& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  response_ = from.response_;
  // @@protoc_insertion_point(copy_constructor:com.fca.uconnect.global.VehicleMessageDispositionAck)
}

void VehicleMessageDispositionAck::SharedCtor() {
  response_ = 0;
  _cached_size_ = 0;
}

VehicleMessageDispositionAck::~VehicleMessageDispositionAck() {
  // @@protoc_insertion_point(destructor:com.fca.uconnect.global.VehicleMessageDispositionAck)
  SharedDtor();
}

void VehicleMessageDispositionAck::SharedDtor() {
}

void VehicleMessageDispositionAck::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* VehicleMessageDispositionAck::descriptor() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const VehicleMessageDispositionAck& VehicleMessageDispositionAck::default_instance() {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::InitDefaults();
  return *internal_default_instance();
}

VehicleMessageDispositionAck* VehicleMessageDispositionAck::New(::google::protobuf::Arena* arena) const {
  VehicleMessageDispositionAck* n = new VehicleMessageDispositionAck;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void VehicleMessageDispositionAck::Clear() {
// @@protoc_insertion_point(message_clear_start:com.fca.uconnect.global.VehicleMessageDispositionAck)
  response_ = 0;
}

bool VehicleMessageDispositionAck::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.fca.uconnect.global.VehicleMessageDispositionAck)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .com.fca.uconnect.global.VehicleMessageDispositionAck.DispositionResponseEnum response = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_response(static_cast< ::com::fca::uconnect::global::VehicleMessageDispositionAck_DispositionResponseEnum >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.fca.uconnect.global.VehicleMessageDispositionAck)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.fca.uconnect.global.VehicleMessageDispositionAck)
  return false;
#undef DO_
}

void VehicleMessageDispositionAck::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.fca.uconnect.global.VehicleMessageDispositionAck)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.VehicleMessageDispositionAck.DispositionResponseEnum response = 1;
  if (this->response() != 0) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->response(), output);
  }

  // @@protoc_insertion_point(serialize_end:com.fca.uconnect.global.VehicleMessageDispositionAck)
}

::google::protobuf::uint8* VehicleMessageDispositionAck::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.fca.uconnect.global.VehicleMessageDispositionAck)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .com.fca.uconnect.global.VehicleMessageDispositionAck.DispositionResponseEnum response = 1;
  if (this->response() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      1, this->response(), target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:com.fca.uconnect.global.VehicleMessageDispositionAck)
  return target;
}

size_t VehicleMessageDispositionAck::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.fca.uconnect.global.VehicleMessageDispositionAck)
  size_t total_size = 0;

  // .com.fca.uconnect.global.VehicleMessageDispositionAck.DispositionResponseEnum response = 1;
  if (this->response() != 0) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->response());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void VehicleMessageDispositionAck::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.fca.uconnect.global.VehicleMessageDispositionAck)
  GOOGLE_DCHECK_NE(&from, this);
  const VehicleMessageDispositionAck* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const VehicleMessageDispositionAck>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.fca.uconnect.global.VehicleMessageDispositionAck)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.fca.uconnect.global.VehicleMessageDispositionAck)
    MergeFrom(*source);
  }
}

void VehicleMessageDispositionAck::MergeFrom(const VehicleMessageDispositionAck& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.fca.uconnect.global.VehicleMessageDispositionAck)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.response() != 0) {
    set_response(from.response());
  }
}

void VehicleMessageDispositionAck::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.fca.uconnect.global.VehicleMessageDispositionAck)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void VehicleMessageDispositionAck::CopyFrom(const VehicleMessageDispositionAck& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.fca.uconnect.global.VehicleMessageDispositionAck)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool VehicleMessageDispositionAck::IsInitialized() const {
  return true;
}

void VehicleMessageDispositionAck::Swap(VehicleMessageDispositionAck* other) {
  if (other == this) return;
  InternalSwap(other);
}
void VehicleMessageDispositionAck::InternalSwap(VehicleMessageDispositionAck* other) {
  std::swap(response_, other->response_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata VehicleMessageDispositionAck::GetMetadata() const {
  protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_Global_5fUconnect_5fExt_5fVehicleMessaging_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// VehicleMessageDispositionAck

// .com.fca.uconnect.global.VehicleMessageDispositionAck.DispositionResponseEnum response = 1;
void VehicleMessageDispositionAck::clear_response() {
  response_ = 0;
}
::com::fca::uconnect::global::VehicleMessageDispositionAck_DispositionResponseEnum VehicleMessageDispositionAck::response() const {
  // @@protoc_insertion_point(field_get:com.fca.uconnect.global.VehicleMessageDispositionAck.response)
  return static_cast< ::com::fca::uconnect::global::VehicleMessageDispositionAck_DispositionResponseEnum >(response_);
}
void VehicleMessageDispositionAck::set_response(::com::fca::uconnect::global::VehicleMessageDispositionAck_DispositionResponseEnum value) {
  
  response_ = value;
  // @@protoc_insertion_point(field_set:com.fca.uconnect.global.VehicleMessageDispositionAck.response)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// @@protoc_insertion_point(namespace_scope)

}  // namespace global
}  // namespace uconnect
}  // namespace fca
}  // namespace com

// @@protoc_insertion_point(global_scope)
