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

#include "sdf.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.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)
#include <google/protobuf/port_def.inc>

PROTOBUF_PRAGMA_INIT_SEG

namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;

namespace SDF {
PROTOBUF_CONSTEXPR ADF_EventTimeInfo::ADF_EventTimeInfo(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.starttime_)*/uint64_t{0u}
  , /*decltype(_impl_.endtime_)*/uint64_t{0u}
  , /*decltype(_impl_.starttimeconfidence_)*/0
  , /*decltype(_impl_.endtimeconfidence_)*/0
  , /*decltype(_impl_.updatetime_)*/uint64_t{0u}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ADF_EventTimeInfoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ADF_EventTimeInfoDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ADF_EventTimeInfoDefaultTypeInternal() {}
  union {
    ADF_EventTimeInfo _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ADF_EventTimeInfoDefaultTypeInternal _ADF_EventTimeInfo_default_instance_;
PROTOBUF_CONSTEXPR ADF_EventInfoSource::ADF_EventInfoSource(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.sourceterminalid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.sourcevehicleid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.sourceroadsideid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.sourceproviderid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.sourceuserid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.sourcetype_)*/uint64_t{0u}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ADF_EventInfoSourceDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ADF_EventInfoSourceDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ADF_EventInfoSourceDefaultTypeInternal() {}
  union {
    ADF_EventInfoSource _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ADF_EventInfoSourceDefaultTypeInternal _ADF_EventInfoSource_default_instance_;
PROTOBUF_CONSTEXPR ADF_TrafficLightPhaseStage::ADF_TrafficLightPhaseStage(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.switchingtime_)*/uint64_t{0u}
  , /*decltype(_impl_.lightcolor_)*/0
  , /*decltype(_impl_.nextcolor_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct ADF_TrafficLightPhaseStageDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ADF_TrafficLightPhaseStageDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ADF_TrafficLightPhaseStageDefaultTypeInternal() {}
  union {
    ADF_TrafficLightPhaseStage _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ADF_TrafficLightPhaseStageDefaultTypeInternal _ADF_TrafficLightPhaseStage_default_instance_;
PROTOBUF_CONSTEXPR EDF_TrafficLightRealTimeInfo::EDF_TrafficLightRealTimeInfo(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.eventid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.trafficlightid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.lightbulbid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.timeinfo_)*/nullptr
  , /*decltype(_impl_.phasestage_)*/nullptr
  , /*decltype(_impl_.eventinfosource_)*/nullptr
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct EDF_TrafficLightRealTimeInfoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR EDF_TrafficLightRealTimeInfoDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~EDF_TrafficLightRealTimeInfoDefaultTypeInternal() {}
  union {
    EDF_TrafficLightRealTimeInfo _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EDF_TrafficLightRealTimeInfoDefaultTypeInternal _EDF_TrafficLightRealTimeInfo_default_instance_;
PROTOBUF_CONSTEXPR TrafficLightLayer::TrafficLightLayer(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.trafficlightrealtimeinfolayer_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TrafficLightLayerDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TrafficLightLayerDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TrafficLightLayerDefaultTypeInternal() {}
  union {
    TrafficLightLayer _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TrafficLightLayerDefaultTypeInternal _TrafficLightLayer_default_instance_;
PROTOBUF_CONSTEXPR RequestSequence::RequestSequence(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.listofrequest_)*/{}
  , /*decltype(_impl_.requestid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct RequestSequenceDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RequestSequenceDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~RequestSequenceDefaultTypeInternal() {}
  union {
    RequestSequence _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RequestSequenceDefaultTypeInternal _RequestSequence_default_instance_;
PROTOBUF_CONSTEXPR TrafficLightLayerResponse::TrafficLightLayerResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.requestsequence_)*/nullptr
  , /*decltype(_impl_.errorcode_)*/0
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TrafficLightLayerResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TrafficLightLayerResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~TrafficLightLayerResponseDefaultTypeInternal() {}
  union {
    TrafficLightLayerResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TrafficLightLayerResponseDefaultTypeInternal _TrafficLightLayerResponse_default_instance_;
}  // namespace SDF
static ::_pb::Metadata file_level_metadata_sdf_2eproto[7];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_sdf_2eproto[1];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_sdf_2eproto = nullptr;

const uint32_t TableStruct_sdf_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventTimeInfo, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventTimeInfo, _impl_.starttime_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventTimeInfo, _impl_.endtime_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventTimeInfo, _impl_.starttimeconfidence_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventTimeInfo, _impl_.endtimeconfidence_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventTimeInfo, _impl_.updatetime_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventInfoSource, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventInfoSource, _impl_.sourcetype_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventInfoSource, _impl_.sourceterminalid_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventInfoSource, _impl_.sourcevehicleid_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventInfoSource, _impl_.sourceroadsideid_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventInfoSource, _impl_.sourceproviderid_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_EventInfoSource, _impl_.sourceuserid_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_TrafficLightPhaseStage, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_TrafficLightPhaseStage, _impl_.lightcolor_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_TrafficLightPhaseStage, _impl_.switchingtime_),
  PROTOBUF_FIELD_OFFSET(::SDF::ADF_TrafficLightPhaseStage, _impl_.nextcolor_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::SDF::EDF_TrafficLightRealTimeInfo, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::SDF::EDF_TrafficLightRealTimeInfo, _impl_.eventid_),
  PROTOBUF_FIELD_OFFSET(::SDF::EDF_TrafficLightRealTimeInfo, _impl_.trafficlightid_),
  PROTOBUF_FIELD_OFFSET(::SDF::EDF_TrafficLightRealTimeInfo, _impl_.lightbulbid_),
  PROTOBUF_FIELD_OFFSET(::SDF::EDF_TrafficLightRealTimeInfo, _impl_.timeinfo_),
  PROTOBUF_FIELD_OFFSET(::SDF::EDF_TrafficLightRealTimeInfo, _impl_.phasestage_),
  PROTOBUF_FIELD_OFFSET(::SDF::EDF_TrafficLightRealTimeInfo, _impl_.eventinfosource_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::SDF::TrafficLightLayer, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::SDF::TrafficLightLayer, _impl_.trafficlightrealtimeinfolayer_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::SDF::RequestSequence, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::SDF::RequestSequence, _impl_.requestid_),
  PROTOBUF_FIELD_OFFSET(::SDF::RequestSequence, _impl_.listofrequest_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::SDF::TrafficLightLayerResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::SDF::TrafficLightLayerResponse, _impl_.errorcode_),
  PROTOBUF_FIELD_OFFSET(::SDF::TrafficLightLayerResponse, _impl_.requestsequence_),
};
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, -1, sizeof(::SDF::ADF_EventTimeInfo)},
  { 11, -1, -1, sizeof(::SDF::ADF_EventInfoSource)},
  { 23, -1, -1, sizeof(::SDF::ADF_TrafficLightPhaseStage)},
  { 32, -1, -1, sizeof(::SDF::EDF_TrafficLightRealTimeInfo)},
  { 44, -1, -1, sizeof(::SDF::TrafficLightLayer)},
  { 51, -1, -1, sizeof(::SDF::RequestSequence)},
  { 59, -1, -1, sizeof(::SDF::TrafficLightLayerResponse)},
};

static const ::_pb::Message* const file_default_instances[] = {
  &::SDF::_ADF_EventTimeInfo_default_instance_._instance,
  &::SDF::_ADF_EventInfoSource_default_instance_._instance,
  &::SDF::_ADF_TrafficLightPhaseStage_default_instance_._instance,
  &::SDF::_EDF_TrafficLightRealTimeInfo_default_instance_._instance,
  &::SDF::_TrafficLightLayer_default_instance_._instance,
  &::SDF::_RequestSequence_default_instance_._instance,
  &::SDF::_TrafficLightLayerResponse_default_instance_._instance,
};

const char descriptor_table_protodef_sdf_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\tsdf.proto\022\003SDF\"\203\001\n\021ADF_EventTimeInfo\022\021"
  "\n\tstartTime\030\001 \001(\004\022\017\n\007endTime\030\002 \001(\004\022\033\n\023st"
  "artTimeConfidence\030\003 \001(\002\022\031\n\021endTimeConfid"
  "ence\030\004 \001(\002\022\022\n\nupdateTime\030\005 \001(\004\"\246\001\n\023ADF_E"
  "ventInfoSource\022\022\n\nsourceType\030\001 \001(\004\022\030\n\020so"
  "urceTerminalID\030\002 \001(\t\022\027\n\017sourceVehicleID\030"
  "\003 \001(\t\022\030\n\020sourceRoadSideID\030\004 \001(\t\022\030\n\020sourc"
  "eProviderID\030\005 \001(\t\022\024\n\014sourceUserID\030\006 \001(\t\""
  "\314\002\n\032ADF_TrafficLightPhaseStage\022I\n\nlightC"
  "olor\030\001 \001(\01625.SDF.ADF_TrafficLightPhaseSt"
  "age.TrafficLightColorType\022\025\n\rswitchingTi"
  "me\030\002 \001(\004\022H\n\tnextColor\030\003 \001(\01625.SDF.ADF_Tr"
  "afficLightPhaseStage.TrafficLightColorTy"
  "pe\"\201\001\n\025TrafficLightColorType\022\013\n\007UNKNOWN\020"
  "\000\022\t\n\005BLACK\020\001\022\007\n\003RED\020\002\022\r\n\tRED_FLASH\020\003\022\n\n\006"
  "YELLOW\020\004\022\020\n\014YELLOW_FLASH\020\005\022\t\n\005GREEN\020\006\022\017\n"
  "\013GREEN_FLASH\020\007\"\356\001\n\034EDF_TrafficLightRealT"
  "imeInfo\022\017\n\007eventID\030\001 \001(\t\022\026\n\016trafficLight"
  "ID\030\002 \001(\t\022\023\n\013lightBulbID\030\003 \001(\t\022(\n\010timeInf"
  "o\030\004 \001(\0132\026.SDF.ADF_EventTimeInfo\0223\n\nphase"
  "Stage\030\005 \001(\0132\037.SDF.ADF_TrafficLightPhaseS"
  "tage\0221\n\017eventInfoSource\030\006 \001(\0132\030.SDF.ADF_"
  "EventInfoSource\"]\n\021TrafficLightLayer\022H\n\035"
  "trafficLightRealTimeInfoLayer\030\001 \003(\0132!.SD"
  "F.EDF_TrafficLightRealTimeInfo\"^\n\017Reques"
  "tSequence\022\021\n\trequestID\030\001 \001(\t\0228\n\rlistOfRe"
  "quest\030\002 \003(\0132!.SDF.EDF_TrafficLightRealTi"
  "meInfo\"]\n\031TrafficLightLayerResponse\022\021\n\te"
  "rrorCode\030\001 \001(\005\022-\n\017requestSequence\030\002 \001(\0132"
  "\024.SDF.RequestSequenceb\006proto3"
  ;
static ::_pbi::once_flag descriptor_table_sdf_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_sdf_2eproto = {
    false, false, 1189, descriptor_table_protodef_sdf_2eproto,
    "sdf.proto",
    &descriptor_table_sdf_2eproto_once, nullptr, 0, 7,
    schemas, file_default_instances, TableStruct_sdf_2eproto::offsets,
    file_level_metadata_sdf_2eproto, file_level_enum_descriptors_sdf_2eproto,
    file_level_service_descriptors_sdf_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_sdf_2eproto_getter() {
  return &descriptor_table_sdf_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_sdf_2eproto(&descriptor_table_sdf_2eproto);
namespace SDF {
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ADF_TrafficLightPhaseStage_TrafficLightColorType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sdf_2eproto);
  return file_level_enum_descriptors_sdf_2eproto[0];
}
bool ADF_TrafficLightPhaseStage_TrafficLightColorType_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 (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
constexpr ADF_TrafficLightPhaseStage_TrafficLightColorType ADF_TrafficLightPhaseStage::UNKNOWN;
constexpr ADF_TrafficLightPhaseStage_TrafficLightColorType ADF_TrafficLightPhaseStage::BLACK;
constexpr ADF_TrafficLightPhaseStage_TrafficLightColorType ADF_TrafficLightPhaseStage::RED;
constexpr ADF_TrafficLightPhaseStage_TrafficLightColorType ADF_TrafficLightPhaseStage::RED_FLASH;
constexpr ADF_TrafficLightPhaseStage_TrafficLightColorType ADF_TrafficLightPhaseStage::YELLOW;
constexpr ADF_TrafficLightPhaseStage_TrafficLightColorType ADF_TrafficLightPhaseStage::YELLOW_FLASH;
constexpr ADF_TrafficLightPhaseStage_TrafficLightColorType ADF_TrafficLightPhaseStage::GREEN;
constexpr ADF_TrafficLightPhaseStage_TrafficLightColorType ADF_TrafficLightPhaseStage::GREEN_FLASH;
constexpr ADF_TrafficLightPhaseStage_TrafficLightColorType ADF_TrafficLightPhaseStage::TrafficLightColorType_MIN;
constexpr ADF_TrafficLightPhaseStage_TrafficLightColorType ADF_TrafficLightPhaseStage::TrafficLightColorType_MAX;
constexpr int ADF_TrafficLightPhaseStage::TrafficLightColorType_ARRAYSIZE;
#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

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

class ADF_EventTimeInfo::_Internal {
 public:
};

ADF_EventTimeInfo::ADF_EventTimeInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:SDF.ADF_EventTimeInfo)
}
ADF_EventTimeInfo::ADF_EventTimeInfo(const ADF_EventTimeInfo& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ADF_EventTimeInfo* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.starttime_){}
    , decltype(_impl_.endtime_){}
    , decltype(_impl_.starttimeconfidence_){}
    , decltype(_impl_.endtimeconfidence_){}
    , decltype(_impl_.updatetime_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.starttime_, &from._impl_.starttime_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.updatetime_) -
    reinterpret_cast<char*>(&_impl_.starttime_)) + sizeof(_impl_.updatetime_));
  // @@protoc_insertion_point(copy_constructor:SDF.ADF_EventTimeInfo)
}

inline void ADF_EventTimeInfo::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.starttime_){uint64_t{0u}}
    , decltype(_impl_.endtime_){uint64_t{0u}}
    , decltype(_impl_.starttimeconfidence_){0}
    , decltype(_impl_.endtimeconfidence_){0}
    , decltype(_impl_.updatetime_){uint64_t{0u}}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ADF_EventTimeInfo::~ADF_EventTimeInfo() {
  // @@protoc_insertion_point(destructor:SDF.ADF_EventTimeInfo)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ADF_EventTimeInfo::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void ADF_EventTimeInfo::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ADF_EventTimeInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:SDF.ADF_EventTimeInfo)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.starttime_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.updatetime_) -
      reinterpret_cast<char*>(&_impl_.starttime_)) + sizeof(_impl_.updatetime_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ADF_EventTimeInfo::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // uint64 startTime = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.starttime_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // uint64 endTime = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.endtime_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // float startTimeConfidence = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 29)) {
          _impl_.starttimeconfidence_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // float endTimeConfidence = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 37)) {
          _impl_.endtimeconfidence_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // uint64 updateTime = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _impl_.updatetime_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ADF_EventTimeInfo::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:SDF.ADF_EventTimeInfo)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // uint64 startTime = 1;
  if (this->_internal_starttime() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_starttime(), target);
  }

  // uint64 endTime = 2;
  if (this->_internal_endtime() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(2, this->_internal_endtime(), target);
  }

  // float startTimeConfidence = 3;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_starttimeconfidence = this->_internal_starttimeconfidence();
  uint32_t raw_starttimeconfidence;
  memcpy(&raw_starttimeconfidence, &tmp_starttimeconfidence, sizeof(tmp_starttimeconfidence));
  if (raw_starttimeconfidence != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(3, this->_internal_starttimeconfidence(), target);
  }

  // float endTimeConfidence = 4;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_endtimeconfidence = this->_internal_endtimeconfidence();
  uint32_t raw_endtimeconfidence;
  memcpy(&raw_endtimeconfidence, &tmp_endtimeconfidence, sizeof(tmp_endtimeconfidence));
  if (raw_endtimeconfidence != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(4, this->_internal_endtimeconfidence(), target);
  }

  // uint64 updateTime = 5;
  if (this->_internal_updatetime() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(5, this->_internal_updatetime(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:SDF.ADF_EventTimeInfo)
  return target;
}

size_t ADF_EventTimeInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:SDF.ADF_EventTimeInfo)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 startTime = 1;
  if (this->_internal_starttime() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_starttime());
  }

  // uint64 endTime = 2;
  if (this->_internal_endtime() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_endtime());
  }

  // float startTimeConfidence = 3;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_starttimeconfidence = this->_internal_starttimeconfidence();
  uint32_t raw_starttimeconfidence;
  memcpy(&raw_starttimeconfidence, &tmp_starttimeconfidence, sizeof(tmp_starttimeconfidence));
  if (raw_starttimeconfidence != 0) {
    total_size += 1 + 4;
  }

  // float endTimeConfidence = 4;
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_endtimeconfidence = this->_internal_endtimeconfidence();
  uint32_t raw_endtimeconfidence;
  memcpy(&raw_endtimeconfidence, &tmp_endtimeconfidence, sizeof(tmp_endtimeconfidence));
  if (raw_endtimeconfidence != 0) {
    total_size += 1 + 4;
  }

  // uint64 updateTime = 5;
  if (this->_internal_updatetime() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_updatetime());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ADF_EventTimeInfo::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ADF_EventTimeInfo::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ADF_EventTimeInfo::GetClassData() const { return &_class_data_; }


void ADF_EventTimeInfo::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ADF_EventTimeInfo*>(&to_msg);
  auto& from = static_cast<const ADF_EventTimeInfo&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:SDF.ADF_EventTimeInfo)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_starttime() != 0) {
    _this->_internal_set_starttime(from._internal_starttime());
  }
  if (from._internal_endtime() != 0) {
    _this->_internal_set_endtime(from._internal_endtime());
  }
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_starttimeconfidence = from._internal_starttimeconfidence();
  uint32_t raw_starttimeconfidence;
  memcpy(&raw_starttimeconfidence, &tmp_starttimeconfidence, sizeof(tmp_starttimeconfidence));
  if (raw_starttimeconfidence != 0) {
    _this->_internal_set_starttimeconfidence(from._internal_starttimeconfidence());
  }
  static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size.");
  float tmp_endtimeconfidence = from._internal_endtimeconfidence();
  uint32_t raw_endtimeconfidence;
  memcpy(&raw_endtimeconfidence, &tmp_endtimeconfidence, sizeof(tmp_endtimeconfidence));
  if (raw_endtimeconfidence != 0) {
    _this->_internal_set_endtimeconfidence(from._internal_endtimeconfidence());
  }
  if (from._internal_updatetime() != 0) {
    _this->_internal_set_updatetime(from._internal_updatetime());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void ADF_EventTimeInfo::CopyFrom(const ADF_EventTimeInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:SDF.ADF_EventTimeInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void ADF_EventTimeInfo::InternalSwap(ADF_EventTimeInfo* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ADF_EventTimeInfo, _impl_.updatetime_)
      + sizeof(ADF_EventTimeInfo::_impl_.updatetime_)
      - PROTOBUF_FIELD_OFFSET(ADF_EventTimeInfo, _impl_.starttime_)>(
          reinterpret_cast<char*>(&_impl_.starttime_),
          reinterpret_cast<char*>(&other->_impl_.starttime_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ADF_EventTimeInfo::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_sdf_2eproto_getter, &descriptor_table_sdf_2eproto_once,
      file_level_metadata_sdf_2eproto[0]);
}

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

class ADF_EventInfoSource::_Internal {
 public:
};

ADF_EventInfoSource::ADF_EventInfoSource(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:SDF.ADF_EventInfoSource)
}
ADF_EventInfoSource::ADF_EventInfoSource(const ADF_EventInfoSource& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ADF_EventInfoSource* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.sourceterminalid_){}
    , decltype(_impl_.sourcevehicleid_){}
    , decltype(_impl_.sourceroadsideid_){}
    , decltype(_impl_.sourceproviderid_){}
    , decltype(_impl_.sourceuserid_){}
    , decltype(_impl_.sourcetype_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.sourceterminalid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sourceterminalid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_sourceterminalid().empty()) {
    _this->_impl_.sourceterminalid_.Set(from._internal_sourceterminalid(), 
      _this->GetArenaForAllocation());
  }
  _impl_.sourcevehicleid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sourcevehicleid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_sourcevehicleid().empty()) {
    _this->_impl_.sourcevehicleid_.Set(from._internal_sourcevehicleid(), 
      _this->GetArenaForAllocation());
  }
  _impl_.sourceroadsideid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sourceroadsideid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_sourceroadsideid().empty()) {
    _this->_impl_.sourceroadsideid_.Set(from._internal_sourceroadsideid(), 
      _this->GetArenaForAllocation());
  }
  _impl_.sourceproviderid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sourceproviderid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_sourceproviderid().empty()) {
    _this->_impl_.sourceproviderid_.Set(from._internal_sourceproviderid(), 
      _this->GetArenaForAllocation());
  }
  _impl_.sourceuserid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sourceuserid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_sourceuserid().empty()) {
    _this->_impl_.sourceuserid_.Set(from._internal_sourceuserid(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.sourcetype_ = from._impl_.sourcetype_;
  // @@protoc_insertion_point(copy_constructor:SDF.ADF_EventInfoSource)
}

inline void ADF_EventInfoSource::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.sourceterminalid_){}
    , decltype(_impl_.sourcevehicleid_){}
    , decltype(_impl_.sourceroadsideid_){}
    , decltype(_impl_.sourceproviderid_){}
    , decltype(_impl_.sourceuserid_){}
    , decltype(_impl_.sourcetype_){uint64_t{0u}}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.sourceterminalid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sourceterminalid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.sourcevehicleid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sourcevehicleid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.sourceroadsideid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sourceroadsideid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.sourceproviderid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sourceproviderid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.sourceuserid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.sourceuserid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

ADF_EventInfoSource::~ADF_EventInfoSource() {
  // @@protoc_insertion_point(destructor:SDF.ADF_EventInfoSource)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ADF_EventInfoSource::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.sourceterminalid_.Destroy();
  _impl_.sourcevehicleid_.Destroy();
  _impl_.sourceroadsideid_.Destroy();
  _impl_.sourceproviderid_.Destroy();
  _impl_.sourceuserid_.Destroy();
}

void ADF_EventInfoSource::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ADF_EventInfoSource::Clear() {
// @@protoc_insertion_point(message_clear_start:SDF.ADF_EventInfoSource)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.sourceterminalid_.ClearToEmpty();
  _impl_.sourcevehicleid_.ClearToEmpty();
  _impl_.sourceroadsideid_.ClearToEmpty();
  _impl_.sourceproviderid_.ClearToEmpty();
  _impl_.sourceuserid_.ClearToEmpty();
  _impl_.sourcetype_ = uint64_t{0u};
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ADF_EventInfoSource::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // uint64 sourceType = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.sourcetype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string sourceTerminalID = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_sourceterminalid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "SDF.ADF_EventInfoSource.sourceTerminalID"));
        } else
          goto handle_unusual;
        continue;
      // string sourceVehicleID = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_sourcevehicleid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "SDF.ADF_EventInfoSource.sourceVehicleID"));
        } else
          goto handle_unusual;
        continue;
      // string sourceRoadSideID = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_sourceroadsideid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "SDF.ADF_EventInfoSource.sourceRoadSideID"));
        } else
          goto handle_unusual;
        continue;
      // string sourceProviderID = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          auto str = _internal_mutable_sourceproviderid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "SDF.ADF_EventInfoSource.sourceProviderID"));
        } else
          goto handle_unusual;
        continue;
      // string sourceUserID = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_sourceuserid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "SDF.ADF_EventInfoSource.sourceUserID"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ADF_EventInfoSource::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:SDF.ADF_EventInfoSource)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // uint64 sourceType = 1;
  if (this->_internal_sourcetype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_sourcetype(), target);
  }

  // string sourceTerminalID = 2;
  if (!this->_internal_sourceterminalid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_sourceterminalid().data(), static_cast<int>(this->_internal_sourceterminalid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "SDF.ADF_EventInfoSource.sourceTerminalID");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_sourceterminalid(), target);
  }

  // string sourceVehicleID = 3;
  if (!this->_internal_sourcevehicleid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_sourcevehicleid().data(), static_cast<int>(this->_internal_sourcevehicleid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "SDF.ADF_EventInfoSource.sourceVehicleID");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_sourcevehicleid(), target);
  }

  // string sourceRoadSideID = 4;
  if (!this->_internal_sourceroadsideid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_sourceroadsideid().data(), static_cast<int>(this->_internal_sourceroadsideid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "SDF.ADF_EventInfoSource.sourceRoadSideID");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_sourceroadsideid(), target);
  }

  // string sourceProviderID = 5;
  if (!this->_internal_sourceproviderid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_sourceproviderid().data(), static_cast<int>(this->_internal_sourceproviderid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "SDF.ADF_EventInfoSource.sourceProviderID");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_sourceproviderid(), target);
  }

  // string sourceUserID = 6;
  if (!this->_internal_sourceuserid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_sourceuserid().data(), static_cast<int>(this->_internal_sourceuserid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "SDF.ADF_EventInfoSource.sourceUserID");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_sourceuserid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:SDF.ADF_EventInfoSource)
  return target;
}

size_t ADF_EventInfoSource::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:SDF.ADF_EventInfoSource)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string sourceTerminalID = 2;
  if (!this->_internal_sourceterminalid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_sourceterminalid());
  }

  // string sourceVehicleID = 3;
  if (!this->_internal_sourcevehicleid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_sourcevehicleid());
  }

  // string sourceRoadSideID = 4;
  if (!this->_internal_sourceroadsideid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_sourceroadsideid());
  }

  // string sourceProviderID = 5;
  if (!this->_internal_sourceproviderid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_sourceproviderid());
  }

  // string sourceUserID = 6;
  if (!this->_internal_sourceuserid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_sourceuserid());
  }

  // uint64 sourceType = 1;
  if (this->_internal_sourcetype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_sourcetype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ADF_EventInfoSource::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ADF_EventInfoSource::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ADF_EventInfoSource::GetClassData() const { return &_class_data_; }


void ADF_EventInfoSource::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ADF_EventInfoSource*>(&to_msg);
  auto& from = static_cast<const ADF_EventInfoSource&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:SDF.ADF_EventInfoSource)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_sourceterminalid().empty()) {
    _this->_internal_set_sourceterminalid(from._internal_sourceterminalid());
  }
  if (!from._internal_sourcevehicleid().empty()) {
    _this->_internal_set_sourcevehicleid(from._internal_sourcevehicleid());
  }
  if (!from._internal_sourceroadsideid().empty()) {
    _this->_internal_set_sourceroadsideid(from._internal_sourceroadsideid());
  }
  if (!from._internal_sourceproviderid().empty()) {
    _this->_internal_set_sourceproviderid(from._internal_sourceproviderid());
  }
  if (!from._internal_sourceuserid().empty()) {
    _this->_internal_set_sourceuserid(from._internal_sourceuserid());
  }
  if (from._internal_sourcetype() != 0) {
    _this->_internal_set_sourcetype(from._internal_sourcetype());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void ADF_EventInfoSource::CopyFrom(const ADF_EventInfoSource& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:SDF.ADF_EventInfoSource)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void ADF_EventInfoSource::InternalSwap(ADF_EventInfoSource* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.sourceterminalid_, lhs_arena,
      &other->_impl_.sourceterminalid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.sourcevehicleid_, lhs_arena,
      &other->_impl_.sourcevehicleid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.sourceroadsideid_, lhs_arena,
      &other->_impl_.sourceroadsideid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.sourceproviderid_, lhs_arena,
      &other->_impl_.sourceproviderid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.sourceuserid_, lhs_arena,
      &other->_impl_.sourceuserid_, rhs_arena
  );
  swap(_impl_.sourcetype_, other->_impl_.sourcetype_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ADF_EventInfoSource::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_sdf_2eproto_getter, &descriptor_table_sdf_2eproto_once,
      file_level_metadata_sdf_2eproto[1]);
}

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

class ADF_TrafficLightPhaseStage::_Internal {
 public:
};

ADF_TrafficLightPhaseStage::ADF_TrafficLightPhaseStage(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:SDF.ADF_TrafficLightPhaseStage)
}
ADF_TrafficLightPhaseStage::ADF_TrafficLightPhaseStage(const ADF_TrafficLightPhaseStage& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  ADF_TrafficLightPhaseStage* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.switchingtime_){}
    , decltype(_impl_.lightcolor_){}
    , decltype(_impl_.nextcolor_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.switchingtime_, &from._impl_.switchingtime_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.nextcolor_) -
    reinterpret_cast<char*>(&_impl_.switchingtime_)) + sizeof(_impl_.nextcolor_));
  // @@protoc_insertion_point(copy_constructor:SDF.ADF_TrafficLightPhaseStage)
}

inline void ADF_TrafficLightPhaseStage::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.switchingtime_){uint64_t{0u}}
    , decltype(_impl_.lightcolor_){0}
    , decltype(_impl_.nextcolor_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

ADF_TrafficLightPhaseStage::~ADF_TrafficLightPhaseStage() {
  // @@protoc_insertion_point(destructor:SDF.ADF_TrafficLightPhaseStage)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ADF_TrafficLightPhaseStage::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void ADF_TrafficLightPhaseStage::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void ADF_TrafficLightPhaseStage::Clear() {
// @@protoc_insertion_point(message_clear_start:SDF.ADF_TrafficLightPhaseStage)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.switchingtime_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&_impl_.nextcolor_) -
      reinterpret_cast<char*>(&_impl_.switchingtime_)) + sizeof(_impl_.nextcolor_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ADF_TrafficLightPhaseStage::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .SDF.ADF_TrafficLightPhaseStage.TrafficLightColorType lightColor = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_lightcolor(static_cast<::SDF::ADF_TrafficLightPhaseStage_TrafficLightColorType>(val));
        } else
          goto handle_unusual;
        continue;
      // uint64 switchingTime = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _impl_.switchingtime_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .SDF.ADF_TrafficLightPhaseStage.TrafficLightColorType nextColor = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_nextcolor(static_cast<::SDF::ADF_TrafficLightPhaseStage_TrafficLightColorType>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* ADF_TrafficLightPhaseStage::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:SDF.ADF_TrafficLightPhaseStage)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .SDF.ADF_TrafficLightPhaseStage.TrafficLightColorType lightColor = 1;
  if (this->_internal_lightcolor() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_lightcolor(), target);
  }

  // uint64 switchingTime = 2;
  if (this->_internal_switchingtime() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(2, this->_internal_switchingtime(), target);
  }

  // .SDF.ADF_TrafficLightPhaseStage.TrafficLightColorType nextColor = 3;
  if (this->_internal_nextcolor() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      3, this->_internal_nextcolor(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:SDF.ADF_TrafficLightPhaseStage)
  return target;
}

size_t ADF_TrafficLightPhaseStage::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:SDF.ADF_TrafficLightPhaseStage)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 switchingTime = 2;
  if (this->_internal_switchingtime() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_switchingtime());
  }

  // .SDF.ADF_TrafficLightPhaseStage.TrafficLightColorType lightColor = 1;
  if (this->_internal_lightcolor() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_lightcolor());
  }

  // .SDF.ADF_TrafficLightPhaseStage.TrafficLightColorType nextColor = 3;
  if (this->_internal_nextcolor() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_nextcolor());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ADF_TrafficLightPhaseStage::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    ADF_TrafficLightPhaseStage::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ADF_TrafficLightPhaseStage::GetClassData() const { return &_class_data_; }


void ADF_TrafficLightPhaseStage::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<ADF_TrafficLightPhaseStage*>(&to_msg);
  auto& from = static_cast<const ADF_TrafficLightPhaseStage&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:SDF.ADF_TrafficLightPhaseStage)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_switchingtime() != 0) {
    _this->_internal_set_switchingtime(from._internal_switchingtime());
  }
  if (from._internal_lightcolor() != 0) {
    _this->_internal_set_lightcolor(from._internal_lightcolor());
  }
  if (from._internal_nextcolor() != 0) {
    _this->_internal_set_nextcolor(from._internal_nextcolor());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void ADF_TrafficLightPhaseStage::CopyFrom(const ADF_TrafficLightPhaseStage& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:SDF.ADF_TrafficLightPhaseStage)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void ADF_TrafficLightPhaseStage::InternalSwap(ADF_TrafficLightPhaseStage* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ADF_TrafficLightPhaseStage, _impl_.nextcolor_)
      + sizeof(ADF_TrafficLightPhaseStage::_impl_.nextcolor_)
      - PROTOBUF_FIELD_OFFSET(ADF_TrafficLightPhaseStage, _impl_.switchingtime_)>(
          reinterpret_cast<char*>(&_impl_.switchingtime_),
          reinterpret_cast<char*>(&other->_impl_.switchingtime_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ADF_TrafficLightPhaseStage::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_sdf_2eproto_getter, &descriptor_table_sdf_2eproto_once,
      file_level_metadata_sdf_2eproto[2]);
}

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

class EDF_TrafficLightRealTimeInfo::_Internal {
 public:
  static const ::SDF::ADF_EventTimeInfo& timeinfo(const EDF_TrafficLightRealTimeInfo* msg);
  static const ::SDF::ADF_TrafficLightPhaseStage& phasestage(const EDF_TrafficLightRealTimeInfo* msg);
  static const ::SDF::ADF_EventInfoSource& eventinfosource(const EDF_TrafficLightRealTimeInfo* msg);
};

const ::SDF::ADF_EventTimeInfo&
EDF_TrafficLightRealTimeInfo::_Internal::timeinfo(const EDF_TrafficLightRealTimeInfo* msg) {
  return *msg->_impl_.timeinfo_;
}
const ::SDF::ADF_TrafficLightPhaseStage&
EDF_TrafficLightRealTimeInfo::_Internal::phasestage(const EDF_TrafficLightRealTimeInfo* msg) {
  return *msg->_impl_.phasestage_;
}
const ::SDF::ADF_EventInfoSource&
EDF_TrafficLightRealTimeInfo::_Internal::eventinfosource(const EDF_TrafficLightRealTimeInfo* msg) {
  return *msg->_impl_.eventinfosource_;
}
EDF_TrafficLightRealTimeInfo::EDF_TrafficLightRealTimeInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:SDF.EDF_TrafficLightRealTimeInfo)
}
EDF_TrafficLightRealTimeInfo::EDF_TrafficLightRealTimeInfo(const EDF_TrafficLightRealTimeInfo& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  EDF_TrafficLightRealTimeInfo* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.eventid_){}
    , decltype(_impl_.trafficlightid_){}
    , decltype(_impl_.lightbulbid_){}
    , decltype(_impl_.timeinfo_){nullptr}
    , decltype(_impl_.phasestage_){nullptr}
    , decltype(_impl_.eventinfosource_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.eventid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.eventid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_eventid().empty()) {
    _this->_impl_.eventid_.Set(from._internal_eventid(), 
      _this->GetArenaForAllocation());
  }
  _impl_.trafficlightid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.trafficlightid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_trafficlightid().empty()) {
    _this->_impl_.trafficlightid_.Set(from._internal_trafficlightid(), 
      _this->GetArenaForAllocation());
  }
  _impl_.lightbulbid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.lightbulbid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_lightbulbid().empty()) {
    _this->_impl_.lightbulbid_.Set(from._internal_lightbulbid(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_timeinfo()) {
    _this->_impl_.timeinfo_ = new ::SDF::ADF_EventTimeInfo(*from._impl_.timeinfo_);
  }
  if (from._internal_has_phasestage()) {
    _this->_impl_.phasestage_ = new ::SDF::ADF_TrafficLightPhaseStage(*from._impl_.phasestage_);
  }
  if (from._internal_has_eventinfosource()) {
    _this->_impl_.eventinfosource_ = new ::SDF::ADF_EventInfoSource(*from._impl_.eventinfosource_);
  }
  // @@protoc_insertion_point(copy_constructor:SDF.EDF_TrafficLightRealTimeInfo)
}

inline void EDF_TrafficLightRealTimeInfo::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.eventid_){}
    , decltype(_impl_.trafficlightid_){}
    , decltype(_impl_.lightbulbid_){}
    , decltype(_impl_.timeinfo_){nullptr}
    , decltype(_impl_.phasestage_){nullptr}
    , decltype(_impl_.eventinfosource_){nullptr}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.eventid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.eventid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.trafficlightid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.trafficlightid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.lightbulbid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.lightbulbid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

EDF_TrafficLightRealTimeInfo::~EDF_TrafficLightRealTimeInfo() {
  // @@protoc_insertion_point(destructor:SDF.EDF_TrafficLightRealTimeInfo)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void EDF_TrafficLightRealTimeInfo::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.eventid_.Destroy();
  _impl_.trafficlightid_.Destroy();
  _impl_.lightbulbid_.Destroy();
  if (this != internal_default_instance()) delete _impl_.timeinfo_;
  if (this != internal_default_instance()) delete _impl_.phasestage_;
  if (this != internal_default_instance()) delete _impl_.eventinfosource_;
}

void EDF_TrafficLightRealTimeInfo::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void EDF_TrafficLightRealTimeInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:SDF.EDF_TrafficLightRealTimeInfo)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.eventid_.ClearToEmpty();
  _impl_.trafficlightid_.ClearToEmpty();
  _impl_.lightbulbid_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && _impl_.timeinfo_ != nullptr) {
    delete _impl_.timeinfo_;
  }
  _impl_.timeinfo_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.phasestage_ != nullptr) {
    delete _impl_.phasestage_;
  }
  _impl_.phasestage_ = nullptr;
  if (GetArenaForAllocation() == nullptr && _impl_.eventinfosource_ != nullptr) {
    delete _impl_.eventinfosource_;
  }
  _impl_.eventinfosource_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* EDF_TrafficLightRealTimeInfo::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string eventID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_eventid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "SDF.EDF_TrafficLightRealTimeInfo.eventID"));
        } else
          goto handle_unusual;
        continue;
      // string trafficLightID = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_trafficlightid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "SDF.EDF_TrafficLightRealTimeInfo.trafficLightID"));
        } else
          goto handle_unusual;
        continue;
      // string lightBulbID = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_lightbulbid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "SDF.EDF_TrafficLightRealTimeInfo.lightBulbID"));
        } else
          goto handle_unusual;
        continue;
      // .SDF.ADF_EventTimeInfo timeInfo = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_timeinfo(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .SDF.ADF_TrafficLightPhaseStage phaseStage = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_phasestage(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .SDF.ADF_EventInfoSource eventInfoSource = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_eventinfosource(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* EDF_TrafficLightRealTimeInfo::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:SDF.EDF_TrafficLightRealTimeInfo)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string eventID = 1;
  if (!this->_internal_eventid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_eventid().data(), static_cast<int>(this->_internal_eventid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "SDF.EDF_TrafficLightRealTimeInfo.eventID");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_eventid(), target);
  }

  // string trafficLightID = 2;
  if (!this->_internal_trafficlightid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_trafficlightid().data(), static_cast<int>(this->_internal_trafficlightid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "SDF.EDF_TrafficLightRealTimeInfo.trafficLightID");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_trafficlightid(), target);
  }

  // string lightBulbID = 3;
  if (!this->_internal_lightbulbid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_lightbulbid().data(), static_cast<int>(this->_internal_lightbulbid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "SDF.EDF_TrafficLightRealTimeInfo.lightBulbID");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_lightbulbid(), target);
  }

  // .SDF.ADF_EventTimeInfo timeInfo = 4;
  if (this->_internal_has_timeinfo()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::timeinfo(this),
        _Internal::timeinfo(this).GetCachedSize(), target, stream);
  }

  // .SDF.ADF_TrafficLightPhaseStage phaseStage = 5;
  if (this->_internal_has_phasestage()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::phasestage(this),
        _Internal::phasestage(this).GetCachedSize(), target, stream);
  }

  // .SDF.ADF_EventInfoSource eventInfoSource = 6;
  if (this->_internal_has_eventinfosource()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::eventinfosource(this),
        _Internal::eventinfosource(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:SDF.EDF_TrafficLightRealTimeInfo)
  return target;
}

size_t EDF_TrafficLightRealTimeInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:SDF.EDF_TrafficLightRealTimeInfo)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string eventID = 1;
  if (!this->_internal_eventid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_eventid());
  }

  // string trafficLightID = 2;
  if (!this->_internal_trafficlightid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_trafficlightid());
  }

  // string lightBulbID = 3;
  if (!this->_internal_lightbulbid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_lightbulbid());
  }

  // .SDF.ADF_EventTimeInfo timeInfo = 4;
  if (this->_internal_has_timeinfo()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.timeinfo_);
  }

  // .SDF.ADF_TrafficLightPhaseStage phaseStage = 5;
  if (this->_internal_has_phasestage()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.phasestage_);
  }

  // .SDF.ADF_EventInfoSource eventInfoSource = 6;
  if (this->_internal_has_eventinfosource()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.eventinfosource_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData EDF_TrafficLightRealTimeInfo::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    EDF_TrafficLightRealTimeInfo::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*EDF_TrafficLightRealTimeInfo::GetClassData() const { return &_class_data_; }


void EDF_TrafficLightRealTimeInfo::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<EDF_TrafficLightRealTimeInfo*>(&to_msg);
  auto& from = static_cast<const EDF_TrafficLightRealTimeInfo&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:SDF.EDF_TrafficLightRealTimeInfo)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_eventid().empty()) {
    _this->_internal_set_eventid(from._internal_eventid());
  }
  if (!from._internal_trafficlightid().empty()) {
    _this->_internal_set_trafficlightid(from._internal_trafficlightid());
  }
  if (!from._internal_lightbulbid().empty()) {
    _this->_internal_set_lightbulbid(from._internal_lightbulbid());
  }
  if (from._internal_has_timeinfo()) {
    _this->_internal_mutable_timeinfo()->::SDF::ADF_EventTimeInfo::MergeFrom(
        from._internal_timeinfo());
  }
  if (from._internal_has_phasestage()) {
    _this->_internal_mutable_phasestage()->::SDF::ADF_TrafficLightPhaseStage::MergeFrom(
        from._internal_phasestage());
  }
  if (from._internal_has_eventinfosource()) {
    _this->_internal_mutable_eventinfosource()->::SDF::ADF_EventInfoSource::MergeFrom(
        from._internal_eventinfosource());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void EDF_TrafficLightRealTimeInfo::CopyFrom(const EDF_TrafficLightRealTimeInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:SDF.EDF_TrafficLightRealTimeInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void EDF_TrafficLightRealTimeInfo::InternalSwap(EDF_TrafficLightRealTimeInfo* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.eventid_, lhs_arena,
      &other->_impl_.eventid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.trafficlightid_, lhs_arena,
      &other->_impl_.trafficlightid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.lightbulbid_, lhs_arena,
      &other->_impl_.lightbulbid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(EDF_TrafficLightRealTimeInfo, _impl_.eventinfosource_)
      + sizeof(EDF_TrafficLightRealTimeInfo::_impl_.eventinfosource_)
      - PROTOBUF_FIELD_OFFSET(EDF_TrafficLightRealTimeInfo, _impl_.timeinfo_)>(
          reinterpret_cast<char*>(&_impl_.timeinfo_),
          reinterpret_cast<char*>(&other->_impl_.timeinfo_));
}

::PROTOBUF_NAMESPACE_ID::Metadata EDF_TrafficLightRealTimeInfo::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_sdf_2eproto_getter, &descriptor_table_sdf_2eproto_once,
      file_level_metadata_sdf_2eproto[3]);
}

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

class TrafficLightLayer::_Internal {
 public:
};

TrafficLightLayer::TrafficLightLayer(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:SDF.TrafficLightLayer)
}
TrafficLightLayer::TrafficLightLayer(const TrafficLightLayer& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TrafficLightLayer* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.trafficlightrealtimeinfolayer_){from._impl_.trafficlightrealtimeinfolayer_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:SDF.TrafficLightLayer)
}

inline void TrafficLightLayer::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.trafficlightrealtimeinfolayer_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

TrafficLightLayer::~TrafficLightLayer() {
  // @@protoc_insertion_point(destructor:SDF.TrafficLightLayer)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TrafficLightLayer::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.trafficlightrealtimeinfolayer_.~RepeatedPtrField();
}

void TrafficLightLayer::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void TrafficLightLayer::Clear() {
// @@protoc_insertion_point(message_clear_start:SDF.TrafficLightLayer)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.trafficlightrealtimeinfolayer_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TrafficLightLayer::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .SDF.EDF_TrafficLightRealTimeInfo trafficLightRealTimeInfoLayer = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_trafficlightrealtimeinfolayer(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* TrafficLightLayer::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:SDF.TrafficLightLayer)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .SDF.EDF_TrafficLightRealTimeInfo trafficLightRealTimeInfoLayer = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_trafficlightrealtimeinfolayer_size()); i < n; i++) {
    const auto& repfield = this->_internal_trafficlightrealtimeinfolayer(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:SDF.TrafficLightLayer)
  return target;
}

size_t TrafficLightLayer::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:SDF.TrafficLightLayer)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .SDF.EDF_TrafficLightRealTimeInfo trafficLightRealTimeInfoLayer = 1;
  total_size += 1UL * this->_internal_trafficlightrealtimeinfolayer_size();
  for (const auto& msg : this->_impl_.trafficlightrealtimeinfolayer_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TrafficLightLayer::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TrafficLightLayer::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TrafficLightLayer::GetClassData() const { return &_class_data_; }


void TrafficLightLayer::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TrafficLightLayer*>(&to_msg);
  auto& from = static_cast<const TrafficLightLayer&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:SDF.TrafficLightLayer)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.trafficlightrealtimeinfolayer_.MergeFrom(from._impl_.trafficlightrealtimeinfolayer_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void TrafficLightLayer::CopyFrom(const TrafficLightLayer& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:SDF.TrafficLightLayer)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void TrafficLightLayer::InternalSwap(TrafficLightLayer* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.trafficlightrealtimeinfolayer_.InternalSwap(&other->_impl_.trafficlightrealtimeinfolayer_);
}

::PROTOBUF_NAMESPACE_ID::Metadata TrafficLightLayer::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_sdf_2eproto_getter, &descriptor_table_sdf_2eproto_once,
      file_level_metadata_sdf_2eproto[4]);
}

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

class RequestSequence::_Internal {
 public:
};

RequestSequence::RequestSequence(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:SDF.RequestSequence)
}
RequestSequence::RequestSequence(const RequestSequence& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  RequestSequence* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.listofrequest_){from._impl_.listofrequest_}
    , decltype(_impl_.requestid_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.requestid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.requestid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_requestid().empty()) {
    _this->_impl_.requestid_.Set(from._internal_requestid(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:SDF.RequestSequence)
}

inline void RequestSequence::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.listofrequest_){arena}
    , decltype(_impl_.requestid_){}
    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.requestid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.requestid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

RequestSequence::~RequestSequence() {
  // @@protoc_insertion_point(destructor:SDF.RequestSequence)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void RequestSequence::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.listofrequest_.~RepeatedPtrField();
  _impl_.requestid_.Destroy();
}

void RequestSequence::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void RequestSequence::Clear() {
// @@protoc_insertion_point(message_clear_start:SDF.RequestSequence)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.listofrequest_.Clear();
  _impl_.requestid_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RequestSequence::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string requestID = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_requestid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "SDF.RequestSequence.requestID"));
        } else
          goto handle_unusual;
        continue;
      // repeated .SDF.EDF_TrafficLightRealTimeInfo listOfRequest = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_listofrequest(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* RequestSequence::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:SDF.RequestSequence)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string requestID = 1;
  if (!this->_internal_requestid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_requestid().data(), static_cast<int>(this->_internal_requestid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "SDF.RequestSequence.requestID");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_requestid(), target);
  }

  // repeated .SDF.EDF_TrafficLightRealTimeInfo listOfRequest = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_listofrequest_size()); i < n; i++) {
    const auto& repfield = this->_internal_listofrequest(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:SDF.RequestSequence)
  return target;
}

size_t RequestSequence::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:SDF.RequestSequence)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .SDF.EDF_TrafficLightRealTimeInfo listOfRequest = 2;
  total_size += 1UL * this->_internal_listofrequest_size();
  for (const auto& msg : this->_impl_.listofrequest_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string requestID = 1;
  if (!this->_internal_requestid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_requestid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RequestSequence::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    RequestSequence::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RequestSequence::GetClassData() const { return &_class_data_; }


void RequestSequence::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<RequestSequence*>(&to_msg);
  auto& from = static_cast<const RequestSequence&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:SDF.RequestSequence)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.listofrequest_.MergeFrom(from._impl_.listofrequest_);
  if (!from._internal_requestid().empty()) {
    _this->_internal_set_requestid(from._internal_requestid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void RequestSequence::CopyFrom(const RequestSequence& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:SDF.RequestSequence)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void RequestSequence::InternalSwap(RequestSequence* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.listofrequest_.InternalSwap(&other->_impl_.listofrequest_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.requestid_, lhs_arena,
      &other->_impl_.requestid_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata RequestSequence::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_sdf_2eproto_getter, &descriptor_table_sdf_2eproto_once,
      file_level_metadata_sdf_2eproto[5]);
}

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

class TrafficLightLayerResponse::_Internal {
 public:
  static const ::SDF::RequestSequence& requestsequence(const TrafficLightLayerResponse* msg);
};

const ::SDF::RequestSequence&
TrafficLightLayerResponse::_Internal::requestsequence(const TrafficLightLayerResponse* msg) {
  return *msg->_impl_.requestsequence_;
}
TrafficLightLayerResponse::TrafficLightLayerResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:SDF.TrafficLightLayerResponse)
}
TrafficLightLayerResponse::TrafficLightLayerResponse(const TrafficLightLayerResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  TrafficLightLayerResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.requestsequence_){nullptr}
    , decltype(_impl_.errorcode_){}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_requestsequence()) {
    _this->_impl_.requestsequence_ = new ::SDF::RequestSequence(*from._impl_.requestsequence_);
  }
  _this->_impl_.errorcode_ = from._impl_.errorcode_;
  // @@protoc_insertion_point(copy_constructor:SDF.TrafficLightLayerResponse)
}

inline void TrafficLightLayerResponse::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.requestsequence_){nullptr}
    , decltype(_impl_.errorcode_){0}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

TrafficLightLayerResponse::~TrafficLightLayerResponse() {
  // @@protoc_insertion_point(destructor:SDF.TrafficLightLayerResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TrafficLightLayerResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.requestsequence_;
}

void TrafficLightLayerResponse::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void TrafficLightLayerResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:SDF.TrafficLightLayerResponse)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && _impl_.requestsequence_ != nullptr) {
    delete _impl_.requestsequence_;
  }
  _impl_.requestsequence_ = nullptr;
  _impl_.errorcode_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TrafficLightLayerResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 errorCode = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _impl_.errorcode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .SDF.RequestSequence requestSequence = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_requestsequence(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* TrafficLightLayerResponse::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:SDF.TrafficLightLayerResponse)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 errorCode = 1;
  if (this->_internal_errorcode() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_errorcode(), target);
  }

  // .SDF.RequestSequence requestSequence = 2;
  if (this->_internal_has_requestsequence()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::requestsequence(this),
        _Internal::requestsequence(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:SDF.TrafficLightLayerResponse)
  return target;
}

size_t TrafficLightLayerResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:SDF.TrafficLightLayerResponse)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .SDF.RequestSequence requestSequence = 2;
  if (this->_internal_has_requestsequence()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.requestsequence_);
  }

  // int32 errorCode = 1;
  if (this->_internal_errorcode() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_errorcode());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TrafficLightLayerResponse::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    TrafficLightLayerResponse::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TrafficLightLayerResponse::GetClassData() const { return &_class_data_; }


void TrafficLightLayerResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<TrafficLightLayerResponse*>(&to_msg);
  auto& from = static_cast<const TrafficLightLayerResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:SDF.TrafficLightLayerResponse)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_requestsequence()) {
    _this->_internal_mutable_requestsequence()->::SDF::RequestSequence::MergeFrom(
        from._internal_requestsequence());
  }
  if (from._internal_errorcode() != 0) {
    _this->_internal_set_errorcode(from._internal_errorcode());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void TrafficLightLayerResponse::CopyFrom(const TrafficLightLayerResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:SDF.TrafficLightLayerResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void TrafficLightLayerResponse::InternalSwap(TrafficLightLayerResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TrafficLightLayerResponse, _impl_.errorcode_)
      + sizeof(TrafficLightLayerResponse::_impl_.errorcode_)
      - PROTOBUF_FIELD_OFFSET(TrafficLightLayerResponse, _impl_.requestsequence_)>(
          reinterpret_cast<char*>(&_impl_.requestsequence_),
          reinterpret_cast<char*>(&other->_impl_.requestsequence_));
}

::PROTOBUF_NAMESPACE_ID::Metadata TrafficLightLayerResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_sdf_2eproto_getter, &descriptor_table_sdf_2eproto_once,
      file_level_metadata_sdf_2eproto[6]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace SDF
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::SDF::ADF_EventTimeInfo*
Arena::CreateMaybeMessage< ::SDF::ADF_EventTimeInfo >(Arena* arena) {
  return Arena::CreateMessageInternal< ::SDF::ADF_EventTimeInfo >(arena);
}
template<> PROTOBUF_NOINLINE ::SDF::ADF_EventInfoSource*
Arena::CreateMaybeMessage< ::SDF::ADF_EventInfoSource >(Arena* arena) {
  return Arena::CreateMessageInternal< ::SDF::ADF_EventInfoSource >(arena);
}
template<> PROTOBUF_NOINLINE ::SDF::ADF_TrafficLightPhaseStage*
Arena::CreateMaybeMessage< ::SDF::ADF_TrafficLightPhaseStage >(Arena* arena) {
  return Arena::CreateMessageInternal< ::SDF::ADF_TrafficLightPhaseStage >(arena);
}
template<> PROTOBUF_NOINLINE ::SDF::EDF_TrafficLightRealTimeInfo*
Arena::CreateMaybeMessage< ::SDF::EDF_TrafficLightRealTimeInfo >(Arena* arena) {
  return Arena::CreateMessageInternal< ::SDF::EDF_TrafficLightRealTimeInfo >(arena);
}
template<> PROTOBUF_NOINLINE ::SDF::TrafficLightLayer*
Arena::CreateMaybeMessage< ::SDF::TrafficLightLayer >(Arena* arena) {
  return Arena::CreateMessageInternal< ::SDF::TrafficLightLayer >(arena);
}
template<> PROTOBUF_NOINLINE ::SDF::RequestSequence*
Arena::CreateMaybeMessage< ::SDF::RequestSequence >(Arena* arena) {
  return Arena::CreateMessageInternal< ::SDF::RequestSequence >(arena);
}
template<> PROTOBUF_NOINLINE ::SDF::TrafficLightLayerResponse*
Arena::CreateMaybeMessage< ::SDF::TrafficLightLayerResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::SDF::TrafficLightLayerResponse >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
