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

#ifndef GOOGLE_PROTOBUF_INCLUDED_sns_5fdiag_5fsensor_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_sns_5fdiag_5fsensor_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "nanopb.pb.h"
#include "sns_std_type.pb.h"
#include "sns_client.pb.h"
#include "sns_direct_channel.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_sns_5fdiag_5fsensor_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_sns_5fdiag_5fsensor_2eproto {
  static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sns_5fdiag_5fsensor_2eproto;
class sns_diag_bandwidth_info;
struct sns_diag_bandwidth_infoDefaultTypeInternal;
extern sns_diag_bandwidth_infoDefaultTypeInternal _sns_diag_bandwidth_info_default_instance_;
class sns_diag_bandwidth_info_client_info;
struct sns_diag_bandwidth_info_client_infoDefaultTypeInternal;
extern sns_diag_bandwidth_info_client_infoDefaultTypeInternal _sns_diag_bandwidth_info_client_info_default_instance_;
class sns_diag_clock_info;
struct sns_diag_clock_infoDefaultTypeInternal;
extern sns_diag_clock_infoDefaultTypeInternal _sns_diag_clock_info_default_instance_;
class sns_diag_clock_info_client_info;
struct sns_diag_clock_info_client_infoDefaultTypeInternal;
extern sns_diag_clock_info_client_infoDefaultTypeInternal _sns_diag_clock_info_client_info_default_instance_;
class sns_diag_cm_active_client_req_event;
struct sns_diag_cm_active_client_req_eventDefaultTypeInternal;
extern sns_diag_cm_active_client_req_eventDefaultTypeInternal _sns_diag_cm_active_client_req_event_default_instance_;
class sns_diag_cm_active_client_req_event_direct_channel_request_msg;
struct sns_diag_cm_active_client_req_event_direct_channel_request_msgDefaultTypeInternal;
extern sns_diag_cm_active_client_req_event_direct_channel_request_msgDefaultTypeInternal _sns_diag_cm_active_client_req_event_direct_channel_request_msg_default_instance_;
class sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg;
struct sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msgDefaultTypeInternal;
extern sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msgDefaultTypeInternal _sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg_default_instance_;
class sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg;
struct sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msgDefaultTypeInternal;
extern sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msgDefaultTypeInternal _sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg_default_instance_;
class sns_diag_cm_active_client_req_event_request_msg;
struct sns_diag_cm_active_client_req_event_request_msgDefaultTypeInternal;
extern sns_diag_cm_active_client_req_event_request_msgDefaultTypeInternal _sns_diag_cm_active_client_req_event_request_msg_default_instance_;
class sns_diag_debug_event;
struct sns_diag_debug_eventDefaultTypeInternal;
extern sns_diag_debug_eventDefaultTypeInternal _sns_diag_debug_event_default_instance_;
class sns_diag_debug_info;
struct sns_diag_debug_infoDefaultTypeInternal;
extern sns_diag_debug_infoDefaultTypeInternal _sns_diag_debug_info_default_instance_;
class sns_diag_debug_req;
struct sns_diag_debug_reqDefaultTypeInternal;
extern sns_diag_debug_reqDefaultTypeInternal _sns_diag_debug_req_default_instance_;
class sns_diag_island_info;
struct sns_diag_island_infoDefaultTypeInternal;
extern sns_diag_island_infoDefaultTypeInternal _sns_diag_island_info_default_instance_;
class sns_diag_island_info_client_info;
struct sns_diag_island_info_client_infoDefaultTypeInternal;
extern sns_diag_island_info_client_infoDefaultTypeInternal _sns_diag_island_info_client_info_default_instance_;
class sns_diag_island_info_client_info_vote_state;
struct sns_diag_island_info_client_info_vote_stateDefaultTypeInternal;
extern sns_diag_island_info_client_info_vote_stateDefaultTypeInternal _sns_diag_island_info_client_info_vote_state_default_instance_;
class sns_diag_latency_info;
struct sns_diag_latency_infoDefaultTypeInternal;
extern sns_diag_latency_infoDefaultTypeInternal _sns_diag_latency_info_default_instance_;
class sns_diag_latency_info_client_info;
struct sns_diag_latency_info_client_infoDefaultTypeInternal;
extern sns_diag_latency_info_client_infoDefaultTypeInternal _sns_diag_latency_info_client_info_default_instance_;
class sns_diag_log_trigger_req;
struct sns_diag_log_trigger_reqDefaultTypeInternal;
extern sns_diag_log_trigger_reqDefaultTypeInternal _sns_diag_log_trigger_req_default_instance_;
class sns_diag_power_rail_info;
struct sns_diag_power_rail_infoDefaultTypeInternal;
extern sns_diag_power_rail_infoDefaultTypeInternal _sns_diag_power_rail_info_default_instance_;
class sns_diag_power_rail_info_rail_info;
struct sns_diag_power_rail_info_rail_infoDefaultTypeInternal;
extern sns_diag_power_rail_info_rail_infoDefaultTypeInternal _sns_diag_power_rail_info_rail_info_default_instance_;
class sns_diag_power_rail_info_rail_info_client;
struct sns_diag_power_rail_info_rail_info_clientDefaultTypeInternal;
extern sns_diag_power_rail_info_rail_info_clientDefaultTypeInternal _sns_diag_power_rail_info_rail_info_client_default_instance_;
class sns_diag_power_rail_info_rail_info_vote_state;
struct sns_diag_power_rail_info_rail_info_vote_stateDefaultTypeInternal;
extern sns_diag_power_rail_info_rail_info_vote_stateDefaultTypeInternal _sns_diag_power_rail_info_rail_info_vote_state_default_instance_;
class sns_diag_sleep_info;
struct sns_diag_sleep_infoDefaultTypeInternal;
extern sns_diag_sleep_infoDefaultTypeInternal _sns_diag_sleep_info_default_instance_;
class sns_diag_sleep_info_proc_info;
struct sns_diag_sleep_info_proc_infoDefaultTypeInternal;
extern sns_diag_sleep_info_proc_infoDefaultTypeInternal _sns_diag_sleep_info_proc_info_default_instance_;
class sns_diag_sleep_info_proc_info_wakeup_rate_info;
struct sns_diag_sleep_info_proc_info_wakeup_rate_infoDefaultTypeInternal;
extern sns_diag_sleep_info_proc_info_wakeup_rate_infoDefaultTypeInternal _sns_diag_sleep_info_proc_info_wakeup_rate_info_default_instance_;
PROTOBUF_NAMESPACE_OPEN
template<> ::sns_diag_bandwidth_info* Arena::CreateMaybeMessage<::sns_diag_bandwidth_info>(Arena*);
template<> ::sns_diag_bandwidth_info_client_info* Arena::CreateMaybeMessage<::sns_diag_bandwidth_info_client_info>(Arena*);
template<> ::sns_diag_clock_info* Arena::CreateMaybeMessage<::sns_diag_clock_info>(Arena*);
template<> ::sns_diag_clock_info_client_info* Arena::CreateMaybeMessage<::sns_diag_clock_info_client_info>(Arena*);
template<> ::sns_diag_cm_active_client_req_event* Arena::CreateMaybeMessage<::sns_diag_cm_active_client_req_event>(Arena*);
template<> ::sns_diag_cm_active_client_req_event_direct_channel_request_msg* Arena::CreateMaybeMessage<::sns_diag_cm_active_client_req_event_direct_channel_request_msg>(Arena*);
template<> ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* Arena::CreateMaybeMessage<::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg>(Arena*);
template<> ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* Arena::CreateMaybeMessage<::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg>(Arena*);
template<> ::sns_diag_cm_active_client_req_event_request_msg* Arena::CreateMaybeMessage<::sns_diag_cm_active_client_req_event_request_msg>(Arena*);
template<> ::sns_diag_debug_event* Arena::CreateMaybeMessage<::sns_diag_debug_event>(Arena*);
template<> ::sns_diag_debug_info* Arena::CreateMaybeMessage<::sns_diag_debug_info>(Arena*);
template<> ::sns_diag_debug_req* Arena::CreateMaybeMessage<::sns_diag_debug_req>(Arena*);
template<> ::sns_diag_island_info* Arena::CreateMaybeMessage<::sns_diag_island_info>(Arena*);
template<> ::sns_diag_island_info_client_info* Arena::CreateMaybeMessage<::sns_diag_island_info_client_info>(Arena*);
template<> ::sns_diag_island_info_client_info_vote_state* Arena::CreateMaybeMessage<::sns_diag_island_info_client_info_vote_state>(Arena*);
template<> ::sns_diag_latency_info* Arena::CreateMaybeMessage<::sns_diag_latency_info>(Arena*);
template<> ::sns_diag_latency_info_client_info* Arena::CreateMaybeMessage<::sns_diag_latency_info_client_info>(Arena*);
template<> ::sns_diag_log_trigger_req* Arena::CreateMaybeMessage<::sns_diag_log_trigger_req>(Arena*);
template<> ::sns_diag_power_rail_info* Arena::CreateMaybeMessage<::sns_diag_power_rail_info>(Arena*);
template<> ::sns_diag_power_rail_info_rail_info* Arena::CreateMaybeMessage<::sns_diag_power_rail_info_rail_info>(Arena*);
template<> ::sns_diag_power_rail_info_rail_info_client* Arena::CreateMaybeMessage<::sns_diag_power_rail_info_rail_info_client>(Arena*);
template<> ::sns_diag_power_rail_info_rail_info_vote_state* Arena::CreateMaybeMessage<::sns_diag_power_rail_info_rail_info_vote_state>(Arena*);
template<> ::sns_diag_sleep_info* Arena::CreateMaybeMessage<::sns_diag_sleep_info>(Arena*);
template<> ::sns_diag_sleep_info_proc_info* Arena::CreateMaybeMessage<::sns_diag_sleep_info_proc_info>(Arena*);
template<> ::sns_diag_sleep_info_proc_info_wakeup_rate_info* Arena::CreateMaybeMessage<::sns_diag_sleep_info_proc_info_wakeup_rate_info>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

enum sns_diag_sensor_msgid : int {
  SNS_DIAG_SENSOR_MSGID_SNS_DIAG_LOG_TRIGGER_REQ = 520,
  SNS_DIAG_SENSOR_MSGID_SNS_DIAG_GET_CM_ACTIVE_CLIENT_REQ = 521,
  SNS_DIAG_SENSOR_MSGID_SNS_DIAG_DEBUG_REQ = 522,
  SNS_DIAG_SENSOR_MSGID_SNS_DIAG_CM_ACTIVE_CLIENT_REQ_EVENT = 800,
  SNS_DIAG_SENSOR_MSGID_SNS_DIAG_DEBUG_EVENT = 801
};
bool sns_diag_sensor_msgid_IsValid(int value);
constexpr sns_diag_sensor_msgid sns_diag_sensor_msgid_MIN = SNS_DIAG_SENSOR_MSGID_SNS_DIAG_LOG_TRIGGER_REQ;
constexpr sns_diag_sensor_msgid sns_diag_sensor_msgid_MAX = SNS_DIAG_SENSOR_MSGID_SNS_DIAG_DEBUG_EVENT;
constexpr int sns_diag_sensor_msgid_ARRAYSIZE = sns_diag_sensor_msgid_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* sns_diag_sensor_msgid_descriptor();
template<typename T>
inline const std::string& sns_diag_sensor_msgid_Name(T enum_t_value) {
  static_assert(::std::is_same<T, sns_diag_sensor_msgid>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function sns_diag_sensor_msgid_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    sns_diag_sensor_msgid_descriptor(), enum_t_value);
}
inline bool sns_diag_sensor_msgid_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, sns_diag_sensor_msgid* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<sns_diag_sensor_msgid>(
    sns_diag_sensor_msgid_descriptor(), name, value);
}
enum sns_diag_triggered_log_type : int {
  SNS_DIAG_TRIGGERED_LOG_TYPE_UNINITIALIZED = 0,
  SNS_DIAG_TRIGGERED_LOG_TYPE_ISLAND_LOG = 1,
  SNS_DIAG_TRIGGERED_LOG_TYPE_MEMORY_USAGE_LOG = 2
};
bool sns_diag_triggered_log_type_IsValid(int value);
constexpr sns_diag_triggered_log_type sns_diag_triggered_log_type_MIN = SNS_DIAG_TRIGGERED_LOG_TYPE_UNINITIALIZED;
constexpr sns_diag_triggered_log_type sns_diag_triggered_log_type_MAX = SNS_DIAG_TRIGGERED_LOG_TYPE_MEMORY_USAGE_LOG;
constexpr int sns_diag_triggered_log_type_ARRAYSIZE = sns_diag_triggered_log_type_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* sns_diag_triggered_log_type_descriptor();
template<typename T>
inline const std::string& sns_diag_triggered_log_type_Name(T enum_t_value) {
  static_assert(::std::is_same<T, sns_diag_triggered_log_type>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function sns_diag_triggered_log_type_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    sns_diag_triggered_log_type_descriptor(), enum_t_value);
}
inline bool sns_diag_triggered_log_type_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, sns_diag_triggered_log_type* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<sns_diag_triggered_log_type>(
    sns_diag_triggered_log_type_descriptor(), name, value);
}
enum sns_diag_debug_mask : int {
  SNS_DIAG_INVALID_DEBUG_MASK = 0,
  SNS_DIAG_POWER_RAIL_DEBUG_MASK = 1,
  SNS_DIAG_SLEEP_DEBUG_MASK = 2,
  SNS_DIAG_CLOCK_DEBUG_MASK = 4,
  SNS_DIAG_LATENCY_DEBUG_MASK = 8,
  SNS_DIAG_BANDWIDTH_DEBUG_MASK = 16,
  SNS_DIAG_ISLAND_DEBUG_MASK = 32
};
bool sns_diag_debug_mask_IsValid(int value);
constexpr sns_diag_debug_mask sns_diag_debug_mask_MIN = SNS_DIAG_INVALID_DEBUG_MASK;
constexpr sns_diag_debug_mask sns_diag_debug_mask_MAX = SNS_DIAG_ISLAND_DEBUG_MASK;
constexpr int sns_diag_debug_mask_ARRAYSIZE = sns_diag_debug_mask_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* sns_diag_debug_mask_descriptor();
template<typename T>
inline const std::string& sns_diag_debug_mask_Name(T enum_t_value) {
  static_assert(::std::is_same<T, sns_diag_debug_mask>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function sns_diag_debug_mask_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    sns_diag_debug_mask_descriptor(), enum_t_value);
}
inline bool sns_diag_debug_mask_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, sns_diag_debug_mask* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<sns_diag_debug_mask>(
    sns_diag_debug_mask_descriptor(), name, value);
}
enum sns_diag_power_rail_vote : int {
  SNS_DIAG_POWER_RAIL_VOTE_UNKNOWN = 0,
  SNS_DIAG_POWER_RAIL_VOTE_OFF = 1,
  SNS_DIAG_POWER_RAIL_VOTE_ON_LPM = 2,
  SNS_DIAG_POWER_RAIL_VOTE_ON_NPM = 3
};
bool sns_diag_power_rail_vote_IsValid(int value);
constexpr sns_diag_power_rail_vote sns_diag_power_rail_vote_MIN = SNS_DIAG_POWER_RAIL_VOTE_UNKNOWN;
constexpr sns_diag_power_rail_vote sns_diag_power_rail_vote_MAX = SNS_DIAG_POWER_RAIL_VOTE_ON_NPM;
constexpr int sns_diag_power_rail_vote_ARRAYSIZE = sns_diag_power_rail_vote_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* sns_diag_power_rail_vote_descriptor();
template<typename T>
inline const std::string& sns_diag_power_rail_vote_Name(T enum_t_value) {
  static_assert(::std::is_same<T, sns_diag_power_rail_vote>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function sns_diag_power_rail_vote_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    sns_diag_power_rail_vote_descriptor(), enum_t_value);
}
inline bool sns_diag_power_rail_vote_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, sns_diag_power_rail_vote* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<sns_diag_power_rail_vote>(
    sns_diag_power_rail_vote_descriptor(), name, value);
}
enum sns_diag_island_vote : int {
  SNS_DIAG_ISLAND_VOTE_UNKNOWN = 0,
  SNS_DIAG_ISLAND_VOTE_BLOCK = 1,
  SNS_DIAG_ISLAND_VOTE_UNBLOCK = 2
};
bool sns_diag_island_vote_IsValid(int value);
constexpr sns_diag_island_vote sns_diag_island_vote_MIN = SNS_DIAG_ISLAND_VOTE_UNKNOWN;
constexpr sns_diag_island_vote sns_diag_island_vote_MAX = SNS_DIAG_ISLAND_VOTE_UNBLOCK;
constexpr int sns_diag_island_vote_ARRAYSIZE = sns_diag_island_vote_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* sns_diag_island_vote_descriptor();
template<typename T>
inline const std::string& sns_diag_island_vote_Name(T enum_t_value) {
  static_assert(::std::is_same<T, sns_diag_island_vote>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function sns_diag_island_vote_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    sns_diag_island_vote_descriptor(), enum_t_value);
}
inline bool sns_diag_island_vote_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, sns_diag_island_vote* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<sns_diag_island_vote>(
    sns_diag_island_vote_descriptor(), name, value);
}
enum sns_diag_clock_id : int {
  SNS_DIAG_CLOCK_ID_UNKNOWN = 0,
  SNS_DIAG_CLOCK_ID_CPU = 1,
  SNS_DIAG_CLOCK_ID_SDC = 2,
  SNS_DIAG_CLOCK_ID_CCD = 3,
  SNS_DIAG_CLOCK_ID_PRAM = 4,
  SNS_DIAG_CLOCK_ID_PSC = 5
};
bool sns_diag_clock_id_IsValid(int value);
constexpr sns_diag_clock_id sns_diag_clock_id_MIN = SNS_DIAG_CLOCK_ID_UNKNOWN;
constexpr sns_diag_clock_id sns_diag_clock_id_MAX = SNS_DIAG_CLOCK_ID_PSC;
constexpr int sns_diag_clock_id_ARRAYSIZE = sns_diag_clock_id_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* sns_diag_clock_id_descriptor();
template<typename T>
inline const std::string& sns_diag_clock_id_Name(T enum_t_value) {
  static_assert(::std::is_same<T, sns_diag_clock_id>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function sns_diag_clock_id_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    sns_diag_clock_id_descriptor(), enum_t_value);
}
inline bool sns_diag_clock_id_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, sns_diag_clock_id* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<sns_diag_clock_id>(
    sns_diag_clock_id_descriptor(), name, value);
}
enum sns_diag_latency_vote_status : int {
  SNS_DIAG_LATENCY_VOTE_STATUS_UNKNOWN = 0,
  SNS_DIAG_LATENCY_VOTE_STATUS_ACTIVE = 1,
  SNS_DIAG_LATENCY_VOTE_STATUS_INACTIVE = 2
};
bool sns_diag_latency_vote_status_IsValid(int value);
constexpr sns_diag_latency_vote_status sns_diag_latency_vote_status_MIN = SNS_DIAG_LATENCY_VOTE_STATUS_UNKNOWN;
constexpr sns_diag_latency_vote_status sns_diag_latency_vote_status_MAX = SNS_DIAG_LATENCY_VOTE_STATUS_INACTIVE;
constexpr int sns_diag_latency_vote_status_ARRAYSIZE = sns_diag_latency_vote_status_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* sns_diag_latency_vote_status_descriptor();
template<typename T>
inline const std::string& sns_diag_latency_vote_status_Name(T enum_t_value) {
  static_assert(::std::is_same<T, sns_diag_latency_vote_status>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function sns_diag_latency_vote_status_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    sns_diag_latency_vote_status_descriptor(), enum_t_value);
}
inline bool sns_diag_latency_vote_status_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, sns_diag_latency_vote_status* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<sns_diag_latency_vote_status>(
    sns_diag_latency_vote_status_descriptor(), name, value);
}
enum sns_diag_sleep_proc : int {
  SNS_DIAG_SLEEP_PROC_UNKNOWN = 0,
  SNS_DIAG_SLEEP_PROC_CPU = 1,
  SNS_DIAG_SLEEP_PROC_SDC = 2
};
bool sns_diag_sleep_proc_IsValid(int value);
constexpr sns_diag_sleep_proc sns_diag_sleep_proc_MIN = SNS_DIAG_SLEEP_PROC_UNKNOWN;
constexpr sns_diag_sleep_proc sns_diag_sleep_proc_MAX = SNS_DIAG_SLEEP_PROC_SDC;
constexpr int sns_diag_sleep_proc_ARRAYSIZE = sns_diag_sleep_proc_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* sns_diag_sleep_proc_descriptor();
template<typename T>
inline const std::string& sns_diag_sleep_proc_Name(T enum_t_value) {
  static_assert(::std::is_same<T, sns_diag_sleep_proc>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function sns_diag_sleep_proc_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    sns_diag_sleep_proc_descriptor(), enum_t_value);
}
inline bool sns_diag_sleep_proc_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, sns_diag_sleep_proc* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<sns_diag_sleep_proc>(
    sns_diag_sleep_proc_descriptor(), name, value);
}
enum sns_diag_bandwidth_proc : int {
  SNS_DIAG_BANDWIDTH_PROC_UNKNOWN = 0,
  SNS_DIAG_BANDWIDTH_PROC_CPU = 1,
  SNS_DIAG_BANDWIDTH_PROC_SDC = 2
};
bool sns_diag_bandwidth_proc_IsValid(int value);
constexpr sns_diag_bandwidth_proc sns_diag_bandwidth_proc_MIN = SNS_DIAG_BANDWIDTH_PROC_UNKNOWN;
constexpr sns_diag_bandwidth_proc sns_diag_bandwidth_proc_MAX = SNS_DIAG_BANDWIDTH_PROC_SDC;
constexpr int sns_diag_bandwidth_proc_ARRAYSIZE = sns_diag_bandwidth_proc_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* sns_diag_bandwidth_proc_descriptor();
template<typename T>
inline const std::string& sns_diag_bandwidth_proc_Name(T enum_t_value) {
  static_assert(::std::is_same<T, sns_diag_bandwidth_proc>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function sns_diag_bandwidth_proc_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    sns_diag_bandwidth_proc_descriptor(), enum_t_value);
}
inline bool sns_diag_bandwidth_proc_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, sns_diag_bandwidth_proc* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<sns_diag_bandwidth_proc>(
    sns_diag_bandwidth_proc_descriptor(), name, value);
}
enum sns_diag_bandwidth_memory : int {
  SNS_DIAG_BANDWIDTH_MEMORY_UNKNOWN = 0,
  SNS_DIAG_BANDWIDTH_MEMORY_DDR = 1,
  SNS_DIAG_BANDWIDTH_MEMORY_SRAM = 2,
  SNS_DIAG_BANDWIDTH_MEMORY_TCM = 3
};
bool sns_diag_bandwidth_memory_IsValid(int value);
constexpr sns_diag_bandwidth_memory sns_diag_bandwidth_memory_MIN = SNS_DIAG_BANDWIDTH_MEMORY_UNKNOWN;
constexpr sns_diag_bandwidth_memory sns_diag_bandwidth_memory_MAX = SNS_DIAG_BANDWIDTH_MEMORY_TCM;
constexpr int sns_diag_bandwidth_memory_ARRAYSIZE = sns_diag_bandwidth_memory_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* sns_diag_bandwidth_memory_descriptor();
template<typename T>
inline const std::string& sns_diag_bandwidth_memory_Name(T enum_t_value) {
  static_assert(::std::is_same<T, sns_diag_bandwidth_memory>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function sns_diag_bandwidth_memory_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    sns_diag_bandwidth_memory_descriptor(), enum_t_value);
}
inline bool sns_diag_bandwidth_memory_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, sns_diag_bandwidth_memory* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<sns_diag_bandwidth_memory>(
    sns_diag_bandwidth_memory_descriptor(), name, value);
}
// ===================================================================

class sns_diag_log_trigger_req final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_log_trigger_req) */ {
 public:
  inline sns_diag_log_trigger_req() : sns_diag_log_trigger_req(nullptr) {}
  ~sns_diag_log_trigger_req() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_log_trigger_req(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_log_trigger_req(const sns_diag_log_trigger_req& from);
  sns_diag_log_trigger_req(sns_diag_log_trigger_req&& from) noexcept
    : sns_diag_log_trigger_req() {
    *this = ::std::move(from);
  }

  inline sns_diag_log_trigger_req& operator=(const sns_diag_log_trigger_req& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_log_trigger_req& operator=(sns_diag_log_trigger_req&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_log_trigger_req& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_log_trigger_req* internal_default_instance() {
    return reinterpret_cast<const sns_diag_log_trigger_req*>(
               &_sns_diag_log_trigger_req_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(sns_diag_log_trigger_req& a, sns_diag_log_trigger_req& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_log_trigger_req* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_log_trigger_req* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_log_trigger_req* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_log_trigger_req>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_log_trigger_req& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_log_trigger_req& from) {
    sns_diag_log_trigger_req::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_log_trigger_req* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_log_trigger_req";
  }
  protected:
  explicit sns_diag_log_trigger_req(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCookieFieldNumber = 1,
    kLogTypeFieldNumber = 2,
  };
  // optional fixed64 cookie = 1;
  bool has_cookie() const;
  private:
  bool _internal_has_cookie() const;
  public:
  void clear_cookie();
  uint64_t cookie() const;
  void set_cookie(uint64_t value);
  private:
  uint64_t _internal_cookie() const;
  void _internal_set_cookie(uint64_t value);
  public:

  // required .sns_diag_triggered_log_type log_type = 2;
  bool has_log_type() const;
  private:
  bool _internal_has_log_type() const;
  public:
  void clear_log_type();
  ::sns_diag_triggered_log_type log_type() const;
  void set_log_type(::sns_diag_triggered_log_type value);
  private:
  ::sns_diag_triggered_log_type _internal_log_type() const;
  void _internal_set_log_type(::sns_diag_triggered_log_type value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_log_trigger_req)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint64_t cookie_;
    int log_type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_cm_active_client_req_event_request_msg final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_cm_active_client_req_event.request_msg) */ {
 public:
  inline sns_diag_cm_active_client_req_event_request_msg() : sns_diag_cm_active_client_req_event_request_msg(nullptr) {}
  ~sns_diag_cm_active_client_req_event_request_msg() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_cm_active_client_req_event_request_msg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_cm_active_client_req_event_request_msg(const sns_diag_cm_active_client_req_event_request_msg& from);
  sns_diag_cm_active_client_req_event_request_msg(sns_diag_cm_active_client_req_event_request_msg&& from) noexcept
    : sns_diag_cm_active_client_req_event_request_msg() {
    *this = ::std::move(from);
  }

  inline sns_diag_cm_active_client_req_event_request_msg& operator=(const sns_diag_cm_active_client_req_event_request_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_cm_active_client_req_event_request_msg& operator=(sns_diag_cm_active_client_req_event_request_msg&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_cm_active_client_req_event_request_msg& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_cm_active_client_req_event_request_msg* internal_default_instance() {
    return reinterpret_cast<const sns_diag_cm_active_client_req_event_request_msg*>(
               &_sns_diag_cm_active_client_req_event_request_msg_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(sns_diag_cm_active_client_req_event_request_msg& a, sns_diag_cm_active_client_req_event_request_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_cm_active_client_req_event_request_msg* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_cm_active_client_req_event_request_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_cm_active_client_req_event_request_msg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_cm_active_client_req_event_request_msg>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_cm_active_client_req_event_request_msg& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_cm_active_client_req_event_request_msg& from) {
    sns_diag_cm_active_client_req_event_request_msg::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_cm_active_client_req_event_request_msg* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_cm_active_client_req_event.request_msg";
  }
  protected:
  explicit sns_diag_cm_active_client_req_event_request_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kRequestFieldNumber = 2,
    kTimestampFieldNumber = 1,
  };
  // required .sns_client_request_msg request = 2;
  bool has_request() const;
  private:
  bool _internal_has_request() const;
  public:
  void clear_request();
  const ::sns_client_request_msg& request() const;
  PROTOBUF_NODISCARD ::sns_client_request_msg* release_request();
  ::sns_client_request_msg* mutable_request();
  void set_allocated_request(::sns_client_request_msg* request);
  private:
  const ::sns_client_request_msg& _internal_request() const;
  ::sns_client_request_msg* _internal_mutable_request();
  public:
  void unsafe_arena_set_allocated_request(
      ::sns_client_request_msg* request);
  ::sns_client_request_msg* unsafe_arena_release_request();

  // required fixed64 timestamp = 1;
  bool has_timestamp() const;
  private:
  bool _internal_has_timestamp() const;
  public:
  void clear_timestamp();
  uint64_t timestamp() const;
  void set_timestamp(uint64_t value);
  private:
  uint64_t _internal_timestamp() const;
  void _internal_set_timestamp(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_cm_active_client_req_event.request_msg)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::sns_client_request_msg* request_;
    uint64_t timestamp_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg) */ {
 public:
  inline sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg() : sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg(nullptr) {}
  ~sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg(const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& from);
  sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg&& from) noexcept
    : sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg() {
    *this = ::std::move(from);
  }

  inline sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& operator=(const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& operator=(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* internal_default_instance() {
    return reinterpret_cast<const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg*>(
               &_sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& a, sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& from) {
    sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg";
  }
  protected:
  explicit sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kRequestFieldNumber = 2,
    kTimestampFieldNumber = 1,
  };
  // optional .sns_direct_channel_create_msg request = 2;
  bool has_request() const;
  private:
  bool _internal_has_request() const;
  public:
  void clear_request();
  const ::sns_direct_channel_create_msg& request() const;
  PROTOBUF_NODISCARD ::sns_direct_channel_create_msg* release_request();
  ::sns_direct_channel_create_msg* mutable_request();
  void set_allocated_request(::sns_direct_channel_create_msg* request);
  private:
  const ::sns_direct_channel_create_msg& _internal_request() const;
  ::sns_direct_channel_create_msg* _internal_mutable_request();
  public:
  void unsafe_arena_set_allocated_request(
      ::sns_direct_channel_create_msg* request);
  ::sns_direct_channel_create_msg* unsafe_arena_release_request();

  // optional fixed64 timestamp = 1;
  bool has_timestamp() const;
  private:
  bool _internal_has_timestamp() const;
  public:
  void clear_timestamp();
  uint64_t timestamp() const;
  void set_timestamp(uint64_t value);
  private:
  uint64_t _internal_timestamp() const;
  void _internal_set_timestamp(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::sns_direct_channel_create_msg* request_;
    uint64_t timestamp_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg) */ {
 public:
  inline sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg() : sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg(nullptr) {}
  ~sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg(const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& from);
  sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg&& from) noexcept
    : sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg() {
    *this = ::std::move(from);
  }

  inline sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& operator=(const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& operator=(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* internal_default_instance() {
    return reinterpret_cast<const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg*>(
               &_sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& a, sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& from) {
    sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg";
  }
  protected:
  explicit sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kRequestFieldNumber = 2,
    kTimestampFieldNumber = 1,
  };
  // optional .sns_direct_channel_config_msg request = 2;
  bool has_request() const;
  private:
  bool _internal_has_request() const;
  public:
  void clear_request();
  const ::sns_direct_channel_config_msg& request() const;
  PROTOBUF_NODISCARD ::sns_direct_channel_config_msg* release_request();
  ::sns_direct_channel_config_msg* mutable_request();
  void set_allocated_request(::sns_direct_channel_config_msg* request);
  private:
  const ::sns_direct_channel_config_msg& _internal_request() const;
  ::sns_direct_channel_config_msg* _internal_mutable_request();
  public:
  void unsafe_arena_set_allocated_request(
      ::sns_direct_channel_config_msg* request);
  ::sns_direct_channel_config_msg* unsafe_arena_release_request();

  // optional fixed64 timestamp = 1;
  bool has_timestamp() const;
  private:
  bool _internal_has_timestamp() const;
  public:
  void clear_timestamp();
  uint64_t timestamp() const;
  void set_timestamp(uint64_t value);
  private:
  uint64_t _internal_timestamp() const;
  void _internal_set_timestamp(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::sns_direct_channel_config_msg* request_;
    uint64_t timestamp_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_cm_active_client_req_event_direct_channel_request_msg final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_cm_active_client_req_event.direct_channel_request_msg) */ {
 public:
  inline sns_diag_cm_active_client_req_event_direct_channel_request_msg() : sns_diag_cm_active_client_req_event_direct_channel_request_msg(nullptr) {}
  ~sns_diag_cm_active_client_req_event_direct_channel_request_msg() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_cm_active_client_req_event_direct_channel_request_msg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_cm_active_client_req_event_direct_channel_request_msg(const sns_diag_cm_active_client_req_event_direct_channel_request_msg& from);
  sns_diag_cm_active_client_req_event_direct_channel_request_msg(sns_diag_cm_active_client_req_event_direct_channel_request_msg&& from) noexcept
    : sns_diag_cm_active_client_req_event_direct_channel_request_msg() {
    *this = ::std::move(from);
  }

  inline sns_diag_cm_active_client_req_event_direct_channel_request_msg& operator=(const sns_diag_cm_active_client_req_event_direct_channel_request_msg& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_cm_active_client_req_event_direct_channel_request_msg& operator=(sns_diag_cm_active_client_req_event_direct_channel_request_msg&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_cm_active_client_req_event_direct_channel_request_msg& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_cm_active_client_req_event_direct_channel_request_msg* internal_default_instance() {
    return reinterpret_cast<const sns_diag_cm_active_client_req_event_direct_channel_request_msg*>(
               &_sns_diag_cm_active_client_req_event_direct_channel_request_msg_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(sns_diag_cm_active_client_req_event_direct_channel_request_msg& a, sns_diag_cm_active_client_req_event_direct_channel_request_msg& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_cm_active_client_req_event_direct_channel_request_msg* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_cm_active_client_req_event_direct_channel_request_msg* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_cm_active_client_req_event_direct_channel_request_msg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_cm_active_client_req_event_direct_channel_request_msg>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_cm_active_client_req_event_direct_channel_request_msg& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_cm_active_client_req_event_direct_channel_request_msg& from) {
    sns_diag_cm_active_client_req_event_direct_channel_request_msg::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_cm_active_client_req_event_direct_channel_request_msg* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_cm_active_client_req_event.direct_channel_request_msg";
  }
  protected:
  explicit sns_diag_cm_active_client_req_event_direct_channel_request_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg direct_channel_create_msg;
  typedef sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg direct_channel_config_msg;

  // accessors -------------------------------------------------------

  enum : int {
    kConfigRequestFieldNumber = 2,
    kCreateRequestFieldNumber = 1,
  };
  // repeated .sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg config_request = 2;
  int config_request_size() const;
  private:
  int _internal_config_request_size() const;
  public:
  void clear_config_request();
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* mutable_config_request(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg >*
      mutable_config_request();
  private:
  const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& _internal_config_request(int index) const;
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* _internal_add_config_request();
  public:
  const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& config_request(int index) const;
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* add_config_request();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg >&
      config_request() const;

  // optional .sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg create_request = 1;
  bool has_create_request() const;
  private:
  bool _internal_has_create_request() const;
  public:
  void clear_create_request();
  const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& create_request() const;
  PROTOBUF_NODISCARD ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* release_create_request();
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* mutable_create_request();
  void set_allocated_create_request(::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* create_request);
  private:
  const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& _internal_create_request() const;
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* _internal_mutable_create_request();
  public:
  void unsafe_arena_set_allocated_create_request(
      ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* create_request);
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* unsafe_arena_release_create_request();

  // @@protoc_insertion_point(class_scope:sns_diag_cm_active_client_req_event.direct_channel_request_msg)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg > config_request_;
    ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* create_request_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_cm_active_client_req_event final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_cm_active_client_req_event) */ {
 public:
  inline sns_diag_cm_active_client_req_event() : sns_diag_cm_active_client_req_event(nullptr) {}
  ~sns_diag_cm_active_client_req_event() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_cm_active_client_req_event(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_cm_active_client_req_event(const sns_diag_cm_active_client_req_event& from);
  sns_diag_cm_active_client_req_event(sns_diag_cm_active_client_req_event&& from) noexcept
    : sns_diag_cm_active_client_req_event() {
    *this = ::std::move(from);
  }

  inline sns_diag_cm_active_client_req_event& operator=(const sns_diag_cm_active_client_req_event& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_cm_active_client_req_event& operator=(sns_diag_cm_active_client_req_event&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_cm_active_client_req_event& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_cm_active_client_req_event* internal_default_instance() {
    return reinterpret_cast<const sns_diag_cm_active_client_req_event*>(
               &_sns_diag_cm_active_client_req_event_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(sns_diag_cm_active_client_req_event& a, sns_diag_cm_active_client_req_event& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_cm_active_client_req_event* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_cm_active_client_req_event* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_cm_active_client_req_event* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_cm_active_client_req_event>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_cm_active_client_req_event& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_cm_active_client_req_event& from) {
    sns_diag_cm_active_client_req_event::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_cm_active_client_req_event* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_cm_active_client_req_event";
  }
  protected:
  explicit sns_diag_cm_active_client_req_event(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_cm_active_client_req_event_request_msg request_msg;
  typedef sns_diag_cm_active_client_req_event_direct_channel_request_msg direct_channel_request_msg;

  // accessors -------------------------------------------------------

  enum : int {
    kCmRequestFieldNumber = 1,
    kDirectChannelCmRequestFieldNumber = 2,
    kPartialEventFieldNumber = 3,
  };
  // repeated .sns_diag_cm_active_client_req_event.request_msg cm_request = 1;
  int cm_request_size() const;
  private:
  int _internal_cm_request_size() const;
  public:
  void clear_cm_request();
  ::sns_diag_cm_active_client_req_event_request_msg* mutable_cm_request(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_request_msg >*
      mutable_cm_request();
  private:
  const ::sns_diag_cm_active_client_req_event_request_msg& _internal_cm_request(int index) const;
  ::sns_diag_cm_active_client_req_event_request_msg* _internal_add_cm_request();
  public:
  const ::sns_diag_cm_active_client_req_event_request_msg& cm_request(int index) const;
  ::sns_diag_cm_active_client_req_event_request_msg* add_cm_request();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_request_msg >&
      cm_request() const;

  // repeated .sns_diag_cm_active_client_req_event.direct_channel_request_msg direct_channel_cm_request = 2;
  int direct_channel_cm_request_size() const;
  private:
  int _internal_direct_channel_cm_request_size() const;
  public:
  void clear_direct_channel_cm_request();
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg* mutable_direct_channel_cm_request(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_direct_channel_request_msg >*
      mutable_direct_channel_cm_request();
  private:
  const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg& _internal_direct_channel_cm_request(int index) const;
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg* _internal_add_direct_channel_cm_request();
  public:
  const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg& direct_channel_cm_request(int index) const;
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg* add_direct_channel_cm_request();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_direct_channel_request_msg >&
      direct_channel_cm_request() const;

  // optional bool partial_event = 3 [default = false];
  bool has_partial_event() const;
  private:
  bool _internal_has_partial_event() const;
  public:
  void clear_partial_event();
  bool partial_event() const;
  void set_partial_event(bool value);
  private:
  bool _internal_partial_event() const;
  void _internal_set_partial_event(bool value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_cm_active_client_req_event)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_request_msg > cm_request_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_direct_channel_request_msg > direct_channel_cm_request_;
    bool partial_event_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_debug_req final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_debug_req) */ {
 public:
  inline sns_diag_debug_req() : sns_diag_debug_req(nullptr) {}
  ~sns_diag_debug_req() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_debug_req(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_debug_req(const sns_diag_debug_req& from);
  sns_diag_debug_req(sns_diag_debug_req&& from) noexcept
    : sns_diag_debug_req() {
    *this = ::std::move(from);
  }

  inline sns_diag_debug_req& operator=(const sns_diag_debug_req& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_debug_req& operator=(sns_diag_debug_req&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_debug_req& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_debug_req* internal_default_instance() {
    return reinterpret_cast<const sns_diag_debug_req*>(
               &_sns_diag_debug_req_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(sns_diag_debug_req& a, sns_diag_debug_req& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_debug_req* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_debug_req* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_debug_req* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_debug_req>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_debug_req& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_debug_req& from) {
    sns_diag_debug_req::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_debug_req* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_debug_req";
  }
  protected:
  explicit sns_diag_debug_req(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDebugMaskFilterFieldNumber = 1,
  };
  // optional uint32 debug_mask_filter = 1;
  bool has_debug_mask_filter() const;
  private:
  bool _internal_has_debug_mask_filter() const;
  public:
  void clear_debug_mask_filter();
  uint32_t debug_mask_filter() const;
  void set_debug_mask_filter(uint32_t value);
  private:
  uint32_t _internal_debug_mask_filter() const;
  void _internal_set_debug_mask_filter(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_debug_req)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint32_t debug_mask_filter_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_power_rail_info_rail_info_vote_state final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_power_rail_info.rail_info.vote_state) */ {
 public:
  inline sns_diag_power_rail_info_rail_info_vote_state() : sns_diag_power_rail_info_rail_info_vote_state(nullptr) {}
  ~sns_diag_power_rail_info_rail_info_vote_state() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_power_rail_info_rail_info_vote_state(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_power_rail_info_rail_info_vote_state(const sns_diag_power_rail_info_rail_info_vote_state& from);
  sns_diag_power_rail_info_rail_info_vote_state(sns_diag_power_rail_info_rail_info_vote_state&& from) noexcept
    : sns_diag_power_rail_info_rail_info_vote_state() {
    *this = ::std::move(from);
  }

  inline sns_diag_power_rail_info_rail_info_vote_state& operator=(const sns_diag_power_rail_info_rail_info_vote_state& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_power_rail_info_rail_info_vote_state& operator=(sns_diag_power_rail_info_rail_info_vote_state&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_power_rail_info_rail_info_vote_state& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_power_rail_info_rail_info_vote_state* internal_default_instance() {
    return reinterpret_cast<const sns_diag_power_rail_info_rail_info_vote_state*>(
               &_sns_diag_power_rail_info_rail_info_vote_state_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(sns_diag_power_rail_info_rail_info_vote_state& a, sns_diag_power_rail_info_rail_info_vote_state& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_power_rail_info_rail_info_vote_state* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_power_rail_info_rail_info_vote_state* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_power_rail_info_rail_info_vote_state* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_power_rail_info_rail_info_vote_state>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_power_rail_info_rail_info_vote_state& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_power_rail_info_rail_info_vote_state& from) {
    sns_diag_power_rail_info_rail_info_vote_state::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_power_rail_info_rail_info_vote_state* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_power_rail_info.rail_info.vote_state";
  }
  protected:
  explicit sns_diag_power_rail_info_rail_info_vote_state(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kVoteTsFieldNumber = 2,
    kVoteFieldNumber = 1,
  };
  // optional fixed64 vote_ts = 2;
  bool has_vote_ts() const;
  private:
  bool _internal_has_vote_ts() const;
  public:
  void clear_vote_ts();
  uint64_t vote_ts() const;
  void set_vote_ts(uint64_t value);
  private:
  uint64_t _internal_vote_ts() const;
  void _internal_set_vote_ts(uint64_t value);
  public:

  // optional .sns_diag_power_rail_vote vote = 1;
  bool has_vote() const;
  private:
  bool _internal_has_vote() const;
  public:
  void clear_vote();
  ::sns_diag_power_rail_vote vote() const;
  void set_vote(::sns_diag_power_rail_vote value);
  private:
  ::sns_diag_power_rail_vote _internal_vote() const;
  void _internal_set_vote(::sns_diag_power_rail_vote value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_power_rail_info.rail_info.vote_state)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint64_t vote_ts_;
    int vote_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_power_rail_info_rail_info_client final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_power_rail_info.rail_info.client) */ {
 public:
  inline sns_diag_power_rail_info_rail_info_client() : sns_diag_power_rail_info_rail_info_client(nullptr) {}
  ~sns_diag_power_rail_info_rail_info_client() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_power_rail_info_rail_info_client(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_power_rail_info_rail_info_client(const sns_diag_power_rail_info_rail_info_client& from);
  sns_diag_power_rail_info_rail_info_client(sns_diag_power_rail_info_rail_info_client&& from) noexcept
    : sns_diag_power_rail_info_rail_info_client() {
    *this = ::std::move(from);
  }

  inline sns_diag_power_rail_info_rail_info_client& operator=(const sns_diag_power_rail_info_rail_info_client& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_power_rail_info_rail_info_client& operator=(sns_diag_power_rail_info_rail_info_client&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_power_rail_info_rail_info_client& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_power_rail_info_rail_info_client* internal_default_instance() {
    return reinterpret_cast<const sns_diag_power_rail_info_rail_info_client*>(
               &_sns_diag_power_rail_info_rail_info_client_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(sns_diag_power_rail_info_rail_info_client& a, sns_diag_power_rail_info_rail_info_client& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_power_rail_info_rail_info_client* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_power_rail_info_rail_info_client* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_power_rail_info_rail_info_client* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_power_rail_info_rail_info_client>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_power_rail_info_rail_info_client& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_power_rail_info_rail_info_client& from) {
    sns_diag_power_rail_info_rail_info_client::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_power_rail_info_rail_info_client* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_power_rail_info.rail_info.client";
  }
  protected:
  explicit sns_diag_power_rail_info_rail_info_client(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 1,
  };
  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_power_rail_info.rail_info.client)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_power_rail_info_rail_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_power_rail_info.rail_info) */ {
 public:
  inline sns_diag_power_rail_info_rail_info() : sns_diag_power_rail_info_rail_info(nullptr) {}
  ~sns_diag_power_rail_info_rail_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_power_rail_info_rail_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_power_rail_info_rail_info(const sns_diag_power_rail_info_rail_info& from);
  sns_diag_power_rail_info_rail_info(sns_diag_power_rail_info_rail_info&& from) noexcept
    : sns_diag_power_rail_info_rail_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_power_rail_info_rail_info& operator=(const sns_diag_power_rail_info_rail_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_power_rail_info_rail_info& operator=(sns_diag_power_rail_info_rail_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_power_rail_info_rail_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_power_rail_info_rail_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_power_rail_info_rail_info*>(
               &_sns_diag_power_rail_info_rail_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(sns_diag_power_rail_info_rail_info& a, sns_diag_power_rail_info_rail_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_power_rail_info_rail_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_power_rail_info_rail_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_power_rail_info_rail_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_power_rail_info_rail_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_power_rail_info_rail_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_power_rail_info_rail_info& from) {
    sns_diag_power_rail_info_rail_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_power_rail_info_rail_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_power_rail_info.rail_info";
  }
  protected:
  explicit sns_diag_power_rail_info_rail_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_power_rail_info_rail_info_vote_state vote_state;
  typedef sns_diag_power_rail_info_rail_info_client client;

  // accessors -------------------------------------------------------

  enum : int {
    kClientsFieldNumber = 3,
    kNameFieldNumber = 1,
    kStateFieldNumber = 2,
  };
  // repeated .sns_diag_power_rail_info.rail_info.client clients = 3;
  int clients_size() const;
  private:
  int _internal_clients_size() const;
  public:
  void clear_clients();
  ::sns_diag_power_rail_info_rail_info_client* mutable_clients(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_power_rail_info_rail_info_client >*
      mutable_clients();
  private:
  const ::sns_diag_power_rail_info_rail_info_client& _internal_clients(int index) const;
  ::sns_diag_power_rail_info_rail_info_client* _internal_add_clients();
  public:
  const ::sns_diag_power_rail_info_rail_info_client& clients(int index) const;
  ::sns_diag_power_rail_info_rail_info_client* add_clients();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_power_rail_info_rail_info_client >&
      clients() const;

  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional .sns_diag_power_rail_info.rail_info.vote_state state = 2;
  bool has_state() const;
  private:
  bool _internal_has_state() const;
  public:
  void clear_state();
  const ::sns_diag_power_rail_info_rail_info_vote_state& state() const;
  PROTOBUF_NODISCARD ::sns_diag_power_rail_info_rail_info_vote_state* release_state();
  ::sns_diag_power_rail_info_rail_info_vote_state* mutable_state();
  void set_allocated_state(::sns_diag_power_rail_info_rail_info_vote_state* state);
  private:
  const ::sns_diag_power_rail_info_rail_info_vote_state& _internal_state() const;
  ::sns_diag_power_rail_info_rail_info_vote_state* _internal_mutable_state();
  public:
  void unsafe_arena_set_allocated_state(
      ::sns_diag_power_rail_info_rail_info_vote_state* state);
  ::sns_diag_power_rail_info_rail_info_vote_state* unsafe_arena_release_state();

  // @@protoc_insertion_point(class_scope:sns_diag_power_rail_info.rail_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_power_rail_info_rail_info_client > clients_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::sns_diag_power_rail_info_rail_info_vote_state* state_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_power_rail_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_power_rail_info) */ {
 public:
  inline sns_diag_power_rail_info() : sns_diag_power_rail_info(nullptr) {}
  ~sns_diag_power_rail_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_power_rail_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_power_rail_info(const sns_diag_power_rail_info& from);
  sns_diag_power_rail_info(sns_diag_power_rail_info&& from) noexcept
    : sns_diag_power_rail_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_power_rail_info& operator=(const sns_diag_power_rail_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_power_rail_info& operator=(sns_diag_power_rail_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_power_rail_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_power_rail_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_power_rail_info*>(
               &_sns_diag_power_rail_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(sns_diag_power_rail_info& a, sns_diag_power_rail_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_power_rail_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_power_rail_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_power_rail_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_power_rail_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_power_rail_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_power_rail_info& from) {
    sns_diag_power_rail_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_power_rail_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_power_rail_info";
  }
  protected:
  explicit sns_diag_power_rail_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_power_rail_info_rail_info rail_info;

  // accessors -------------------------------------------------------

  enum : int {
    kRailsFieldNumber = 1,
  };
  // repeated .sns_diag_power_rail_info.rail_info rails = 1;
  int rails_size() const;
  private:
  int _internal_rails_size() const;
  public:
  void clear_rails();
  ::sns_diag_power_rail_info_rail_info* mutable_rails(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_power_rail_info_rail_info >*
      mutable_rails();
  private:
  const ::sns_diag_power_rail_info_rail_info& _internal_rails(int index) const;
  ::sns_diag_power_rail_info_rail_info* _internal_add_rails();
  public:
  const ::sns_diag_power_rail_info_rail_info& rails(int index) const;
  ::sns_diag_power_rail_info_rail_info* add_rails();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_power_rail_info_rail_info >&
      rails() const;

  // @@protoc_insertion_point(class_scope:sns_diag_power_rail_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_power_rail_info_rail_info > rails_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_island_info_client_info_vote_state final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_island_info.client_info.vote_state) */ {
 public:
  inline sns_diag_island_info_client_info_vote_state() : sns_diag_island_info_client_info_vote_state(nullptr) {}
  ~sns_diag_island_info_client_info_vote_state() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_island_info_client_info_vote_state(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_island_info_client_info_vote_state(const sns_diag_island_info_client_info_vote_state& from);
  sns_diag_island_info_client_info_vote_state(sns_diag_island_info_client_info_vote_state&& from) noexcept
    : sns_diag_island_info_client_info_vote_state() {
    *this = ::std::move(from);
  }

  inline sns_diag_island_info_client_info_vote_state& operator=(const sns_diag_island_info_client_info_vote_state& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_island_info_client_info_vote_state& operator=(sns_diag_island_info_client_info_vote_state&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_island_info_client_info_vote_state& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_island_info_client_info_vote_state* internal_default_instance() {
    return reinterpret_cast<const sns_diag_island_info_client_info_vote_state*>(
               &_sns_diag_island_info_client_info_vote_state_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(sns_diag_island_info_client_info_vote_state& a, sns_diag_island_info_client_info_vote_state& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_island_info_client_info_vote_state* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_island_info_client_info_vote_state* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_island_info_client_info_vote_state* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_island_info_client_info_vote_state>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_island_info_client_info_vote_state& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_island_info_client_info_vote_state& from) {
    sns_diag_island_info_client_info_vote_state::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_island_info_client_info_vote_state* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_island_info.client_info.vote_state";
  }
  protected:
  explicit sns_diag_island_info_client_info_vote_state(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kVoteTsFieldNumber = 2,
    kVoteFieldNumber = 1,
  };
  // optional fixed64 vote_ts = 2;
  bool has_vote_ts() const;
  private:
  bool _internal_has_vote_ts() const;
  public:
  void clear_vote_ts();
  uint64_t vote_ts() const;
  void set_vote_ts(uint64_t value);
  private:
  uint64_t _internal_vote_ts() const;
  void _internal_set_vote_ts(uint64_t value);
  public:

  // optional .sns_diag_island_vote vote = 1;
  bool has_vote() const;
  private:
  bool _internal_has_vote() const;
  public:
  void clear_vote();
  ::sns_diag_island_vote vote() const;
  void set_vote(::sns_diag_island_vote value);
  private:
  ::sns_diag_island_vote _internal_vote() const;
  void _internal_set_vote(::sns_diag_island_vote value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_island_info.client_info.vote_state)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint64_t vote_ts_;
    int vote_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_island_info_client_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_island_info.client_info) */ {
 public:
  inline sns_diag_island_info_client_info() : sns_diag_island_info_client_info(nullptr) {}
  ~sns_diag_island_info_client_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_island_info_client_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_island_info_client_info(const sns_diag_island_info_client_info& from);
  sns_diag_island_info_client_info(sns_diag_island_info_client_info&& from) noexcept
    : sns_diag_island_info_client_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_island_info_client_info& operator=(const sns_diag_island_info_client_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_island_info_client_info& operator=(sns_diag_island_info_client_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_island_info_client_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_island_info_client_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_island_info_client_info*>(
               &_sns_diag_island_info_client_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(sns_diag_island_info_client_info& a, sns_diag_island_info_client_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_island_info_client_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_island_info_client_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_island_info_client_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_island_info_client_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_island_info_client_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_island_info_client_info& from) {
    sns_diag_island_info_client_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_island_info_client_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_island_info.client_info";
  }
  protected:
  explicit sns_diag_island_info_client_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_island_info_client_info_vote_state vote_state;

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 1,
    kStateFieldNumber = 2,
    kLastBlockDurationFieldNumber = 3,
  };
  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional .sns_diag_island_info.client_info.vote_state state = 2;
  bool has_state() const;
  private:
  bool _internal_has_state() const;
  public:
  void clear_state();
  const ::sns_diag_island_info_client_info_vote_state& state() const;
  PROTOBUF_NODISCARD ::sns_diag_island_info_client_info_vote_state* release_state();
  ::sns_diag_island_info_client_info_vote_state* mutable_state();
  void set_allocated_state(::sns_diag_island_info_client_info_vote_state* state);
  private:
  const ::sns_diag_island_info_client_info_vote_state& _internal_state() const;
  ::sns_diag_island_info_client_info_vote_state* _internal_mutable_state();
  public:
  void unsafe_arena_set_allocated_state(
      ::sns_diag_island_info_client_info_vote_state* state);
  ::sns_diag_island_info_client_info_vote_state* unsafe_arena_release_state();

  // optional fixed64 last_block_duration = 3;
  bool has_last_block_duration() const;
  private:
  bool _internal_has_last_block_duration() const;
  public:
  void clear_last_block_duration();
  uint64_t last_block_duration() const;
  void set_last_block_duration(uint64_t value);
  private:
  uint64_t _internal_last_block_duration() const;
  void _internal_set_last_block_duration(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_island_info.client_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::sns_diag_island_info_client_info_vote_state* state_;
    uint64_t last_block_duration_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_island_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_island_info) */ {
 public:
  inline sns_diag_island_info() : sns_diag_island_info(nullptr) {}
  ~sns_diag_island_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_island_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_island_info(const sns_diag_island_info& from);
  sns_diag_island_info(sns_diag_island_info&& from) noexcept
    : sns_diag_island_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_island_info& operator=(const sns_diag_island_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_island_info& operator=(sns_diag_island_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_island_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_island_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_island_info*>(
               &_sns_diag_island_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    13;

  friend void swap(sns_diag_island_info& a, sns_diag_island_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_island_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_island_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_island_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_island_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_island_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_island_info& from) {
    sns_diag_island_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_island_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_island_info";
  }
  protected:
  explicit sns_diag_island_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_island_info_client_info client_info;

  // accessors -------------------------------------------------------

  enum : int {
    kClientsFieldNumber = 1,
  };
  // repeated .sns_diag_island_info.client_info clients = 1;
  int clients_size() const;
  private:
  int _internal_clients_size() const;
  public:
  void clear_clients();
  ::sns_diag_island_info_client_info* mutable_clients(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_island_info_client_info >*
      mutable_clients();
  private:
  const ::sns_diag_island_info_client_info& _internal_clients(int index) const;
  ::sns_diag_island_info_client_info* _internal_add_clients();
  public:
  const ::sns_diag_island_info_client_info& clients(int index) const;
  ::sns_diag_island_info_client_info* add_clients();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_island_info_client_info >&
      clients() const;

  // @@protoc_insertion_point(class_scope:sns_diag_island_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_island_info_client_info > clients_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_clock_info_client_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_clock_info.client_info) */ {
 public:
  inline sns_diag_clock_info_client_info() : sns_diag_clock_info_client_info(nullptr) {}
  ~sns_diag_clock_info_client_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_clock_info_client_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_clock_info_client_info(const sns_diag_clock_info_client_info& from);
  sns_diag_clock_info_client_info(sns_diag_clock_info_client_info&& from) noexcept
    : sns_diag_clock_info_client_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_clock_info_client_info& operator=(const sns_diag_clock_info_client_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_clock_info_client_info& operator=(sns_diag_clock_info_client_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_clock_info_client_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_clock_info_client_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_clock_info_client_info*>(
               &_sns_diag_clock_info_client_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    14;

  friend void swap(sns_diag_clock_info_client_info& a, sns_diag_clock_info_client_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_clock_info_client_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_clock_info_client_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_clock_info_client_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_clock_info_client_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_clock_info_client_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_clock_info_client_info& from) {
    sns_diag_clock_info_client_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_clock_info_client_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_clock_info.client_info";
  }
  protected:
  explicit sns_diag_clock_info_client_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 1,
    kClockVoteFieldNumber = 3,
    kClockIdFieldNumber = 2,
  };
  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional uint64 clock_vote = 3;
  bool has_clock_vote() const;
  private:
  bool _internal_has_clock_vote() const;
  public:
  void clear_clock_vote();
  uint64_t clock_vote() const;
  void set_clock_vote(uint64_t value);
  private:
  uint64_t _internal_clock_vote() const;
  void _internal_set_clock_vote(uint64_t value);
  public:

  // optional .sns_diag_clock_id clock_id = 2;
  bool has_clock_id() const;
  private:
  bool _internal_has_clock_id() const;
  public:
  void clear_clock_id();
  ::sns_diag_clock_id clock_id() const;
  void set_clock_id(::sns_diag_clock_id value);
  private:
  ::sns_diag_clock_id _internal_clock_id() const;
  void _internal_set_clock_id(::sns_diag_clock_id value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_clock_info.client_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    uint64_t clock_vote_;
    int clock_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_clock_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_clock_info) */ {
 public:
  inline sns_diag_clock_info() : sns_diag_clock_info(nullptr) {}
  ~sns_diag_clock_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_clock_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_clock_info(const sns_diag_clock_info& from);
  sns_diag_clock_info(sns_diag_clock_info&& from) noexcept
    : sns_diag_clock_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_clock_info& operator=(const sns_diag_clock_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_clock_info& operator=(sns_diag_clock_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_clock_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_clock_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_clock_info*>(
               &_sns_diag_clock_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    15;

  friend void swap(sns_diag_clock_info& a, sns_diag_clock_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_clock_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_clock_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_clock_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_clock_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_clock_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_clock_info& from) {
    sns_diag_clock_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_clock_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_clock_info";
  }
  protected:
  explicit sns_diag_clock_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_clock_info_client_info client_info;

  // accessors -------------------------------------------------------

  enum : int {
    kClientsFieldNumber = 1,
  };
  // repeated .sns_diag_clock_info.client_info clients = 1;
  int clients_size() const;
  private:
  int _internal_clients_size() const;
  public:
  void clear_clients();
  ::sns_diag_clock_info_client_info* mutable_clients(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_clock_info_client_info >*
      mutable_clients();
  private:
  const ::sns_diag_clock_info_client_info& _internal_clients(int index) const;
  ::sns_diag_clock_info_client_info* _internal_add_clients();
  public:
  const ::sns_diag_clock_info_client_info& clients(int index) const;
  ::sns_diag_clock_info_client_info* add_clients();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_clock_info_client_info >&
      clients() const;

  // @@protoc_insertion_point(class_scope:sns_diag_clock_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_clock_info_client_info > clients_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_latency_info_client_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_latency_info.client_info) */ {
 public:
  inline sns_diag_latency_info_client_info() : sns_diag_latency_info_client_info(nullptr) {}
  ~sns_diag_latency_info_client_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_latency_info_client_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_latency_info_client_info(const sns_diag_latency_info_client_info& from);
  sns_diag_latency_info_client_info(sns_diag_latency_info_client_info&& from) noexcept
    : sns_diag_latency_info_client_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_latency_info_client_info& operator=(const sns_diag_latency_info_client_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_latency_info_client_info& operator=(sns_diag_latency_info_client_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_latency_info_client_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_latency_info_client_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_latency_info_client_info*>(
               &_sns_diag_latency_info_client_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    16;

  friend void swap(sns_diag_latency_info_client_info& a, sns_diag_latency_info_client_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_latency_info_client_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_latency_info_client_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_latency_info_client_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_latency_info_client_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_latency_info_client_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_latency_info_client_info& from) {
    sns_diag_latency_info_client_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_latency_info_client_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_latency_info.client_info";
  }
  protected:
  explicit sns_diag_latency_info_client_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 1,
    kLatencyVoteFieldNumber = 2,
    kLatencyVoteTsFieldNumber = 4,
    kLastActiveDurationFieldNumber = 5,
    kLatencyVoteStatusFieldNumber = 3,
  };
  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional uint64 latency_vote = 2;
  bool has_latency_vote() const;
  private:
  bool _internal_has_latency_vote() const;
  public:
  void clear_latency_vote();
  uint64_t latency_vote() const;
  void set_latency_vote(uint64_t value);
  private:
  uint64_t _internal_latency_vote() const;
  void _internal_set_latency_vote(uint64_t value);
  public:

  // optional fixed64 latency_vote_ts = 4;
  bool has_latency_vote_ts() const;
  private:
  bool _internal_has_latency_vote_ts() const;
  public:
  void clear_latency_vote_ts();
  uint64_t latency_vote_ts() const;
  void set_latency_vote_ts(uint64_t value);
  private:
  uint64_t _internal_latency_vote_ts() const;
  void _internal_set_latency_vote_ts(uint64_t value);
  public:

  // optional fixed64 last_active_duration = 5;
  bool has_last_active_duration() const;
  private:
  bool _internal_has_last_active_duration() const;
  public:
  void clear_last_active_duration();
  uint64_t last_active_duration() const;
  void set_last_active_duration(uint64_t value);
  private:
  uint64_t _internal_last_active_duration() const;
  void _internal_set_last_active_duration(uint64_t value);
  public:

  // optional .sns_diag_latency_vote_status latency_vote_status = 3;
  bool has_latency_vote_status() const;
  private:
  bool _internal_has_latency_vote_status() const;
  public:
  void clear_latency_vote_status();
  ::sns_diag_latency_vote_status latency_vote_status() const;
  void set_latency_vote_status(::sns_diag_latency_vote_status value);
  private:
  ::sns_diag_latency_vote_status _internal_latency_vote_status() const;
  void _internal_set_latency_vote_status(::sns_diag_latency_vote_status value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_latency_info.client_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    uint64_t latency_vote_;
    uint64_t latency_vote_ts_;
    uint64_t last_active_duration_;
    int latency_vote_status_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_latency_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_latency_info) */ {
 public:
  inline sns_diag_latency_info() : sns_diag_latency_info(nullptr) {}
  ~sns_diag_latency_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_latency_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_latency_info(const sns_diag_latency_info& from);
  sns_diag_latency_info(sns_diag_latency_info&& from) noexcept
    : sns_diag_latency_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_latency_info& operator=(const sns_diag_latency_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_latency_info& operator=(sns_diag_latency_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_latency_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_latency_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_latency_info*>(
               &_sns_diag_latency_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    17;

  friend void swap(sns_diag_latency_info& a, sns_diag_latency_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_latency_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_latency_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_latency_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_latency_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_latency_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_latency_info& from) {
    sns_diag_latency_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_latency_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_latency_info";
  }
  protected:
  explicit sns_diag_latency_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_latency_info_client_info client_info;

  // accessors -------------------------------------------------------

  enum : int {
    kClientsFieldNumber = 1,
  };
  // repeated .sns_diag_latency_info.client_info clients = 1;
  int clients_size() const;
  private:
  int _internal_clients_size() const;
  public:
  void clear_clients();
  ::sns_diag_latency_info_client_info* mutable_clients(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_latency_info_client_info >*
      mutable_clients();
  private:
  const ::sns_diag_latency_info_client_info& _internal_clients(int index) const;
  ::sns_diag_latency_info_client_info* _internal_add_clients();
  public:
  const ::sns_diag_latency_info_client_info& clients(int index) const;
  ::sns_diag_latency_info_client_info* add_clients();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_latency_info_client_info >&
      clients() const;

  // @@protoc_insertion_point(class_scope:sns_diag_latency_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_latency_info_client_info > clients_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_sleep_info_proc_info_wakeup_rate_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_sleep_info.proc_info.wakeup_rate_info) */ {
 public:
  inline sns_diag_sleep_info_proc_info_wakeup_rate_info() : sns_diag_sleep_info_proc_info_wakeup_rate_info(nullptr) {}
  ~sns_diag_sleep_info_proc_info_wakeup_rate_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_sleep_info_proc_info_wakeup_rate_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_sleep_info_proc_info_wakeup_rate_info(const sns_diag_sleep_info_proc_info_wakeup_rate_info& from);
  sns_diag_sleep_info_proc_info_wakeup_rate_info(sns_diag_sleep_info_proc_info_wakeup_rate_info&& from) noexcept
    : sns_diag_sleep_info_proc_info_wakeup_rate_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_sleep_info_proc_info_wakeup_rate_info& operator=(const sns_diag_sleep_info_proc_info_wakeup_rate_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_sleep_info_proc_info_wakeup_rate_info& operator=(sns_diag_sleep_info_proc_info_wakeup_rate_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_sleep_info_proc_info_wakeup_rate_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_sleep_info_proc_info_wakeup_rate_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_sleep_info_proc_info_wakeup_rate_info*>(
               &_sns_diag_sleep_info_proc_info_wakeup_rate_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    18;

  friend void swap(sns_diag_sleep_info_proc_info_wakeup_rate_info& a, sns_diag_sleep_info_proc_info_wakeup_rate_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_sleep_info_proc_info_wakeup_rate_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_sleep_info_proc_info_wakeup_rate_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_sleep_info_proc_info_wakeup_rate_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_sleep_info_proc_info_wakeup_rate_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_sleep_info_proc_info_wakeup_rate_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_sleep_info_proc_info_wakeup_rate_info& from) {
    sns_diag_sleep_info_proc_info_wakeup_rate_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_sleep_info_proc_info_wakeup_rate_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_sleep_info.proc_info.wakeup_rate_info";
  }
  protected:
  explicit sns_diag_sleep_info_proc_info_wakeup_rate_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kLpmFieldNumber = 1,
    kNpmFieldNumber = 2,
  };
  // optional uint32 lpm = 1;
  bool has_lpm() const;
  private:
  bool _internal_has_lpm() const;
  public:
  void clear_lpm();
  uint32_t lpm() const;
  void set_lpm(uint32_t value);
  private:
  uint32_t _internal_lpm() const;
  void _internal_set_lpm(uint32_t value);
  public:

  // optional uint32 npm = 2;
  bool has_npm() const;
  private:
  bool _internal_has_npm() const;
  public:
  void clear_npm();
  uint32_t npm() const;
  void set_npm(uint32_t value);
  private:
  uint32_t _internal_npm() const;
  void _internal_set_npm(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_sleep_info.proc_info.wakeup_rate_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint32_t lpm_;
    uint32_t npm_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_sleep_info_proc_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_sleep_info.proc_info) */ {
 public:
  inline sns_diag_sleep_info_proc_info() : sns_diag_sleep_info_proc_info(nullptr) {}
  ~sns_diag_sleep_info_proc_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_sleep_info_proc_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_sleep_info_proc_info(const sns_diag_sleep_info_proc_info& from);
  sns_diag_sleep_info_proc_info(sns_diag_sleep_info_proc_info&& from) noexcept
    : sns_diag_sleep_info_proc_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_sleep_info_proc_info& operator=(const sns_diag_sleep_info_proc_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_sleep_info_proc_info& operator=(sns_diag_sleep_info_proc_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_sleep_info_proc_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_sleep_info_proc_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_sleep_info_proc_info*>(
               &_sns_diag_sleep_info_proc_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    19;

  friend void swap(sns_diag_sleep_info_proc_info& a, sns_diag_sleep_info_proc_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_sleep_info_proc_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_sleep_info_proc_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_sleep_info_proc_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_sleep_info_proc_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_sleep_info_proc_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_sleep_info_proc_info& from) {
    sns_diag_sleep_info_proc_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_sleep_info_proc_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_sleep_info.proc_info";
  }
  protected:
  explicit sns_diag_sleep_info_proc_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_sleep_info_proc_info_wakeup_rate_info wakeup_rate_info;

  // accessors -------------------------------------------------------

  enum : int {
    kWakeupRateFieldNumber = 2,
    kProcFieldNumber = 1,
  };
  // optional .sns_diag_sleep_info.proc_info.wakeup_rate_info wakeup_rate = 2;
  bool has_wakeup_rate() const;
  private:
  bool _internal_has_wakeup_rate() const;
  public:
  void clear_wakeup_rate();
  const ::sns_diag_sleep_info_proc_info_wakeup_rate_info& wakeup_rate() const;
  PROTOBUF_NODISCARD ::sns_diag_sleep_info_proc_info_wakeup_rate_info* release_wakeup_rate();
  ::sns_diag_sleep_info_proc_info_wakeup_rate_info* mutable_wakeup_rate();
  void set_allocated_wakeup_rate(::sns_diag_sleep_info_proc_info_wakeup_rate_info* wakeup_rate);
  private:
  const ::sns_diag_sleep_info_proc_info_wakeup_rate_info& _internal_wakeup_rate() const;
  ::sns_diag_sleep_info_proc_info_wakeup_rate_info* _internal_mutable_wakeup_rate();
  public:
  void unsafe_arena_set_allocated_wakeup_rate(
      ::sns_diag_sleep_info_proc_info_wakeup_rate_info* wakeup_rate);
  ::sns_diag_sleep_info_proc_info_wakeup_rate_info* unsafe_arena_release_wakeup_rate();

  // optional .sns_diag_sleep_proc proc = 1;
  bool has_proc() const;
  private:
  bool _internal_has_proc() const;
  public:
  void clear_proc();
  ::sns_diag_sleep_proc proc() const;
  void set_proc(::sns_diag_sleep_proc value);
  private:
  ::sns_diag_sleep_proc _internal_proc() const;
  void _internal_set_proc(::sns_diag_sleep_proc value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_sleep_info.proc_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::sns_diag_sleep_info_proc_info_wakeup_rate_info* wakeup_rate_;
    int proc_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_sleep_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_sleep_info) */ {
 public:
  inline sns_diag_sleep_info() : sns_diag_sleep_info(nullptr) {}
  ~sns_diag_sleep_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_sleep_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_sleep_info(const sns_diag_sleep_info& from);
  sns_diag_sleep_info(sns_diag_sleep_info&& from) noexcept
    : sns_diag_sleep_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_sleep_info& operator=(const sns_diag_sleep_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_sleep_info& operator=(sns_diag_sleep_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_sleep_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_sleep_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_sleep_info*>(
               &_sns_diag_sleep_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    20;

  friend void swap(sns_diag_sleep_info& a, sns_diag_sleep_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_sleep_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_sleep_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_sleep_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_sleep_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_sleep_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_sleep_info& from) {
    sns_diag_sleep_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_sleep_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_sleep_info";
  }
  protected:
  explicit sns_diag_sleep_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_sleep_info_proc_info proc_info;

  // accessors -------------------------------------------------------

  enum : int {
    kProcsFieldNumber = 1,
  };
  // repeated .sns_diag_sleep_info.proc_info procs = 1;
  int procs_size() const;
  private:
  int _internal_procs_size() const;
  public:
  void clear_procs();
  ::sns_diag_sleep_info_proc_info* mutable_procs(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_sleep_info_proc_info >*
      mutable_procs();
  private:
  const ::sns_diag_sleep_info_proc_info& _internal_procs(int index) const;
  ::sns_diag_sleep_info_proc_info* _internal_add_procs();
  public:
  const ::sns_diag_sleep_info_proc_info& procs(int index) const;
  ::sns_diag_sleep_info_proc_info* add_procs();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_sleep_info_proc_info >&
      procs() const;

  // @@protoc_insertion_point(class_scope:sns_diag_sleep_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_sleep_info_proc_info > procs_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_bandwidth_info_client_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_bandwidth_info.client_info) */ {
 public:
  inline sns_diag_bandwidth_info_client_info() : sns_diag_bandwidth_info_client_info(nullptr) {}
  ~sns_diag_bandwidth_info_client_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_bandwidth_info_client_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_bandwidth_info_client_info(const sns_diag_bandwidth_info_client_info& from);
  sns_diag_bandwidth_info_client_info(sns_diag_bandwidth_info_client_info&& from) noexcept
    : sns_diag_bandwidth_info_client_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_bandwidth_info_client_info& operator=(const sns_diag_bandwidth_info_client_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_bandwidth_info_client_info& operator=(sns_diag_bandwidth_info_client_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_bandwidth_info_client_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_bandwidth_info_client_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_bandwidth_info_client_info*>(
               &_sns_diag_bandwidth_info_client_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    21;

  friend void swap(sns_diag_bandwidth_info_client_info& a, sns_diag_bandwidth_info_client_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_bandwidth_info_client_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_bandwidth_info_client_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_bandwidth_info_client_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_bandwidth_info_client_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_bandwidth_info_client_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_bandwidth_info_client_info& from) {
    sns_diag_bandwidth_info_client_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_bandwidth_info_client_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_bandwidth_info.client_info";
  }
  protected:
  explicit sns_diag_bandwidth_info_client_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 1,
    kProcFieldNumber = 2,
    kMemoryFieldNumber = 3,
    kBandwidthVoteFieldNumber = 4,
  };
  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional .sns_diag_bandwidth_proc proc = 2;
  bool has_proc() const;
  private:
  bool _internal_has_proc() const;
  public:
  void clear_proc();
  ::sns_diag_bandwidth_proc proc() const;
  void set_proc(::sns_diag_bandwidth_proc value);
  private:
  ::sns_diag_bandwidth_proc _internal_proc() const;
  void _internal_set_proc(::sns_diag_bandwidth_proc value);
  public:

  // optional .sns_diag_bandwidth_memory memory = 3;
  bool has_memory() const;
  private:
  bool _internal_has_memory() const;
  public:
  void clear_memory();
  ::sns_diag_bandwidth_memory memory() const;
  void set_memory(::sns_diag_bandwidth_memory value);
  private:
  ::sns_diag_bandwidth_memory _internal_memory() const;
  void _internal_set_memory(::sns_diag_bandwidth_memory value);
  public:

  // optional uint64 bandwidth_vote = 4;
  bool has_bandwidth_vote() const;
  private:
  bool _internal_has_bandwidth_vote() const;
  public:
  void clear_bandwidth_vote();
  uint64_t bandwidth_vote() const;
  void set_bandwidth_vote(uint64_t value);
  private:
  uint64_t _internal_bandwidth_vote() const;
  void _internal_set_bandwidth_vote(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_bandwidth_info.client_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    int proc_;
    int memory_;
    uint64_t bandwidth_vote_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_bandwidth_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_bandwidth_info) */ {
 public:
  inline sns_diag_bandwidth_info() : sns_diag_bandwidth_info(nullptr) {}
  ~sns_diag_bandwidth_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_bandwidth_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_bandwidth_info(const sns_diag_bandwidth_info& from);
  sns_diag_bandwidth_info(sns_diag_bandwidth_info&& from) noexcept
    : sns_diag_bandwidth_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_bandwidth_info& operator=(const sns_diag_bandwidth_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_bandwidth_info& operator=(sns_diag_bandwidth_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_bandwidth_info& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_bandwidth_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_bandwidth_info*>(
               &_sns_diag_bandwidth_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    22;

  friend void swap(sns_diag_bandwidth_info& a, sns_diag_bandwidth_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_bandwidth_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_bandwidth_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_bandwidth_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_bandwidth_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_bandwidth_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_bandwidth_info& from) {
    sns_diag_bandwidth_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_bandwidth_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_bandwidth_info";
  }
  protected:
  explicit sns_diag_bandwidth_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef sns_diag_bandwidth_info_client_info client_info;

  // accessors -------------------------------------------------------

  enum : int {
    kClientsFieldNumber = 1,
  };
  // repeated .sns_diag_bandwidth_info.client_info clients = 1;
  int clients_size() const;
  private:
  int _internal_clients_size() const;
  public:
  void clear_clients();
  ::sns_diag_bandwidth_info_client_info* mutable_clients(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_bandwidth_info_client_info >*
      mutable_clients();
  private:
  const ::sns_diag_bandwidth_info_client_info& _internal_clients(int index) const;
  ::sns_diag_bandwidth_info_client_info* _internal_add_clients();
  public:
  const ::sns_diag_bandwidth_info_client_info& clients(int index) const;
  ::sns_diag_bandwidth_info_client_info* add_clients();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_bandwidth_info_client_info >&
      clients() const;

  // @@protoc_insertion_point(class_scope:sns_diag_bandwidth_info)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_bandwidth_info_client_info > clients_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_debug_info final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_debug_info) */ {
 public:
  inline sns_diag_debug_info() : sns_diag_debug_info(nullptr) {}
  ~sns_diag_debug_info() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_debug_info(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_debug_info(const sns_diag_debug_info& from);
  sns_diag_debug_info(sns_diag_debug_info&& from) noexcept
    : sns_diag_debug_info() {
    *this = ::std::move(from);
  }

  inline sns_diag_debug_info& operator=(const sns_diag_debug_info& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_debug_info& operator=(sns_diag_debug_info&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_debug_info& default_instance() {
    return *internal_default_instance();
  }
  enum DebugInfoCase {
    kPowerRailInfo = 1,
    kClockInfo = 2,
    kLatencyInfo = 3,
    kSleepInfo = 4,
    kBandwidthInfo = 5,
    kIslandInfo = 6,
    DEBUG_INFO_NOT_SET = 0,
  };

  static inline const sns_diag_debug_info* internal_default_instance() {
    return reinterpret_cast<const sns_diag_debug_info*>(
               &_sns_diag_debug_info_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    23;

  friend void swap(sns_diag_debug_info& a, sns_diag_debug_info& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_debug_info* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_debug_info* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_debug_info* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_debug_info>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_debug_info& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_debug_info& from) {
    sns_diag_debug_info::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_debug_info* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_debug_info";
  }
  protected:
  explicit sns_diag_debug_info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kPowerRailInfoFieldNumber = 1,
    kClockInfoFieldNumber = 2,
    kLatencyInfoFieldNumber = 3,
    kSleepInfoFieldNumber = 4,
    kBandwidthInfoFieldNumber = 5,
    kIslandInfoFieldNumber = 6,
  };
  // .sns_diag_power_rail_info power_rail_info = 1;
  bool has_power_rail_info() const;
  private:
  bool _internal_has_power_rail_info() const;
  public:
  void clear_power_rail_info();
  const ::sns_diag_power_rail_info& power_rail_info() const;
  PROTOBUF_NODISCARD ::sns_diag_power_rail_info* release_power_rail_info();
  ::sns_diag_power_rail_info* mutable_power_rail_info();
  void set_allocated_power_rail_info(::sns_diag_power_rail_info* power_rail_info);
  private:
  const ::sns_diag_power_rail_info& _internal_power_rail_info() const;
  ::sns_diag_power_rail_info* _internal_mutable_power_rail_info();
  public:
  void unsafe_arena_set_allocated_power_rail_info(
      ::sns_diag_power_rail_info* power_rail_info);
  ::sns_diag_power_rail_info* unsafe_arena_release_power_rail_info();

  // .sns_diag_clock_info clock_info = 2;
  bool has_clock_info() const;
  private:
  bool _internal_has_clock_info() const;
  public:
  void clear_clock_info();
  const ::sns_diag_clock_info& clock_info() const;
  PROTOBUF_NODISCARD ::sns_diag_clock_info* release_clock_info();
  ::sns_diag_clock_info* mutable_clock_info();
  void set_allocated_clock_info(::sns_diag_clock_info* clock_info);
  private:
  const ::sns_diag_clock_info& _internal_clock_info() const;
  ::sns_diag_clock_info* _internal_mutable_clock_info();
  public:
  void unsafe_arena_set_allocated_clock_info(
      ::sns_diag_clock_info* clock_info);
  ::sns_diag_clock_info* unsafe_arena_release_clock_info();

  // .sns_diag_latency_info latency_info = 3;
  bool has_latency_info() const;
  private:
  bool _internal_has_latency_info() const;
  public:
  void clear_latency_info();
  const ::sns_diag_latency_info& latency_info() const;
  PROTOBUF_NODISCARD ::sns_diag_latency_info* release_latency_info();
  ::sns_diag_latency_info* mutable_latency_info();
  void set_allocated_latency_info(::sns_diag_latency_info* latency_info);
  private:
  const ::sns_diag_latency_info& _internal_latency_info() const;
  ::sns_diag_latency_info* _internal_mutable_latency_info();
  public:
  void unsafe_arena_set_allocated_latency_info(
      ::sns_diag_latency_info* latency_info);
  ::sns_diag_latency_info* unsafe_arena_release_latency_info();

  // .sns_diag_sleep_info sleep_info = 4;
  bool has_sleep_info() const;
  private:
  bool _internal_has_sleep_info() const;
  public:
  void clear_sleep_info();
  const ::sns_diag_sleep_info& sleep_info() const;
  PROTOBUF_NODISCARD ::sns_diag_sleep_info* release_sleep_info();
  ::sns_diag_sleep_info* mutable_sleep_info();
  void set_allocated_sleep_info(::sns_diag_sleep_info* sleep_info);
  private:
  const ::sns_diag_sleep_info& _internal_sleep_info() const;
  ::sns_diag_sleep_info* _internal_mutable_sleep_info();
  public:
  void unsafe_arena_set_allocated_sleep_info(
      ::sns_diag_sleep_info* sleep_info);
  ::sns_diag_sleep_info* unsafe_arena_release_sleep_info();

  // .sns_diag_bandwidth_info bandwidth_info = 5;
  bool has_bandwidth_info() const;
  private:
  bool _internal_has_bandwidth_info() const;
  public:
  void clear_bandwidth_info();
  const ::sns_diag_bandwidth_info& bandwidth_info() const;
  PROTOBUF_NODISCARD ::sns_diag_bandwidth_info* release_bandwidth_info();
  ::sns_diag_bandwidth_info* mutable_bandwidth_info();
  void set_allocated_bandwidth_info(::sns_diag_bandwidth_info* bandwidth_info);
  private:
  const ::sns_diag_bandwidth_info& _internal_bandwidth_info() const;
  ::sns_diag_bandwidth_info* _internal_mutable_bandwidth_info();
  public:
  void unsafe_arena_set_allocated_bandwidth_info(
      ::sns_diag_bandwidth_info* bandwidth_info);
  ::sns_diag_bandwidth_info* unsafe_arena_release_bandwidth_info();

  // .sns_diag_island_info island_info = 6;
  bool has_island_info() const;
  private:
  bool _internal_has_island_info() const;
  public:
  void clear_island_info();
  const ::sns_diag_island_info& island_info() const;
  PROTOBUF_NODISCARD ::sns_diag_island_info* release_island_info();
  ::sns_diag_island_info* mutable_island_info();
  void set_allocated_island_info(::sns_diag_island_info* island_info);
  private:
  const ::sns_diag_island_info& _internal_island_info() const;
  ::sns_diag_island_info* _internal_mutable_island_info();
  public:
  void unsafe_arena_set_allocated_island_info(
      ::sns_diag_island_info* island_info);
  ::sns_diag_island_info* unsafe_arena_release_island_info();

  void clear_debug_info();
  DebugInfoCase debug_info_case() const;
  // @@protoc_insertion_point(class_scope:sns_diag_debug_info)
 private:
  class _Internal;
  void set_has_power_rail_info();
  void set_has_clock_info();
  void set_has_latency_info();
  void set_has_sleep_info();
  void set_has_bandwidth_info();
  void set_has_island_info();

  inline bool has_debug_info() const;
  inline void clear_has_debug_info();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union DebugInfoUnion {
      constexpr DebugInfoUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::sns_diag_power_rail_info* power_rail_info_;
      ::sns_diag_clock_info* clock_info_;
      ::sns_diag_latency_info* latency_info_;
      ::sns_diag_sleep_info* sleep_info_;
      ::sns_diag_bandwidth_info* bandwidth_info_;
      ::sns_diag_island_info* island_info_;
    } debug_info_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// -------------------------------------------------------------------

class sns_diag_debug_event final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:sns_diag_debug_event) */ {
 public:
  inline sns_diag_debug_event() : sns_diag_debug_event(nullptr) {}
  ~sns_diag_debug_event() override;
  explicit PROTOBUF_CONSTEXPR sns_diag_debug_event(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  sns_diag_debug_event(const sns_diag_debug_event& from);
  sns_diag_debug_event(sns_diag_debug_event&& from) noexcept
    : sns_diag_debug_event() {
    *this = ::std::move(from);
  }

  inline sns_diag_debug_event& operator=(const sns_diag_debug_event& from) {
    CopyFrom(from);
    return *this;
  }
  inline sns_diag_debug_event& operator=(sns_diag_debug_event&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const sns_diag_debug_event& default_instance() {
    return *internal_default_instance();
  }
  static inline const sns_diag_debug_event* internal_default_instance() {
    return reinterpret_cast<const sns_diag_debug_event*>(
               &_sns_diag_debug_event_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    24;

  friend void swap(sns_diag_debug_event& a, sns_diag_debug_event& b) {
    a.Swap(&b);
  }
  inline void Swap(sns_diag_debug_event* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(sns_diag_debug_event* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  sns_diag_debug_event* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<sns_diag_debug_event>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const sns_diag_debug_event& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const sns_diag_debug_event& from) {
    sns_diag_debug_event::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(sns_diag_debug_event* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "sns_diag_debug_event";
  }
  protected:
  explicit sns_diag_debug_event(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDebugInfoFieldNumber = 2,
    kPartialEventFieldNumber = 1,
  };
  // repeated .sns_diag_debug_info debug_info = 2;
  int debug_info_size() const;
  private:
  int _internal_debug_info_size() const;
  public:
  void clear_debug_info();
  ::sns_diag_debug_info* mutable_debug_info(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_debug_info >*
      mutable_debug_info();
  private:
  const ::sns_diag_debug_info& _internal_debug_info(int index) const;
  ::sns_diag_debug_info* _internal_add_debug_info();
  public:
  const ::sns_diag_debug_info& debug_info(int index) const;
  ::sns_diag_debug_info* add_debug_info();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_debug_info >&
      debug_info() const;

  // optional bool partial_event = 1;
  bool has_partial_event() const;
  private:
  bool _internal_has_partial_event() const;
  public:
  void clear_partial_event();
  bool partial_event() const;
  void set_partial_event(bool value);
  private:
  bool _internal_partial_event() const;
  void _internal_set_partial_event(bool value);
  public:

  // @@protoc_insertion_point(class_scope:sns_diag_debug_event)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_debug_info > debug_info_;
    bool partial_event_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sns_5fdiag_5fsensor_2eproto;
};
// ===================================================================


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

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// sns_diag_log_trigger_req

// optional fixed64 cookie = 1;
inline bool sns_diag_log_trigger_req::_internal_has_cookie() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_log_trigger_req::has_cookie() const {
  return _internal_has_cookie();
}
inline void sns_diag_log_trigger_req::clear_cookie() {
  _impl_.cookie_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t sns_diag_log_trigger_req::_internal_cookie() const {
  return _impl_.cookie_;
}
inline uint64_t sns_diag_log_trigger_req::cookie() const {
  // @@protoc_insertion_point(field_get:sns_diag_log_trigger_req.cookie)
  return _internal_cookie();
}
inline void sns_diag_log_trigger_req::_internal_set_cookie(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.cookie_ = value;
}
inline void sns_diag_log_trigger_req::set_cookie(uint64_t value) {
  _internal_set_cookie(value);
  // @@protoc_insertion_point(field_set:sns_diag_log_trigger_req.cookie)
}

// required .sns_diag_triggered_log_type log_type = 2;
inline bool sns_diag_log_trigger_req::_internal_has_log_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_log_trigger_req::has_log_type() const {
  return _internal_has_log_type();
}
inline void sns_diag_log_trigger_req::clear_log_type() {
  _impl_.log_type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::sns_diag_triggered_log_type sns_diag_log_trigger_req::_internal_log_type() const {
  return static_cast< ::sns_diag_triggered_log_type >(_impl_.log_type_);
}
inline ::sns_diag_triggered_log_type sns_diag_log_trigger_req::log_type() const {
  // @@protoc_insertion_point(field_get:sns_diag_log_trigger_req.log_type)
  return _internal_log_type();
}
inline void sns_diag_log_trigger_req::_internal_set_log_type(::sns_diag_triggered_log_type value) {
  assert(::sns_diag_triggered_log_type_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.log_type_ = value;
}
inline void sns_diag_log_trigger_req::set_log_type(::sns_diag_triggered_log_type value) {
  _internal_set_log_type(value);
  // @@protoc_insertion_point(field_set:sns_diag_log_trigger_req.log_type)
}

// -------------------------------------------------------------------

// sns_diag_cm_active_client_req_event_request_msg

// required fixed64 timestamp = 1;
inline bool sns_diag_cm_active_client_req_event_request_msg::_internal_has_timestamp() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_cm_active_client_req_event_request_msg::has_timestamp() const {
  return _internal_has_timestamp();
}
inline void sns_diag_cm_active_client_req_event_request_msg::clear_timestamp() {
  _impl_.timestamp_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t sns_diag_cm_active_client_req_event_request_msg::_internal_timestamp() const {
  return _impl_.timestamp_;
}
inline uint64_t sns_diag_cm_active_client_req_event_request_msg::timestamp() const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.request_msg.timestamp)
  return _internal_timestamp();
}
inline void sns_diag_cm_active_client_req_event_request_msg::_internal_set_timestamp(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.timestamp_ = value;
}
inline void sns_diag_cm_active_client_req_event_request_msg::set_timestamp(uint64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:sns_diag_cm_active_client_req_event.request_msg.timestamp)
}

// required .sns_client_request_msg request = 2;
inline bool sns_diag_cm_active_client_req_event_request_msg::_internal_has_request() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.request_ != nullptr);
  return value;
}
inline bool sns_diag_cm_active_client_req_event_request_msg::has_request() const {
  return _internal_has_request();
}
inline const ::sns_client_request_msg& sns_diag_cm_active_client_req_event_request_msg::_internal_request() const {
  const ::sns_client_request_msg* p = _impl_.request_;
  return p != nullptr ? *p : reinterpret_cast<const ::sns_client_request_msg&>(
      ::_sns_client_request_msg_default_instance_);
}
inline const ::sns_client_request_msg& sns_diag_cm_active_client_req_event_request_msg::request() const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.request_msg.request)
  return _internal_request();
}
inline void sns_diag_cm_active_client_req_event_request_msg::unsafe_arena_set_allocated_request(
    ::sns_client_request_msg* request) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.request_);
  }
  _impl_.request_ = request;
  if (request) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_cm_active_client_req_event.request_msg.request)
}
inline ::sns_client_request_msg* sns_diag_cm_active_client_req_event_request_msg::release_request() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::sns_client_request_msg* temp = _impl_.request_;
  _impl_.request_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::sns_client_request_msg* sns_diag_cm_active_client_req_event_request_msg::unsafe_arena_release_request() {
  // @@protoc_insertion_point(field_release:sns_diag_cm_active_client_req_event.request_msg.request)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::sns_client_request_msg* temp = _impl_.request_;
  _impl_.request_ = nullptr;
  return temp;
}
inline ::sns_client_request_msg* sns_diag_cm_active_client_req_event_request_msg::_internal_mutable_request() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.request_ == nullptr) {
    auto* p = CreateMaybeMessage<::sns_client_request_msg>(GetArenaForAllocation());
    _impl_.request_ = p;
  }
  return _impl_.request_;
}
inline ::sns_client_request_msg* sns_diag_cm_active_client_req_event_request_msg::mutable_request() {
  ::sns_client_request_msg* _msg = _internal_mutable_request();
  // @@protoc_insertion_point(field_mutable:sns_diag_cm_active_client_req_event.request_msg.request)
  return _msg;
}
inline void sns_diag_cm_active_client_req_event_request_msg::set_allocated_request(::sns_client_request_msg* request) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.request_);
  }
  if (request) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(request));
    if (message_arena != submessage_arena) {
      request = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, request, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.request_ = request;
  // @@protoc_insertion_point(field_set_allocated:sns_diag_cm_active_client_req_event.request_msg.request)
}

// -------------------------------------------------------------------

// sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg

// optional fixed64 timestamp = 1;
inline bool sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::_internal_has_timestamp() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::has_timestamp() const {
  return _internal_has_timestamp();
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::clear_timestamp() {
  _impl_.timestamp_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::_internal_timestamp() const {
  return _impl_.timestamp_;
}
inline uint64_t sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::timestamp() const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg.timestamp)
  return _internal_timestamp();
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::_internal_set_timestamp(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.timestamp_ = value;
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::set_timestamp(uint64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg.timestamp)
}

// optional .sns_direct_channel_create_msg request = 2;
inline bool sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::_internal_has_request() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.request_ != nullptr);
  return value;
}
inline bool sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::has_request() const {
  return _internal_has_request();
}
inline const ::sns_direct_channel_create_msg& sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::_internal_request() const {
  const ::sns_direct_channel_create_msg* p = _impl_.request_;
  return p != nullptr ? *p : reinterpret_cast<const ::sns_direct_channel_create_msg&>(
      ::_sns_direct_channel_create_msg_default_instance_);
}
inline const ::sns_direct_channel_create_msg& sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::request() const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg.request)
  return _internal_request();
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::unsafe_arena_set_allocated_request(
    ::sns_direct_channel_create_msg* request) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.request_);
  }
  _impl_.request_ = request;
  if (request) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg.request)
}
inline ::sns_direct_channel_create_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::release_request() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::sns_direct_channel_create_msg* temp = _impl_.request_;
  _impl_.request_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::sns_direct_channel_create_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::unsafe_arena_release_request() {
  // @@protoc_insertion_point(field_release:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg.request)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::sns_direct_channel_create_msg* temp = _impl_.request_;
  _impl_.request_ = nullptr;
  return temp;
}
inline ::sns_direct_channel_create_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::_internal_mutable_request() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.request_ == nullptr) {
    auto* p = CreateMaybeMessage<::sns_direct_channel_create_msg>(GetArenaForAllocation());
    _impl_.request_ = p;
  }
  return _impl_.request_;
}
inline ::sns_direct_channel_create_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::mutable_request() {
  ::sns_direct_channel_create_msg* _msg = _internal_mutable_request();
  // @@protoc_insertion_point(field_mutable:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg.request)
  return _msg;
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg::set_allocated_request(::sns_direct_channel_create_msg* request) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.request_);
  }
  if (request) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(request));
    if (message_arena != submessage_arena) {
      request = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, request, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.request_ = request;
  // @@protoc_insertion_point(field_set_allocated:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg.request)
}

// -------------------------------------------------------------------

// sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg

// optional fixed64 timestamp = 1;
inline bool sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::_internal_has_timestamp() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::has_timestamp() const {
  return _internal_has_timestamp();
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::clear_timestamp() {
  _impl_.timestamp_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::_internal_timestamp() const {
  return _impl_.timestamp_;
}
inline uint64_t sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::timestamp() const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg.timestamp)
  return _internal_timestamp();
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::_internal_set_timestamp(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.timestamp_ = value;
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::set_timestamp(uint64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg.timestamp)
}

// optional .sns_direct_channel_config_msg request = 2;
inline bool sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::_internal_has_request() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.request_ != nullptr);
  return value;
}
inline bool sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::has_request() const {
  return _internal_has_request();
}
inline const ::sns_direct_channel_config_msg& sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::_internal_request() const {
  const ::sns_direct_channel_config_msg* p = _impl_.request_;
  return p != nullptr ? *p : reinterpret_cast<const ::sns_direct_channel_config_msg&>(
      ::_sns_direct_channel_config_msg_default_instance_);
}
inline const ::sns_direct_channel_config_msg& sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::request() const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg.request)
  return _internal_request();
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::unsafe_arena_set_allocated_request(
    ::sns_direct_channel_config_msg* request) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.request_);
  }
  _impl_.request_ = request;
  if (request) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg.request)
}
inline ::sns_direct_channel_config_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::release_request() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::sns_direct_channel_config_msg* temp = _impl_.request_;
  _impl_.request_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::sns_direct_channel_config_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::unsafe_arena_release_request() {
  // @@protoc_insertion_point(field_release:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg.request)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::sns_direct_channel_config_msg* temp = _impl_.request_;
  _impl_.request_ = nullptr;
  return temp;
}
inline ::sns_direct_channel_config_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::_internal_mutable_request() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.request_ == nullptr) {
    auto* p = CreateMaybeMessage<::sns_direct_channel_config_msg>(GetArenaForAllocation());
    _impl_.request_ = p;
  }
  return _impl_.request_;
}
inline ::sns_direct_channel_config_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::mutable_request() {
  ::sns_direct_channel_config_msg* _msg = _internal_mutable_request();
  // @@protoc_insertion_point(field_mutable:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg.request)
  return _msg;
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg::set_allocated_request(::sns_direct_channel_config_msg* request) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.request_);
  }
  if (request) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(request));
    if (message_arena != submessage_arena) {
      request = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, request, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.request_ = request;
  // @@protoc_insertion_point(field_set_allocated:sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg.request)
}

// -------------------------------------------------------------------

// sns_diag_cm_active_client_req_event_direct_channel_request_msg

// optional .sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_create_msg create_request = 1;
inline bool sns_diag_cm_active_client_req_event_direct_channel_request_msg::_internal_has_create_request() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.create_request_ != nullptr);
  return value;
}
inline bool sns_diag_cm_active_client_req_event_direct_channel_request_msg::has_create_request() const {
  return _internal_has_create_request();
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg::clear_create_request() {
  if (_impl_.create_request_ != nullptr) _impl_.create_request_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& sns_diag_cm_active_client_req_event_direct_channel_request_msg::_internal_create_request() const {
  const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* p = _impl_.create_request_;
  return p != nullptr ? *p : reinterpret_cast<const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg&>(
      ::_sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg_default_instance_);
}
inline const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg& sns_diag_cm_active_client_req_event_direct_channel_request_msg::create_request() const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.direct_channel_request_msg.create_request)
  return _internal_create_request();
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg::unsafe_arena_set_allocated_create_request(
    ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* create_request) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.create_request_);
  }
  _impl_.create_request_ = create_request;
  if (create_request) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_cm_active_client_req_event.direct_channel_request_msg.create_request)
}
inline ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg::release_create_request() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* temp = _impl_.create_request_;
  _impl_.create_request_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg::unsafe_arena_release_create_request() {
  // @@protoc_insertion_point(field_release:sns_diag_cm_active_client_req_event.direct_channel_request_msg.create_request)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* temp = _impl_.create_request_;
  _impl_.create_request_ = nullptr;
  return temp;
}
inline ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg::_internal_mutable_create_request() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.create_request_ == nullptr) {
    auto* p = CreateMaybeMessage<::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg>(GetArenaForAllocation());
    _impl_.create_request_ = p;
  }
  return _impl_.create_request_;
}
inline ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg::mutable_create_request() {
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* _msg = _internal_mutable_create_request();
  // @@protoc_insertion_point(field_mutable:sns_diag_cm_active_client_req_event.direct_channel_request_msg.create_request)
  return _msg;
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg::set_allocated_create_request(::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_create_msg* create_request) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.create_request_;
  }
  if (create_request) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(create_request);
    if (message_arena != submessage_arena) {
      create_request = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, create_request, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.create_request_ = create_request;
  // @@protoc_insertion_point(field_set_allocated:sns_diag_cm_active_client_req_event.direct_channel_request_msg.create_request)
}

// repeated .sns_diag_cm_active_client_req_event.direct_channel_request_msg.direct_channel_config_msg config_request = 2;
inline int sns_diag_cm_active_client_req_event_direct_channel_request_msg::_internal_config_request_size() const {
  return _impl_.config_request_.size();
}
inline int sns_diag_cm_active_client_req_event_direct_channel_request_msg::config_request_size() const {
  return _internal_config_request_size();
}
inline void sns_diag_cm_active_client_req_event_direct_channel_request_msg::clear_config_request() {
  _impl_.config_request_.Clear();
}
inline ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg::mutable_config_request(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_cm_active_client_req_event.direct_channel_request_msg.config_request)
  return _impl_.config_request_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg >*
sns_diag_cm_active_client_req_event_direct_channel_request_msg::mutable_config_request() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_cm_active_client_req_event.direct_channel_request_msg.config_request)
  return &_impl_.config_request_;
}
inline const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& sns_diag_cm_active_client_req_event_direct_channel_request_msg::_internal_config_request(int index) const {
  return _impl_.config_request_.Get(index);
}
inline const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg& sns_diag_cm_active_client_req_event_direct_channel_request_msg::config_request(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.direct_channel_request_msg.config_request)
  return _internal_config_request(index);
}
inline ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg::_internal_add_config_request() {
  return _impl_.config_request_.Add();
}
inline ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* sns_diag_cm_active_client_req_event_direct_channel_request_msg::add_config_request() {
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg* _add = _internal_add_config_request();
  // @@protoc_insertion_point(field_add:sns_diag_cm_active_client_req_event.direct_channel_request_msg.config_request)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_direct_channel_request_msg_direct_channel_config_msg >&
sns_diag_cm_active_client_req_event_direct_channel_request_msg::config_request() const {
  // @@protoc_insertion_point(field_list:sns_diag_cm_active_client_req_event.direct_channel_request_msg.config_request)
  return _impl_.config_request_;
}

// -------------------------------------------------------------------

// sns_diag_cm_active_client_req_event

// repeated .sns_diag_cm_active_client_req_event.request_msg cm_request = 1;
inline int sns_diag_cm_active_client_req_event::_internal_cm_request_size() const {
  return _impl_.cm_request_.size();
}
inline int sns_diag_cm_active_client_req_event::cm_request_size() const {
  return _internal_cm_request_size();
}
inline void sns_diag_cm_active_client_req_event::clear_cm_request() {
  _impl_.cm_request_.Clear();
}
inline ::sns_diag_cm_active_client_req_event_request_msg* sns_diag_cm_active_client_req_event::mutable_cm_request(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_cm_active_client_req_event.cm_request)
  return _impl_.cm_request_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_request_msg >*
sns_diag_cm_active_client_req_event::mutable_cm_request() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_cm_active_client_req_event.cm_request)
  return &_impl_.cm_request_;
}
inline const ::sns_diag_cm_active_client_req_event_request_msg& sns_diag_cm_active_client_req_event::_internal_cm_request(int index) const {
  return _impl_.cm_request_.Get(index);
}
inline const ::sns_diag_cm_active_client_req_event_request_msg& sns_diag_cm_active_client_req_event::cm_request(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.cm_request)
  return _internal_cm_request(index);
}
inline ::sns_diag_cm_active_client_req_event_request_msg* sns_diag_cm_active_client_req_event::_internal_add_cm_request() {
  return _impl_.cm_request_.Add();
}
inline ::sns_diag_cm_active_client_req_event_request_msg* sns_diag_cm_active_client_req_event::add_cm_request() {
  ::sns_diag_cm_active_client_req_event_request_msg* _add = _internal_add_cm_request();
  // @@protoc_insertion_point(field_add:sns_diag_cm_active_client_req_event.cm_request)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_request_msg >&
sns_diag_cm_active_client_req_event::cm_request() const {
  // @@protoc_insertion_point(field_list:sns_diag_cm_active_client_req_event.cm_request)
  return _impl_.cm_request_;
}

// repeated .sns_diag_cm_active_client_req_event.direct_channel_request_msg direct_channel_cm_request = 2;
inline int sns_diag_cm_active_client_req_event::_internal_direct_channel_cm_request_size() const {
  return _impl_.direct_channel_cm_request_.size();
}
inline int sns_diag_cm_active_client_req_event::direct_channel_cm_request_size() const {
  return _internal_direct_channel_cm_request_size();
}
inline void sns_diag_cm_active_client_req_event::clear_direct_channel_cm_request() {
  _impl_.direct_channel_cm_request_.Clear();
}
inline ::sns_diag_cm_active_client_req_event_direct_channel_request_msg* sns_diag_cm_active_client_req_event::mutable_direct_channel_cm_request(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_cm_active_client_req_event.direct_channel_cm_request)
  return _impl_.direct_channel_cm_request_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_direct_channel_request_msg >*
sns_diag_cm_active_client_req_event::mutable_direct_channel_cm_request() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_cm_active_client_req_event.direct_channel_cm_request)
  return &_impl_.direct_channel_cm_request_;
}
inline const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg& sns_diag_cm_active_client_req_event::_internal_direct_channel_cm_request(int index) const {
  return _impl_.direct_channel_cm_request_.Get(index);
}
inline const ::sns_diag_cm_active_client_req_event_direct_channel_request_msg& sns_diag_cm_active_client_req_event::direct_channel_cm_request(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.direct_channel_cm_request)
  return _internal_direct_channel_cm_request(index);
}
inline ::sns_diag_cm_active_client_req_event_direct_channel_request_msg* sns_diag_cm_active_client_req_event::_internal_add_direct_channel_cm_request() {
  return _impl_.direct_channel_cm_request_.Add();
}
inline ::sns_diag_cm_active_client_req_event_direct_channel_request_msg* sns_diag_cm_active_client_req_event::add_direct_channel_cm_request() {
  ::sns_diag_cm_active_client_req_event_direct_channel_request_msg* _add = _internal_add_direct_channel_cm_request();
  // @@protoc_insertion_point(field_add:sns_diag_cm_active_client_req_event.direct_channel_cm_request)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_cm_active_client_req_event_direct_channel_request_msg >&
sns_diag_cm_active_client_req_event::direct_channel_cm_request() const {
  // @@protoc_insertion_point(field_list:sns_diag_cm_active_client_req_event.direct_channel_cm_request)
  return _impl_.direct_channel_cm_request_;
}

// optional bool partial_event = 3 [default = false];
inline bool sns_diag_cm_active_client_req_event::_internal_has_partial_event() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_cm_active_client_req_event::has_partial_event() const {
  return _internal_has_partial_event();
}
inline void sns_diag_cm_active_client_req_event::clear_partial_event() {
  _impl_.partial_event_ = false;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline bool sns_diag_cm_active_client_req_event::_internal_partial_event() const {
  return _impl_.partial_event_;
}
inline bool sns_diag_cm_active_client_req_event::partial_event() const {
  // @@protoc_insertion_point(field_get:sns_diag_cm_active_client_req_event.partial_event)
  return _internal_partial_event();
}
inline void sns_diag_cm_active_client_req_event::_internal_set_partial_event(bool value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.partial_event_ = value;
}
inline void sns_diag_cm_active_client_req_event::set_partial_event(bool value) {
  _internal_set_partial_event(value);
  // @@protoc_insertion_point(field_set:sns_diag_cm_active_client_req_event.partial_event)
}

// -------------------------------------------------------------------

// sns_diag_debug_req

// optional uint32 debug_mask_filter = 1;
inline bool sns_diag_debug_req::_internal_has_debug_mask_filter() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_debug_req::has_debug_mask_filter() const {
  return _internal_has_debug_mask_filter();
}
inline void sns_diag_debug_req::clear_debug_mask_filter() {
  _impl_.debug_mask_filter_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t sns_diag_debug_req::_internal_debug_mask_filter() const {
  return _impl_.debug_mask_filter_;
}
inline uint32_t sns_diag_debug_req::debug_mask_filter() const {
  // @@protoc_insertion_point(field_get:sns_diag_debug_req.debug_mask_filter)
  return _internal_debug_mask_filter();
}
inline void sns_diag_debug_req::_internal_set_debug_mask_filter(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.debug_mask_filter_ = value;
}
inline void sns_diag_debug_req::set_debug_mask_filter(uint32_t value) {
  _internal_set_debug_mask_filter(value);
  // @@protoc_insertion_point(field_set:sns_diag_debug_req.debug_mask_filter)
}

// -------------------------------------------------------------------

// sns_diag_power_rail_info_rail_info_vote_state

// optional .sns_diag_power_rail_vote vote = 1;
inline bool sns_diag_power_rail_info_rail_info_vote_state::_internal_has_vote() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_power_rail_info_rail_info_vote_state::has_vote() const {
  return _internal_has_vote();
}
inline void sns_diag_power_rail_info_rail_info_vote_state::clear_vote() {
  _impl_.vote_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::sns_diag_power_rail_vote sns_diag_power_rail_info_rail_info_vote_state::_internal_vote() const {
  return static_cast< ::sns_diag_power_rail_vote >(_impl_.vote_);
}
inline ::sns_diag_power_rail_vote sns_diag_power_rail_info_rail_info_vote_state::vote() const {
  // @@protoc_insertion_point(field_get:sns_diag_power_rail_info.rail_info.vote_state.vote)
  return _internal_vote();
}
inline void sns_diag_power_rail_info_rail_info_vote_state::_internal_set_vote(::sns_diag_power_rail_vote value) {
  assert(::sns_diag_power_rail_vote_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.vote_ = value;
}
inline void sns_diag_power_rail_info_rail_info_vote_state::set_vote(::sns_diag_power_rail_vote value) {
  _internal_set_vote(value);
  // @@protoc_insertion_point(field_set:sns_diag_power_rail_info.rail_info.vote_state.vote)
}

// optional fixed64 vote_ts = 2;
inline bool sns_diag_power_rail_info_rail_info_vote_state::_internal_has_vote_ts() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_power_rail_info_rail_info_vote_state::has_vote_ts() const {
  return _internal_has_vote_ts();
}
inline void sns_diag_power_rail_info_rail_info_vote_state::clear_vote_ts() {
  _impl_.vote_ts_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t sns_diag_power_rail_info_rail_info_vote_state::_internal_vote_ts() const {
  return _impl_.vote_ts_;
}
inline uint64_t sns_diag_power_rail_info_rail_info_vote_state::vote_ts() const {
  // @@protoc_insertion_point(field_get:sns_diag_power_rail_info.rail_info.vote_state.vote_ts)
  return _internal_vote_ts();
}
inline void sns_diag_power_rail_info_rail_info_vote_state::_internal_set_vote_ts(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.vote_ts_ = value;
}
inline void sns_diag_power_rail_info_rail_info_vote_state::set_vote_ts(uint64_t value) {
  _internal_set_vote_ts(value);
  // @@protoc_insertion_point(field_set:sns_diag_power_rail_info.rail_info.vote_state.vote_ts)
}

// -------------------------------------------------------------------

// sns_diag_power_rail_info_rail_info_client

// optional string name = 1;
inline bool sns_diag_power_rail_info_rail_info_client::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_power_rail_info_rail_info_client::has_name() const {
  return _internal_has_name();
}
inline void sns_diag_power_rail_info_rail_info_client::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& sns_diag_power_rail_info_rail_info_client::name() const {
  // @@protoc_insertion_point(field_get:sns_diag_power_rail_info.rail_info.client.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void sns_diag_power_rail_info_rail_info_client::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:sns_diag_power_rail_info.rail_info.client.name)
}
inline std::string* sns_diag_power_rail_info_rail_info_client::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:sns_diag_power_rail_info.rail_info.client.name)
  return _s;
}
inline const std::string& sns_diag_power_rail_info_rail_info_client::_internal_name() const {
  return _impl_.name_.Get();
}
inline void sns_diag_power_rail_info_rail_info_client::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* sns_diag_power_rail_info_rail_info_client::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* sns_diag_power_rail_info_rail_info_client::release_name() {
  // @@protoc_insertion_point(field_release:sns_diag_power_rail_info.rail_info.client.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void sns_diag_power_rail_info_rail_info_client::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:sns_diag_power_rail_info.rail_info.client.name)
}

// -------------------------------------------------------------------

// sns_diag_power_rail_info_rail_info

// optional string name = 1;
inline bool sns_diag_power_rail_info_rail_info::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_power_rail_info_rail_info::has_name() const {
  return _internal_has_name();
}
inline void sns_diag_power_rail_info_rail_info::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& sns_diag_power_rail_info_rail_info::name() const {
  // @@protoc_insertion_point(field_get:sns_diag_power_rail_info.rail_info.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void sns_diag_power_rail_info_rail_info::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:sns_diag_power_rail_info.rail_info.name)
}
inline std::string* sns_diag_power_rail_info_rail_info::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:sns_diag_power_rail_info.rail_info.name)
  return _s;
}
inline const std::string& sns_diag_power_rail_info_rail_info::_internal_name() const {
  return _impl_.name_.Get();
}
inline void sns_diag_power_rail_info_rail_info::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* sns_diag_power_rail_info_rail_info::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* sns_diag_power_rail_info_rail_info::release_name() {
  // @@protoc_insertion_point(field_release:sns_diag_power_rail_info.rail_info.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void sns_diag_power_rail_info_rail_info::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:sns_diag_power_rail_info.rail_info.name)
}

// optional .sns_diag_power_rail_info.rail_info.vote_state state = 2;
inline bool sns_diag_power_rail_info_rail_info::_internal_has_state() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.state_ != nullptr);
  return value;
}
inline bool sns_diag_power_rail_info_rail_info::has_state() const {
  return _internal_has_state();
}
inline void sns_diag_power_rail_info_rail_info::clear_state() {
  if (_impl_.state_ != nullptr) _impl_.state_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::sns_diag_power_rail_info_rail_info_vote_state& sns_diag_power_rail_info_rail_info::_internal_state() const {
  const ::sns_diag_power_rail_info_rail_info_vote_state* p = _impl_.state_;
  return p != nullptr ? *p : reinterpret_cast<const ::sns_diag_power_rail_info_rail_info_vote_state&>(
      ::_sns_diag_power_rail_info_rail_info_vote_state_default_instance_);
}
inline const ::sns_diag_power_rail_info_rail_info_vote_state& sns_diag_power_rail_info_rail_info::state() const {
  // @@protoc_insertion_point(field_get:sns_diag_power_rail_info.rail_info.state)
  return _internal_state();
}
inline void sns_diag_power_rail_info_rail_info::unsafe_arena_set_allocated_state(
    ::sns_diag_power_rail_info_rail_info_vote_state* state) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.state_);
  }
  _impl_.state_ = state;
  if (state) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_power_rail_info.rail_info.state)
}
inline ::sns_diag_power_rail_info_rail_info_vote_state* sns_diag_power_rail_info_rail_info::release_state() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::sns_diag_power_rail_info_rail_info_vote_state* temp = _impl_.state_;
  _impl_.state_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::sns_diag_power_rail_info_rail_info_vote_state* sns_diag_power_rail_info_rail_info::unsafe_arena_release_state() {
  // @@protoc_insertion_point(field_release:sns_diag_power_rail_info.rail_info.state)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::sns_diag_power_rail_info_rail_info_vote_state* temp = _impl_.state_;
  _impl_.state_ = nullptr;
  return temp;
}
inline ::sns_diag_power_rail_info_rail_info_vote_state* sns_diag_power_rail_info_rail_info::_internal_mutable_state() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.state_ == nullptr) {
    auto* p = CreateMaybeMessage<::sns_diag_power_rail_info_rail_info_vote_state>(GetArenaForAllocation());
    _impl_.state_ = p;
  }
  return _impl_.state_;
}
inline ::sns_diag_power_rail_info_rail_info_vote_state* sns_diag_power_rail_info_rail_info::mutable_state() {
  ::sns_diag_power_rail_info_rail_info_vote_state* _msg = _internal_mutable_state();
  // @@protoc_insertion_point(field_mutable:sns_diag_power_rail_info.rail_info.state)
  return _msg;
}
inline void sns_diag_power_rail_info_rail_info::set_allocated_state(::sns_diag_power_rail_info_rail_info_vote_state* state) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.state_;
  }
  if (state) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(state);
    if (message_arena != submessage_arena) {
      state = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, state, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.state_ = state;
  // @@protoc_insertion_point(field_set_allocated:sns_diag_power_rail_info.rail_info.state)
}

// repeated .sns_diag_power_rail_info.rail_info.client clients = 3;
inline int sns_diag_power_rail_info_rail_info::_internal_clients_size() const {
  return _impl_.clients_.size();
}
inline int sns_diag_power_rail_info_rail_info::clients_size() const {
  return _internal_clients_size();
}
inline void sns_diag_power_rail_info_rail_info::clear_clients() {
  _impl_.clients_.Clear();
}
inline ::sns_diag_power_rail_info_rail_info_client* sns_diag_power_rail_info_rail_info::mutable_clients(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_power_rail_info.rail_info.clients)
  return _impl_.clients_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_power_rail_info_rail_info_client >*
sns_diag_power_rail_info_rail_info::mutable_clients() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_power_rail_info.rail_info.clients)
  return &_impl_.clients_;
}
inline const ::sns_diag_power_rail_info_rail_info_client& sns_diag_power_rail_info_rail_info::_internal_clients(int index) const {
  return _impl_.clients_.Get(index);
}
inline const ::sns_diag_power_rail_info_rail_info_client& sns_diag_power_rail_info_rail_info::clients(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_power_rail_info.rail_info.clients)
  return _internal_clients(index);
}
inline ::sns_diag_power_rail_info_rail_info_client* sns_diag_power_rail_info_rail_info::_internal_add_clients() {
  return _impl_.clients_.Add();
}
inline ::sns_diag_power_rail_info_rail_info_client* sns_diag_power_rail_info_rail_info::add_clients() {
  ::sns_diag_power_rail_info_rail_info_client* _add = _internal_add_clients();
  // @@protoc_insertion_point(field_add:sns_diag_power_rail_info.rail_info.clients)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_power_rail_info_rail_info_client >&
sns_diag_power_rail_info_rail_info::clients() const {
  // @@protoc_insertion_point(field_list:sns_diag_power_rail_info.rail_info.clients)
  return _impl_.clients_;
}

// -------------------------------------------------------------------

// sns_diag_power_rail_info

// repeated .sns_diag_power_rail_info.rail_info rails = 1;
inline int sns_diag_power_rail_info::_internal_rails_size() const {
  return _impl_.rails_.size();
}
inline int sns_diag_power_rail_info::rails_size() const {
  return _internal_rails_size();
}
inline void sns_diag_power_rail_info::clear_rails() {
  _impl_.rails_.Clear();
}
inline ::sns_diag_power_rail_info_rail_info* sns_diag_power_rail_info::mutable_rails(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_power_rail_info.rails)
  return _impl_.rails_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_power_rail_info_rail_info >*
sns_diag_power_rail_info::mutable_rails() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_power_rail_info.rails)
  return &_impl_.rails_;
}
inline const ::sns_diag_power_rail_info_rail_info& sns_diag_power_rail_info::_internal_rails(int index) const {
  return _impl_.rails_.Get(index);
}
inline const ::sns_diag_power_rail_info_rail_info& sns_diag_power_rail_info::rails(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_power_rail_info.rails)
  return _internal_rails(index);
}
inline ::sns_diag_power_rail_info_rail_info* sns_diag_power_rail_info::_internal_add_rails() {
  return _impl_.rails_.Add();
}
inline ::sns_diag_power_rail_info_rail_info* sns_diag_power_rail_info::add_rails() {
  ::sns_diag_power_rail_info_rail_info* _add = _internal_add_rails();
  // @@protoc_insertion_point(field_add:sns_diag_power_rail_info.rails)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_power_rail_info_rail_info >&
sns_diag_power_rail_info::rails() const {
  // @@protoc_insertion_point(field_list:sns_diag_power_rail_info.rails)
  return _impl_.rails_;
}

// -------------------------------------------------------------------

// sns_diag_island_info_client_info_vote_state

// optional .sns_diag_island_vote vote = 1;
inline bool sns_diag_island_info_client_info_vote_state::_internal_has_vote() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_island_info_client_info_vote_state::has_vote() const {
  return _internal_has_vote();
}
inline void sns_diag_island_info_client_info_vote_state::clear_vote() {
  _impl_.vote_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::sns_diag_island_vote sns_diag_island_info_client_info_vote_state::_internal_vote() const {
  return static_cast< ::sns_diag_island_vote >(_impl_.vote_);
}
inline ::sns_diag_island_vote sns_diag_island_info_client_info_vote_state::vote() const {
  // @@protoc_insertion_point(field_get:sns_diag_island_info.client_info.vote_state.vote)
  return _internal_vote();
}
inline void sns_diag_island_info_client_info_vote_state::_internal_set_vote(::sns_diag_island_vote value) {
  assert(::sns_diag_island_vote_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.vote_ = value;
}
inline void sns_diag_island_info_client_info_vote_state::set_vote(::sns_diag_island_vote value) {
  _internal_set_vote(value);
  // @@protoc_insertion_point(field_set:sns_diag_island_info.client_info.vote_state.vote)
}

// optional fixed64 vote_ts = 2;
inline bool sns_diag_island_info_client_info_vote_state::_internal_has_vote_ts() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_island_info_client_info_vote_state::has_vote_ts() const {
  return _internal_has_vote_ts();
}
inline void sns_diag_island_info_client_info_vote_state::clear_vote_ts() {
  _impl_.vote_ts_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t sns_diag_island_info_client_info_vote_state::_internal_vote_ts() const {
  return _impl_.vote_ts_;
}
inline uint64_t sns_diag_island_info_client_info_vote_state::vote_ts() const {
  // @@protoc_insertion_point(field_get:sns_diag_island_info.client_info.vote_state.vote_ts)
  return _internal_vote_ts();
}
inline void sns_diag_island_info_client_info_vote_state::_internal_set_vote_ts(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.vote_ts_ = value;
}
inline void sns_diag_island_info_client_info_vote_state::set_vote_ts(uint64_t value) {
  _internal_set_vote_ts(value);
  // @@protoc_insertion_point(field_set:sns_diag_island_info.client_info.vote_state.vote_ts)
}

// -------------------------------------------------------------------

// sns_diag_island_info_client_info

// optional string name = 1;
inline bool sns_diag_island_info_client_info::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_island_info_client_info::has_name() const {
  return _internal_has_name();
}
inline void sns_diag_island_info_client_info::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& sns_diag_island_info_client_info::name() const {
  // @@protoc_insertion_point(field_get:sns_diag_island_info.client_info.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void sns_diag_island_info_client_info::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:sns_diag_island_info.client_info.name)
}
inline std::string* sns_diag_island_info_client_info::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:sns_diag_island_info.client_info.name)
  return _s;
}
inline const std::string& sns_diag_island_info_client_info::_internal_name() const {
  return _impl_.name_.Get();
}
inline void sns_diag_island_info_client_info::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* sns_diag_island_info_client_info::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* sns_diag_island_info_client_info::release_name() {
  // @@protoc_insertion_point(field_release:sns_diag_island_info.client_info.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void sns_diag_island_info_client_info::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:sns_diag_island_info.client_info.name)
}

// optional .sns_diag_island_info.client_info.vote_state state = 2;
inline bool sns_diag_island_info_client_info::_internal_has_state() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.state_ != nullptr);
  return value;
}
inline bool sns_diag_island_info_client_info::has_state() const {
  return _internal_has_state();
}
inline void sns_diag_island_info_client_info::clear_state() {
  if (_impl_.state_ != nullptr) _impl_.state_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::sns_diag_island_info_client_info_vote_state& sns_diag_island_info_client_info::_internal_state() const {
  const ::sns_diag_island_info_client_info_vote_state* p = _impl_.state_;
  return p != nullptr ? *p : reinterpret_cast<const ::sns_diag_island_info_client_info_vote_state&>(
      ::_sns_diag_island_info_client_info_vote_state_default_instance_);
}
inline const ::sns_diag_island_info_client_info_vote_state& sns_diag_island_info_client_info::state() const {
  // @@protoc_insertion_point(field_get:sns_diag_island_info.client_info.state)
  return _internal_state();
}
inline void sns_diag_island_info_client_info::unsafe_arena_set_allocated_state(
    ::sns_diag_island_info_client_info_vote_state* state) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.state_);
  }
  _impl_.state_ = state;
  if (state) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_island_info.client_info.state)
}
inline ::sns_diag_island_info_client_info_vote_state* sns_diag_island_info_client_info::release_state() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::sns_diag_island_info_client_info_vote_state* temp = _impl_.state_;
  _impl_.state_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::sns_diag_island_info_client_info_vote_state* sns_diag_island_info_client_info::unsafe_arena_release_state() {
  // @@protoc_insertion_point(field_release:sns_diag_island_info.client_info.state)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::sns_diag_island_info_client_info_vote_state* temp = _impl_.state_;
  _impl_.state_ = nullptr;
  return temp;
}
inline ::sns_diag_island_info_client_info_vote_state* sns_diag_island_info_client_info::_internal_mutable_state() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.state_ == nullptr) {
    auto* p = CreateMaybeMessage<::sns_diag_island_info_client_info_vote_state>(GetArenaForAllocation());
    _impl_.state_ = p;
  }
  return _impl_.state_;
}
inline ::sns_diag_island_info_client_info_vote_state* sns_diag_island_info_client_info::mutable_state() {
  ::sns_diag_island_info_client_info_vote_state* _msg = _internal_mutable_state();
  // @@protoc_insertion_point(field_mutable:sns_diag_island_info.client_info.state)
  return _msg;
}
inline void sns_diag_island_info_client_info::set_allocated_state(::sns_diag_island_info_client_info_vote_state* state) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.state_;
  }
  if (state) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(state);
    if (message_arena != submessage_arena) {
      state = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, state, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.state_ = state;
  // @@protoc_insertion_point(field_set_allocated:sns_diag_island_info.client_info.state)
}

// optional fixed64 last_block_duration = 3;
inline bool sns_diag_island_info_client_info::_internal_has_last_block_duration() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool sns_diag_island_info_client_info::has_last_block_duration() const {
  return _internal_has_last_block_duration();
}
inline void sns_diag_island_info_client_info::clear_last_block_duration() {
  _impl_.last_block_duration_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint64_t sns_diag_island_info_client_info::_internal_last_block_duration() const {
  return _impl_.last_block_duration_;
}
inline uint64_t sns_diag_island_info_client_info::last_block_duration() const {
  // @@protoc_insertion_point(field_get:sns_diag_island_info.client_info.last_block_duration)
  return _internal_last_block_duration();
}
inline void sns_diag_island_info_client_info::_internal_set_last_block_duration(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.last_block_duration_ = value;
}
inline void sns_diag_island_info_client_info::set_last_block_duration(uint64_t value) {
  _internal_set_last_block_duration(value);
  // @@protoc_insertion_point(field_set:sns_diag_island_info.client_info.last_block_duration)
}

// -------------------------------------------------------------------

// sns_diag_island_info

// repeated .sns_diag_island_info.client_info clients = 1;
inline int sns_diag_island_info::_internal_clients_size() const {
  return _impl_.clients_.size();
}
inline int sns_diag_island_info::clients_size() const {
  return _internal_clients_size();
}
inline void sns_diag_island_info::clear_clients() {
  _impl_.clients_.Clear();
}
inline ::sns_diag_island_info_client_info* sns_diag_island_info::mutable_clients(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_island_info.clients)
  return _impl_.clients_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_island_info_client_info >*
sns_diag_island_info::mutable_clients() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_island_info.clients)
  return &_impl_.clients_;
}
inline const ::sns_diag_island_info_client_info& sns_diag_island_info::_internal_clients(int index) const {
  return _impl_.clients_.Get(index);
}
inline const ::sns_diag_island_info_client_info& sns_diag_island_info::clients(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_island_info.clients)
  return _internal_clients(index);
}
inline ::sns_diag_island_info_client_info* sns_diag_island_info::_internal_add_clients() {
  return _impl_.clients_.Add();
}
inline ::sns_diag_island_info_client_info* sns_diag_island_info::add_clients() {
  ::sns_diag_island_info_client_info* _add = _internal_add_clients();
  // @@protoc_insertion_point(field_add:sns_diag_island_info.clients)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_island_info_client_info >&
sns_diag_island_info::clients() const {
  // @@protoc_insertion_point(field_list:sns_diag_island_info.clients)
  return _impl_.clients_;
}

// -------------------------------------------------------------------

// sns_diag_clock_info_client_info

// optional string name = 1;
inline bool sns_diag_clock_info_client_info::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_clock_info_client_info::has_name() const {
  return _internal_has_name();
}
inline void sns_diag_clock_info_client_info::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& sns_diag_clock_info_client_info::name() const {
  // @@protoc_insertion_point(field_get:sns_diag_clock_info.client_info.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void sns_diag_clock_info_client_info::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:sns_diag_clock_info.client_info.name)
}
inline std::string* sns_diag_clock_info_client_info::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:sns_diag_clock_info.client_info.name)
  return _s;
}
inline const std::string& sns_diag_clock_info_client_info::_internal_name() const {
  return _impl_.name_.Get();
}
inline void sns_diag_clock_info_client_info::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* sns_diag_clock_info_client_info::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* sns_diag_clock_info_client_info::release_name() {
  // @@protoc_insertion_point(field_release:sns_diag_clock_info.client_info.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void sns_diag_clock_info_client_info::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:sns_diag_clock_info.client_info.name)
}

// optional .sns_diag_clock_id clock_id = 2;
inline bool sns_diag_clock_info_client_info::_internal_has_clock_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool sns_diag_clock_info_client_info::has_clock_id() const {
  return _internal_has_clock_id();
}
inline void sns_diag_clock_info_client_info::clear_clock_id() {
  _impl_.clock_id_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline ::sns_diag_clock_id sns_diag_clock_info_client_info::_internal_clock_id() const {
  return static_cast< ::sns_diag_clock_id >(_impl_.clock_id_);
}
inline ::sns_diag_clock_id sns_diag_clock_info_client_info::clock_id() const {
  // @@protoc_insertion_point(field_get:sns_diag_clock_info.client_info.clock_id)
  return _internal_clock_id();
}
inline void sns_diag_clock_info_client_info::_internal_set_clock_id(::sns_diag_clock_id value) {
  assert(::sns_diag_clock_id_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.clock_id_ = value;
}
inline void sns_diag_clock_info_client_info::set_clock_id(::sns_diag_clock_id value) {
  _internal_set_clock_id(value);
  // @@protoc_insertion_point(field_set:sns_diag_clock_info.client_info.clock_id)
}

// optional uint64 clock_vote = 3;
inline bool sns_diag_clock_info_client_info::_internal_has_clock_vote() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_clock_info_client_info::has_clock_vote() const {
  return _internal_has_clock_vote();
}
inline void sns_diag_clock_info_client_info::clear_clock_vote() {
  _impl_.clock_vote_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t sns_diag_clock_info_client_info::_internal_clock_vote() const {
  return _impl_.clock_vote_;
}
inline uint64_t sns_diag_clock_info_client_info::clock_vote() const {
  // @@protoc_insertion_point(field_get:sns_diag_clock_info.client_info.clock_vote)
  return _internal_clock_vote();
}
inline void sns_diag_clock_info_client_info::_internal_set_clock_vote(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.clock_vote_ = value;
}
inline void sns_diag_clock_info_client_info::set_clock_vote(uint64_t value) {
  _internal_set_clock_vote(value);
  // @@protoc_insertion_point(field_set:sns_diag_clock_info.client_info.clock_vote)
}

// -------------------------------------------------------------------

// sns_diag_clock_info

// repeated .sns_diag_clock_info.client_info clients = 1;
inline int sns_diag_clock_info::_internal_clients_size() const {
  return _impl_.clients_.size();
}
inline int sns_diag_clock_info::clients_size() const {
  return _internal_clients_size();
}
inline void sns_diag_clock_info::clear_clients() {
  _impl_.clients_.Clear();
}
inline ::sns_diag_clock_info_client_info* sns_diag_clock_info::mutable_clients(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_clock_info.clients)
  return _impl_.clients_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_clock_info_client_info >*
sns_diag_clock_info::mutable_clients() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_clock_info.clients)
  return &_impl_.clients_;
}
inline const ::sns_diag_clock_info_client_info& sns_diag_clock_info::_internal_clients(int index) const {
  return _impl_.clients_.Get(index);
}
inline const ::sns_diag_clock_info_client_info& sns_diag_clock_info::clients(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_clock_info.clients)
  return _internal_clients(index);
}
inline ::sns_diag_clock_info_client_info* sns_diag_clock_info::_internal_add_clients() {
  return _impl_.clients_.Add();
}
inline ::sns_diag_clock_info_client_info* sns_diag_clock_info::add_clients() {
  ::sns_diag_clock_info_client_info* _add = _internal_add_clients();
  // @@protoc_insertion_point(field_add:sns_diag_clock_info.clients)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_clock_info_client_info >&
sns_diag_clock_info::clients() const {
  // @@protoc_insertion_point(field_list:sns_diag_clock_info.clients)
  return _impl_.clients_;
}

// -------------------------------------------------------------------

// sns_diag_latency_info_client_info

// optional string name = 1;
inline bool sns_diag_latency_info_client_info::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_latency_info_client_info::has_name() const {
  return _internal_has_name();
}
inline void sns_diag_latency_info_client_info::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& sns_diag_latency_info_client_info::name() const {
  // @@protoc_insertion_point(field_get:sns_diag_latency_info.client_info.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void sns_diag_latency_info_client_info::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:sns_diag_latency_info.client_info.name)
}
inline std::string* sns_diag_latency_info_client_info::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:sns_diag_latency_info.client_info.name)
  return _s;
}
inline const std::string& sns_diag_latency_info_client_info::_internal_name() const {
  return _impl_.name_.Get();
}
inline void sns_diag_latency_info_client_info::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* sns_diag_latency_info_client_info::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* sns_diag_latency_info_client_info::release_name() {
  // @@protoc_insertion_point(field_release:sns_diag_latency_info.client_info.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void sns_diag_latency_info_client_info::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:sns_diag_latency_info.client_info.name)
}

// optional uint64 latency_vote = 2;
inline bool sns_diag_latency_info_client_info::_internal_has_latency_vote() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_latency_info_client_info::has_latency_vote() const {
  return _internal_has_latency_vote();
}
inline void sns_diag_latency_info_client_info::clear_latency_vote() {
  _impl_.latency_vote_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t sns_diag_latency_info_client_info::_internal_latency_vote() const {
  return _impl_.latency_vote_;
}
inline uint64_t sns_diag_latency_info_client_info::latency_vote() const {
  // @@protoc_insertion_point(field_get:sns_diag_latency_info.client_info.latency_vote)
  return _internal_latency_vote();
}
inline void sns_diag_latency_info_client_info::_internal_set_latency_vote(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.latency_vote_ = value;
}
inline void sns_diag_latency_info_client_info::set_latency_vote(uint64_t value) {
  _internal_set_latency_vote(value);
  // @@protoc_insertion_point(field_set:sns_diag_latency_info.client_info.latency_vote)
}

// optional .sns_diag_latency_vote_status latency_vote_status = 3;
inline bool sns_diag_latency_info_client_info::_internal_has_latency_vote_status() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool sns_diag_latency_info_client_info::has_latency_vote_status() const {
  return _internal_has_latency_vote_status();
}
inline void sns_diag_latency_info_client_info::clear_latency_vote_status() {
  _impl_.latency_vote_status_ = 0;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline ::sns_diag_latency_vote_status sns_diag_latency_info_client_info::_internal_latency_vote_status() const {
  return static_cast< ::sns_diag_latency_vote_status >(_impl_.latency_vote_status_);
}
inline ::sns_diag_latency_vote_status sns_diag_latency_info_client_info::latency_vote_status() const {
  // @@protoc_insertion_point(field_get:sns_diag_latency_info.client_info.latency_vote_status)
  return _internal_latency_vote_status();
}
inline void sns_diag_latency_info_client_info::_internal_set_latency_vote_status(::sns_diag_latency_vote_status value) {
  assert(::sns_diag_latency_vote_status_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.latency_vote_status_ = value;
}
inline void sns_diag_latency_info_client_info::set_latency_vote_status(::sns_diag_latency_vote_status value) {
  _internal_set_latency_vote_status(value);
  // @@protoc_insertion_point(field_set:sns_diag_latency_info.client_info.latency_vote_status)
}

// optional fixed64 latency_vote_ts = 4;
inline bool sns_diag_latency_info_client_info::_internal_has_latency_vote_ts() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool sns_diag_latency_info_client_info::has_latency_vote_ts() const {
  return _internal_has_latency_vote_ts();
}
inline void sns_diag_latency_info_client_info::clear_latency_vote_ts() {
  _impl_.latency_vote_ts_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint64_t sns_diag_latency_info_client_info::_internal_latency_vote_ts() const {
  return _impl_.latency_vote_ts_;
}
inline uint64_t sns_diag_latency_info_client_info::latency_vote_ts() const {
  // @@protoc_insertion_point(field_get:sns_diag_latency_info.client_info.latency_vote_ts)
  return _internal_latency_vote_ts();
}
inline void sns_diag_latency_info_client_info::_internal_set_latency_vote_ts(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.latency_vote_ts_ = value;
}
inline void sns_diag_latency_info_client_info::set_latency_vote_ts(uint64_t value) {
  _internal_set_latency_vote_ts(value);
  // @@protoc_insertion_point(field_set:sns_diag_latency_info.client_info.latency_vote_ts)
}

// optional fixed64 last_active_duration = 5;
inline bool sns_diag_latency_info_client_info::_internal_has_last_active_duration() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool sns_diag_latency_info_client_info::has_last_active_duration() const {
  return _internal_has_last_active_duration();
}
inline void sns_diag_latency_info_client_info::clear_last_active_duration() {
  _impl_.last_active_duration_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint64_t sns_diag_latency_info_client_info::_internal_last_active_duration() const {
  return _impl_.last_active_duration_;
}
inline uint64_t sns_diag_latency_info_client_info::last_active_duration() const {
  // @@protoc_insertion_point(field_get:sns_diag_latency_info.client_info.last_active_duration)
  return _internal_last_active_duration();
}
inline void sns_diag_latency_info_client_info::_internal_set_last_active_duration(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.last_active_duration_ = value;
}
inline void sns_diag_latency_info_client_info::set_last_active_duration(uint64_t value) {
  _internal_set_last_active_duration(value);
  // @@protoc_insertion_point(field_set:sns_diag_latency_info.client_info.last_active_duration)
}

// -------------------------------------------------------------------

// sns_diag_latency_info

// repeated .sns_diag_latency_info.client_info clients = 1;
inline int sns_diag_latency_info::_internal_clients_size() const {
  return _impl_.clients_.size();
}
inline int sns_diag_latency_info::clients_size() const {
  return _internal_clients_size();
}
inline void sns_diag_latency_info::clear_clients() {
  _impl_.clients_.Clear();
}
inline ::sns_diag_latency_info_client_info* sns_diag_latency_info::mutable_clients(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_latency_info.clients)
  return _impl_.clients_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_latency_info_client_info >*
sns_diag_latency_info::mutable_clients() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_latency_info.clients)
  return &_impl_.clients_;
}
inline const ::sns_diag_latency_info_client_info& sns_diag_latency_info::_internal_clients(int index) const {
  return _impl_.clients_.Get(index);
}
inline const ::sns_diag_latency_info_client_info& sns_diag_latency_info::clients(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_latency_info.clients)
  return _internal_clients(index);
}
inline ::sns_diag_latency_info_client_info* sns_diag_latency_info::_internal_add_clients() {
  return _impl_.clients_.Add();
}
inline ::sns_diag_latency_info_client_info* sns_diag_latency_info::add_clients() {
  ::sns_diag_latency_info_client_info* _add = _internal_add_clients();
  // @@protoc_insertion_point(field_add:sns_diag_latency_info.clients)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_latency_info_client_info >&
sns_diag_latency_info::clients() const {
  // @@protoc_insertion_point(field_list:sns_diag_latency_info.clients)
  return _impl_.clients_;
}

// -------------------------------------------------------------------

// sns_diag_sleep_info_proc_info_wakeup_rate_info

// optional uint32 lpm = 1;
inline bool sns_diag_sleep_info_proc_info_wakeup_rate_info::_internal_has_lpm() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_sleep_info_proc_info_wakeup_rate_info::has_lpm() const {
  return _internal_has_lpm();
}
inline void sns_diag_sleep_info_proc_info_wakeup_rate_info::clear_lpm() {
  _impl_.lpm_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t sns_diag_sleep_info_proc_info_wakeup_rate_info::_internal_lpm() const {
  return _impl_.lpm_;
}
inline uint32_t sns_diag_sleep_info_proc_info_wakeup_rate_info::lpm() const {
  // @@protoc_insertion_point(field_get:sns_diag_sleep_info.proc_info.wakeup_rate_info.lpm)
  return _internal_lpm();
}
inline void sns_diag_sleep_info_proc_info_wakeup_rate_info::_internal_set_lpm(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.lpm_ = value;
}
inline void sns_diag_sleep_info_proc_info_wakeup_rate_info::set_lpm(uint32_t value) {
  _internal_set_lpm(value);
  // @@protoc_insertion_point(field_set:sns_diag_sleep_info.proc_info.wakeup_rate_info.lpm)
}

// optional uint32 npm = 2;
inline bool sns_diag_sleep_info_proc_info_wakeup_rate_info::_internal_has_npm() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_sleep_info_proc_info_wakeup_rate_info::has_npm() const {
  return _internal_has_npm();
}
inline void sns_diag_sleep_info_proc_info_wakeup_rate_info::clear_npm() {
  _impl_.npm_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t sns_diag_sleep_info_proc_info_wakeup_rate_info::_internal_npm() const {
  return _impl_.npm_;
}
inline uint32_t sns_diag_sleep_info_proc_info_wakeup_rate_info::npm() const {
  // @@protoc_insertion_point(field_get:sns_diag_sleep_info.proc_info.wakeup_rate_info.npm)
  return _internal_npm();
}
inline void sns_diag_sleep_info_proc_info_wakeup_rate_info::_internal_set_npm(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.npm_ = value;
}
inline void sns_diag_sleep_info_proc_info_wakeup_rate_info::set_npm(uint32_t value) {
  _internal_set_npm(value);
  // @@protoc_insertion_point(field_set:sns_diag_sleep_info.proc_info.wakeup_rate_info.npm)
}

// -------------------------------------------------------------------

// sns_diag_sleep_info_proc_info

// optional .sns_diag_sleep_proc proc = 1;
inline bool sns_diag_sleep_info_proc_info::_internal_has_proc() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_sleep_info_proc_info::has_proc() const {
  return _internal_has_proc();
}
inline void sns_diag_sleep_info_proc_info::clear_proc() {
  _impl_.proc_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::sns_diag_sleep_proc sns_diag_sleep_info_proc_info::_internal_proc() const {
  return static_cast< ::sns_diag_sleep_proc >(_impl_.proc_);
}
inline ::sns_diag_sleep_proc sns_diag_sleep_info_proc_info::proc() const {
  // @@protoc_insertion_point(field_get:sns_diag_sleep_info.proc_info.proc)
  return _internal_proc();
}
inline void sns_diag_sleep_info_proc_info::_internal_set_proc(::sns_diag_sleep_proc value) {
  assert(::sns_diag_sleep_proc_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.proc_ = value;
}
inline void sns_diag_sleep_info_proc_info::set_proc(::sns_diag_sleep_proc value) {
  _internal_set_proc(value);
  // @@protoc_insertion_point(field_set:sns_diag_sleep_info.proc_info.proc)
}

// optional .sns_diag_sleep_info.proc_info.wakeup_rate_info wakeup_rate = 2;
inline bool sns_diag_sleep_info_proc_info::_internal_has_wakeup_rate() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.wakeup_rate_ != nullptr);
  return value;
}
inline bool sns_diag_sleep_info_proc_info::has_wakeup_rate() const {
  return _internal_has_wakeup_rate();
}
inline void sns_diag_sleep_info_proc_info::clear_wakeup_rate() {
  if (_impl_.wakeup_rate_ != nullptr) _impl_.wakeup_rate_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::sns_diag_sleep_info_proc_info_wakeup_rate_info& sns_diag_sleep_info_proc_info::_internal_wakeup_rate() const {
  const ::sns_diag_sleep_info_proc_info_wakeup_rate_info* p = _impl_.wakeup_rate_;
  return p != nullptr ? *p : reinterpret_cast<const ::sns_diag_sleep_info_proc_info_wakeup_rate_info&>(
      ::_sns_diag_sleep_info_proc_info_wakeup_rate_info_default_instance_);
}
inline const ::sns_diag_sleep_info_proc_info_wakeup_rate_info& sns_diag_sleep_info_proc_info::wakeup_rate() const {
  // @@protoc_insertion_point(field_get:sns_diag_sleep_info.proc_info.wakeup_rate)
  return _internal_wakeup_rate();
}
inline void sns_diag_sleep_info_proc_info::unsafe_arena_set_allocated_wakeup_rate(
    ::sns_diag_sleep_info_proc_info_wakeup_rate_info* wakeup_rate) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.wakeup_rate_);
  }
  _impl_.wakeup_rate_ = wakeup_rate;
  if (wakeup_rate) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_sleep_info.proc_info.wakeup_rate)
}
inline ::sns_diag_sleep_info_proc_info_wakeup_rate_info* sns_diag_sleep_info_proc_info::release_wakeup_rate() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::sns_diag_sleep_info_proc_info_wakeup_rate_info* temp = _impl_.wakeup_rate_;
  _impl_.wakeup_rate_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::sns_diag_sleep_info_proc_info_wakeup_rate_info* sns_diag_sleep_info_proc_info::unsafe_arena_release_wakeup_rate() {
  // @@protoc_insertion_point(field_release:sns_diag_sleep_info.proc_info.wakeup_rate)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::sns_diag_sleep_info_proc_info_wakeup_rate_info* temp = _impl_.wakeup_rate_;
  _impl_.wakeup_rate_ = nullptr;
  return temp;
}
inline ::sns_diag_sleep_info_proc_info_wakeup_rate_info* sns_diag_sleep_info_proc_info::_internal_mutable_wakeup_rate() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.wakeup_rate_ == nullptr) {
    auto* p = CreateMaybeMessage<::sns_diag_sleep_info_proc_info_wakeup_rate_info>(GetArenaForAllocation());
    _impl_.wakeup_rate_ = p;
  }
  return _impl_.wakeup_rate_;
}
inline ::sns_diag_sleep_info_proc_info_wakeup_rate_info* sns_diag_sleep_info_proc_info::mutable_wakeup_rate() {
  ::sns_diag_sleep_info_proc_info_wakeup_rate_info* _msg = _internal_mutable_wakeup_rate();
  // @@protoc_insertion_point(field_mutable:sns_diag_sleep_info.proc_info.wakeup_rate)
  return _msg;
}
inline void sns_diag_sleep_info_proc_info::set_allocated_wakeup_rate(::sns_diag_sleep_info_proc_info_wakeup_rate_info* wakeup_rate) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.wakeup_rate_;
  }
  if (wakeup_rate) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(wakeup_rate);
    if (message_arena != submessage_arena) {
      wakeup_rate = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, wakeup_rate, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.wakeup_rate_ = wakeup_rate;
  // @@protoc_insertion_point(field_set_allocated:sns_diag_sleep_info.proc_info.wakeup_rate)
}

// -------------------------------------------------------------------

// sns_diag_sleep_info

// repeated .sns_diag_sleep_info.proc_info procs = 1;
inline int sns_diag_sleep_info::_internal_procs_size() const {
  return _impl_.procs_.size();
}
inline int sns_diag_sleep_info::procs_size() const {
  return _internal_procs_size();
}
inline void sns_diag_sleep_info::clear_procs() {
  _impl_.procs_.Clear();
}
inline ::sns_diag_sleep_info_proc_info* sns_diag_sleep_info::mutable_procs(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_sleep_info.procs)
  return _impl_.procs_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_sleep_info_proc_info >*
sns_diag_sleep_info::mutable_procs() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_sleep_info.procs)
  return &_impl_.procs_;
}
inline const ::sns_diag_sleep_info_proc_info& sns_diag_sleep_info::_internal_procs(int index) const {
  return _impl_.procs_.Get(index);
}
inline const ::sns_diag_sleep_info_proc_info& sns_diag_sleep_info::procs(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_sleep_info.procs)
  return _internal_procs(index);
}
inline ::sns_diag_sleep_info_proc_info* sns_diag_sleep_info::_internal_add_procs() {
  return _impl_.procs_.Add();
}
inline ::sns_diag_sleep_info_proc_info* sns_diag_sleep_info::add_procs() {
  ::sns_diag_sleep_info_proc_info* _add = _internal_add_procs();
  // @@protoc_insertion_point(field_add:sns_diag_sleep_info.procs)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_sleep_info_proc_info >&
sns_diag_sleep_info::procs() const {
  // @@protoc_insertion_point(field_list:sns_diag_sleep_info.procs)
  return _impl_.procs_;
}

// -------------------------------------------------------------------

// sns_diag_bandwidth_info_client_info

// optional string name = 1;
inline bool sns_diag_bandwidth_info_client_info::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_bandwidth_info_client_info::has_name() const {
  return _internal_has_name();
}
inline void sns_diag_bandwidth_info_client_info::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& sns_diag_bandwidth_info_client_info::name() const {
  // @@protoc_insertion_point(field_get:sns_diag_bandwidth_info.client_info.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void sns_diag_bandwidth_info_client_info::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:sns_diag_bandwidth_info.client_info.name)
}
inline std::string* sns_diag_bandwidth_info_client_info::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:sns_diag_bandwidth_info.client_info.name)
  return _s;
}
inline const std::string& sns_diag_bandwidth_info_client_info::_internal_name() const {
  return _impl_.name_.Get();
}
inline void sns_diag_bandwidth_info_client_info::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* sns_diag_bandwidth_info_client_info::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* sns_diag_bandwidth_info_client_info::release_name() {
  // @@protoc_insertion_point(field_release:sns_diag_bandwidth_info.client_info.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void sns_diag_bandwidth_info_client_info::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:sns_diag_bandwidth_info.client_info.name)
}

// optional .sns_diag_bandwidth_proc proc = 2;
inline bool sns_diag_bandwidth_info_client_info::_internal_has_proc() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool sns_diag_bandwidth_info_client_info::has_proc() const {
  return _internal_has_proc();
}
inline void sns_diag_bandwidth_info_client_info::clear_proc() {
  _impl_.proc_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::sns_diag_bandwidth_proc sns_diag_bandwidth_info_client_info::_internal_proc() const {
  return static_cast< ::sns_diag_bandwidth_proc >(_impl_.proc_);
}
inline ::sns_diag_bandwidth_proc sns_diag_bandwidth_info_client_info::proc() const {
  // @@protoc_insertion_point(field_get:sns_diag_bandwidth_info.client_info.proc)
  return _internal_proc();
}
inline void sns_diag_bandwidth_info_client_info::_internal_set_proc(::sns_diag_bandwidth_proc value) {
  assert(::sns_diag_bandwidth_proc_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.proc_ = value;
}
inline void sns_diag_bandwidth_info_client_info::set_proc(::sns_diag_bandwidth_proc value) {
  _internal_set_proc(value);
  // @@protoc_insertion_point(field_set:sns_diag_bandwidth_info.client_info.proc)
}

// optional .sns_diag_bandwidth_memory memory = 3;
inline bool sns_diag_bandwidth_info_client_info::_internal_has_memory() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool sns_diag_bandwidth_info_client_info::has_memory() const {
  return _internal_has_memory();
}
inline void sns_diag_bandwidth_info_client_info::clear_memory() {
  _impl_.memory_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline ::sns_diag_bandwidth_memory sns_diag_bandwidth_info_client_info::_internal_memory() const {
  return static_cast< ::sns_diag_bandwidth_memory >(_impl_.memory_);
}
inline ::sns_diag_bandwidth_memory sns_diag_bandwidth_info_client_info::memory() const {
  // @@protoc_insertion_point(field_get:sns_diag_bandwidth_info.client_info.memory)
  return _internal_memory();
}
inline void sns_diag_bandwidth_info_client_info::_internal_set_memory(::sns_diag_bandwidth_memory value) {
  assert(::sns_diag_bandwidth_memory_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.memory_ = value;
}
inline void sns_diag_bandwidth_info_client_info::set_memory(::sns_diag_bandwidth_memory value) {
  _internal_set_memory(value);
  // @@protoc_insertion_point(field_set:sns_diag_bandwidth_info.client_info.memory)
}

// optional uint64 bandwidth_vote = 4;
inline bool sns_diag_bandwidth_info_client_info::_internal_has_bandwidth_vote() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool sns_diag_bandwidth_info_client_info::has_bandwidth_vote() const {
  return _internal_has_bandwidth_vote();
}
inline void sns_diag_bandwidth_info_client_info::clear_bandwidth_vote() {
  _impl_.bandwidth_vote_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint64_t sns_diag_bandwidth_info_client_info::_internal_bandwidth_vote() const {
  return _impl_.bandwidth_vote_;
}
inline uint64_t sns_diag_bandwidth_info_client_info::bandwidth_vote() const {
  // @@protoc_insertion_point(field_get:sns_diag_bandwidth_info.client_info.bandwidth_vote)
  return _internal_bandwidth_vote();
}
inline void sns_diag_bandwidth_info_client_info::_internal_set_bandwidth_vote(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.bandwidth_vote_ = value;
}
inline void sns_diag_bandwidth_info_client_info::set_bandwidth_vote(uint64_t value) {
  _internal_set_bandwidth_vote(value);
  // @@protoc_insertion_point(field_set:sns_diag_bandwidth_info.client_info.bandwidth_vote)
}

// -------------------------------------------------------------------

// sns_diag_bandwidth_info

// repeated .sns_diag_bandwidth_info.client_info clients = 1;
inline int sns_diag_bandwidth_info::_internal_clients_size() const {
  return _impl_.clients_.size();
}
inline int sns_diag_bandwidth_info::clients_size() const {
  return _internal_clients_size();
}
inline void sns_diag_bandwidth_info::clear_clients() {
  _impl_.clients_.Clear();
}
inline ::sns_diag_bandwidth_info_client_info* sns_diag_bandwidth_info::mutable_clients(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_bandwidth_info.clients)
  return _impl_.clients_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_bandwidth_info_client_info >*
sns_diag_bandwidth_info::mutable_clients() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_bandwidth_info.clients)
  return &_impl_.clients_;
}
inline const ::sns_diag_bandwidth_info_client_info& sns_diag_bandwidth_info::_internal_clients(int index) const {
  return _impl_.clients_.Get(index);
}
inline const ::sns_diag_bandwidth_info_client_info& sns_diag_bandwidth_info::clients(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_bandwidth_info.clients)
  return _internal_clients(index);
}
inline ::sns_diag_bandwidth_info_client_info* sns_diag_bandwidth_info::_internal_add_clients() {
  return _impl_.clients_.Add();
}
inline ::sns_diag_bandwidth_info_client_info* sns_diag_bandwidth_info::add_clients() {
  ::sns_diag_bandwidth_info_client_info* _add = _internal_add_clients();
  // @@protoc_insertion_point(field_add:sns_diag_bandwidth_info.clients)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_bandwidth_info_client_info >&
sns_diag_bandwidth_info::clients() const {
  // @@protoc_insertion_point(field_list:sns_diag_bandwidth_info.clients)
  return _impl_.clients_;
}

// -------------------------------------------------------------------

// sns_diag_debug_info

// .sns_diag_power_rail_info power_rail_info = 1;
inline bool sns_diag_debug_info::_internal_has_power_rail_info() const {
  return debug_info_case() == kPowerRailInfo;
}
inline bool sns_diag_debug_info::has_power_rail_info() const {
  return _internal_has_power_rail_info();
}
inline void sns_diag_debug_info::set_has_power_rail_info() {
  _impl_._oneof_case_[0] = kPowerRailInfo;
}
inline void sns_diag_debug_info::clear_power_rail_info() {
  if (_internal_has_power_rail_info()) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.debug_info_.power_rail_info_;
    }
    clear_has_debug_info();
  }
}
inline ::sns_diag_power_rail_info* sns_diag_debug_info::release_power_rail_info() {
  // @@protoc_insertion_point(field_release:sns_diag_debug_info.power_rail_info)
  if (_internal_has_power_rail_info()) {
    clear_has_debug_info();
    ::sns_diag_power_rail_info* temp = _impl_.debug_info_.power_rail_info_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.debug_info_.power_rail_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::sns_diag_power_rail_info& sns_diag_debug_info::_internal_power_rail_info() const {
  return _internal_has_power_rail_info()
      ? *_impl_.debug_info_.power_rail_info_
      : reinterpret_cast< ::sns_diag_power_rail_info&>(::_sns_diag_power_rail_info_default_instance_);
}
inline const ::sns_diag_power_rail_info& sns_diag_debug_info::power_rail_info() const {
  // @@protoc_insertion_point(field_get:sns_diag_debug_info.power_rail_info)
  return _internal_power_rail_info();
}
inline ::sns_diag_power_rail_info* sns_diag_debug_info::unsafe_arena_release_power_rail_info() {
  // @@protoc_insertion_point(field_unsafe_arena_release:sns_diag_debug_info.power_rail_info)
  if (_internal_has_power_rail_info()) {
    clear_has_debug_info();
    ::sns_diag_power_rail_info* temp = _impl_.debug_info_.power_rail_info_;
    _impl_.debug_info_.power_rail_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void sns_diag_debug_info::unsafe_arena_set_allocated_power_rail_info(::sns_diag_power_rail_info* power_rail_info) {
  clear_debug_info();
  if (power_rail_info) {
    set_has_power_rail_info();
    _impl_.debug_info_.power_rail_info_ = power_rail_info;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_debug_info.power_rail_info)
}
inline ::sns_diag_power_rail_info* sns_diag_debug_info::_internal_mutable_power_rail_info() {
  if (!_internal_has_power_rail_info()) {
    clear_debug_info();
    set_has_power_rail_info();
    _impl_.debug_info_.power_rail_info_ = CreateMaybeMessage< ::sns_diag_power_rail_info >(GetArenaForAllocation());
  }
  return _impl_.debug_info_.power_rail_info_;
}
inline ::sns_diag_power_rail_info* sns_diag_debug_info::mutable_power_rail_info() {
  ::sns_diag_power_rail_info* _msg = _internal_mutable_power_rail_info();
  // @@protoc_insertion_point(field_mutable:sns_diag_debug_info.power_rail_info)
  return _msg;
}

// .sns_diag_clock_info clock_info = 2;
inline bool sns_diag_debug_info::_internal_has_clock_info() const {
  return debug_info_case() == kClockInfo;
}
inline bool sns_diag_debug_info::has_clock_info() const {
  return _internal_has_clock_info();
}
inline void sns_diag_debug_info::set_has_clock_info() {
  _impl_._oneof_case_[0] = kClockInfo;
}
inline void sns_diag_debug_info::clear_clock_info() {
  if (_internal_has_clock_info()) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.debug_info_.clock_info_;
    }
    clear_has_debug_info();
  }
}
inline ::sns_diag_clock_info* sns_diag_debug_info::release_clock_info() {
  // @@protoc_insertion_point(field_release:sns_diag_debug_info.clock_info)
  if (_internal_has_clock_info()) {
    clear_has_debug_info();
    ::sns_diag_clock_info* temp = _impl_.debug_info_.clock_info_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.debug_info_.clock_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::sns_diag_clock_info& sns_diag_debug_info::_internal_clock_info() const {
  return _internal_has_clock_info()
      ? *_impl_.debug_info_.clock_info_
      : reinterpret_cast< ::sns_diag_clock_info&>(::_sns_diag_clock_info_default_instance_);
}
inline const ::sns_diag_clock_info& sns_diag_debug_info::clock_info() const {
  // @@protoc_insertion_point(field_get:sns_diag_debug_info.clock_info)
  return _internal_clock_info();
}
inline ::sns_diag_clock_info* sns_diag_debug_info::unsafe_arena_release_clock_info() {
  // @@protoc_insertion_point(field_unsafe_arena_release:sns_diag_debug_info.clock_info)
  if (_internal_has_clock_info()) {
    clear_has_debug_info();
    ::sns_diag_clock_info* temp = _impl_.debug_info_.clock_info_;
    _impl_.debug_info_.clock_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void sns_diag_debug_info::unsafe_arena_set_allocated_clock_info(::sns_diag_clock_info* clock_info) {
  clear_debug_info();
  if (clock_info) {
    set_has_clock_info();
    _impl_.debug_info_.clock_info_ = clock_info;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_debug_info.clock_info)
}
inline ::sns_diag_clock_info* sns_diag_debug_info::_internal_mutable_clock_info() {
  if (!_internal_has_clock_info()) {
    clear_debug_info();
    set_has_clock_info();
    _impl_.debug_info_.clock_info_ = CreateMaybeMessage< ::sns_diag_clock_info >(GetArenaForAllocation());
  }
  return _impl_.debug_info_.clock_info_;
}
inline ::sns_diag_clock_info* sns_diag_debug_info::mutable_clock_info() {
  ::sns_diag_clock_info* _msg = _internal_mutable_clock_info();
  // @@protoc_insertion_point(field_mutable:sns_diag_debug_info.clock_info)
  return _msg;
}

// .sns_diag_latency_info latency_info = 3;
inline bool sns_diag_debug_info::_internal_has_latency_info() const {
  return debug_info_case() == kLatencyInfo;
}
inline bool sns_diag_debug_info::has_latency_info() const {
  return _internal_has_latency_info();
}
inline void sns_diag_debug_info::set_has_latency_info() {
  _impl_._oneof_case_[0] = kLatencyInfo;
}
inline void sns_diag_debug_info::clear_latency_info() {
  if (_internal_has_latency_info()) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.debug_info_.latency_info_;
    }
    clear_has_debug_info();
  }
}
inline ::sns_diag_latency_info* sns_diag_debug_info::release_latency_info() {
  // @@protoc_insertion_point(field_release:sns_diag_debug_info.latency_info)
  if (_internal_has_latency_info()) {
    clear_has_debug_info();
    ::sns_diag_latency_info* temp = _impl_.debug_info_.latency_info_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.debug_info_.latency_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::sns_diag_latency_info& sns_diag_debug_info::_internal_latency_info() const {
  return _internal_has_latency_info()
      ? *_impl_.debug_info_.latency_info_
      : reinterpret_cast< ::sns_diag_latency_info&>(::_sns_diag_latency_info_default_instance_);
}
inline const ::sns_diag_latency_info& sns_diag_debug_info::latency_info() const {
  // @@protoc_insertion_point(field_get:sns_diag_debug_info.latency_info)
  return _internal_latency_info();
}
inline ::sns_diag_latency_info* sns_diag_debug_info::unsafe_arena_release_latency_info() {
  // @@protoc_insertion_point(field_unsafe_arena_release:sns_diag_debug_info.latency_info)
  if (_internal_has_latency_info()) {
    clear_has_debug_info();
    ::sns_diag_latency_info* temp = _impl_.debug_info_.latency_info_;
    _impl_.debug_info_.latency_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void sns_diag_debug_info::unsafe_arena_set_allocated_latency_info(::sns_diag_latency_info* latency_info) {
  clear_debug_info();
  if (latency_info) {
    set_has_latency_info();
    _impl_.debug_info_.latency_info_ = latency_info;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_debug_info.latency_info)
}
inline ::sns_diag_latency_info* sns_diag_debug_info::_internal_mutable_latency_info() {
  if (!_internal_has_latency_info()) {
    clear_debug_info();
    set_has_latency_info();
    _impl_.debug_info_.latency_info_ = CreateMaybeMessage< ::sns_diag_latency_info >(GetArenaForAllocation());
  }
  return _impl_.debug_info_.latency_info_;
}
inline ::sns_diag_latency_info* sns_diag_debug_info::mutable_latency_info() {
  ::sns_diag_latency_info* _msg = _internal_mutable_latency_info();
  // @@protoc_insertion_point(field_mutable:sns_diag_debug_info.latency_info)
  return _msg;
}

// .sns_diag_sleep_info sleep_info = 4;
inline bool sns_diag_debug_info::_internal_has_sleep_info() const {
  return debug_info_case() == kSleepInfo;
}
inline bool sns_diag_debug_info::has_sleep_info() const {
  return _internal_has_sleep_info();
}
inline void sns_diag_debug_info::set_has_sleep_info() {
  _impl_._oneof_case_[0] = kSleepInfo;
}
inline void sns_diag_debug_info::clear_sleep_info() {
  if (_internal_has_sleep_info()) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.debug_info_.sleep_info_;
    }
    clear_has_debug_info();
  }
}
inline ::sns_diag_sleep_info* sns_diag_debug_info::release_sleep_info() {
  // @@protoc_insertion_point(field_release:sns_diag_debug_info.sleep_info)
  if (_internal_has_sleep_info()) {
    clear_has_debug_info();
    ::sns_diag_sleep_info* temp = _impl_.debug_info_.sleep_info_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.debug_info_.sleep_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::sns_diag_sleep_info& sns_diag_debug_info::_internal_sleep_info() const {
  return _internal_has_sleep_info()
      ? *_impl_.debug_info_.sleep_info_
      : reinterpret_cast< ::sns_diag_sleep_info&>(::_sns_diag_sleep_info_default_instance_);
}
inline const ::sns_diag_sleep_info& sns_diag_debug_info::sleep_info() const {
  // @@protoc_insertion_point(field_get:sns_diag_debug_info.sleep_info)
  return _internal_sleep_info();
}
inline ::sns_diag_sleep_info* sns_diag_debug_info::unsafe_arena_release_sleep_info() {
  // @@protoc_insertion_point(field_unsafe_arena_release:sns_diag_debug_info.sleep_info)
  if (_internal_has_sleep_info()) {
    clear_has_debug_info();
    ::sns_diag_sleep_info* temp = _impl_.debug_info_.sleep_info_;
    _impl_.debug_info_.sleep_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void sns_diag_debug_info::unsafe_arena_set_allocated_sleep_info(::sns_diag_sleep_info* sleep_info) {
  clear_debug_info();
  if (sleep_info) {
    set_has_sleep_info();
    _impl_.debug_info_.sleep_info_ = sleep_info;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_debug_info.sleep_info)
}
inline ::sns_diag_sleep_info* sns_diag_debug_info::_internal_mutable_sleep_info() {
  if (!_internal_has_sleep_info()) {
    clear_debug_info();
    set_has_sleep_info();
    _impl_.debug_info_.sleep_info_ = CreateMaybeMessage< ::sns_diag_sleep_info >(GetArenaForAllocation());
  }
  return _impl_.debug_info_.sleep_info_;
}
inline ::sns_diag_sleep_info* sns_diag_debug_info::mutable_sleep_info() {
  ::sns_diag_sleep_info* _msg = _internal_mutable_sleep_info();
  // @@protoc_insertion_point(field_mutable:sns_diag_debug_info.sleep_info)
  return _msg;
}

// .sns_diag_bandwidth_info bandwidth_info = 5;
inline bool sns_diag_debug_info::_internal_has_bandwidth_info() const {
  return debug_info_case() == kBandwidthInfo;
}
inline bool sns_diag_debug_info::has_bandwidth_info() const {
  return _internal_has_bandwidth_info();
}
inline void sns_diag_debug_info::set_has_bandwidth_info() {
  _impl_._oneof_case_[0] = kBandwidthInfo;
}
inline void sns_diag_debug_info::clear_bandwidth_info() {
  if (_internal_has_bandwidth_info()) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.debug_info_.bandwidth_info_;
    }
    clear_has_debug_info();
  }
}
inline ::sns_diag_bandwidth_info* sns_diag_debug_info::release_bandwidth_info() {
  // @@protoc_insertion_point(field_release:sns_diag_debug_info.bandwidth_info)
  if (_internal_has_bandwidth_info()) {
    clear_has_debug_info();
    ::sns_diag_bandwidth_info* temp = _impl_.debug_info_.bandwidth_info_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.debug_info_.bandwidth_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::sns_diag_bandwidth_info& sns_diag_debug_info::_internal_bandwidth_info() const {
  return _internal_has_bandwidth_info()
      ? *_impl_.debug_info_.bandwidth_info_
      : reinterpret_cast< ::sns_diag_bandwidth_info&>(::_sns_diag_bandwidth_info_default_instance_);
}
inline const ::sns_diag_bandwidth_info& sns_diag_debug_info::bandwidth_info() const {
  // @@protoc_insertion_point(field_get:sns_diag_debug_info.bandwidth_info)
  return _internal_bandwidth_info();
}
inline ::sns_diag_bandwidth_info* sns_diag_debug_info::unsafe_arena_release_bandwidth_info() {
  // @@protoc_insertion_point(field_unsafe_arena_release:sns_diag_debug_info.bandwidth_info)
  if (_internal_has_bandwidth_info()) {
    clear_has_debug_info();
    ::sns_diag_bandwidth_info* temp = _impl_.debug_info_.bandwidth_info_;
    _impl_.debug_info_.bandwidth_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void sns_diag_debug_info::unsafe_arena_set_allocated_bandwidth_info(::sns_diag_bandwidth_info* bandwidth_info) {
  clear_debug_info();
  if (bandwidth_info) {
    set_has_bandwidth_info();
    _impl_.debug_info_.bandwidth_info_ = bandwidth_info;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_debug_info.bandwidth_info)
}
inline ::sns_diag_bandwidth_info* sns_diag_debug_info::_internal_mutable_bandwidth_info() {
  if (!_internal_has_bandwidth_info()) {
    clear_debug_info();
    set_has_bandwidth_info();
    _impl_.debug_info_.bandwidth_info_ = CreateMaybeMessage< ::sns_diag_bandwidth_info >(GetArenaForAllocation());
  }
  return _impl_.debug_info_.bandwidth_info_;
}
inline ::sns_diag_bandwidth_info* sns_diag_debug_info::mutable_bandwidth_info() {
  ::sns_diag_bandwidth_info* _msg = _internal_mutable_bandwidth_info();
  // @@protoc_insertion_point(field_mutable:sns_diag_debug_info.bandwidth_info)
  return _msg;
}

// .sns_diag_island_info island_info = 6;
inline bool sns_diag_debug_info::_internal_has_island_info() const {
  return debug_info_case() == kIslandInfo;
}
inline bool sns_diag_debug_info::has_island_info() const {
  return _internal_has_island_info();
}
inline void sns_diag_debug_info::set_has_island_info() {
  _impl_._oneof_case_[0] = kIslandInfo;
}
inline void sns_diag_debug_info::clear_island_info() {
  if (_internal_has_island_info()) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.debug_info_.island_info_;
    }
    clear_has_debug_info();
  }
}
inline ::sns_diag_island_info* sns_diag_debug_info::release_island_info() {
  // @@protoc_insertion_point(field_release:sns_diag_debug_info.island_info)
  if (_internal_has_island_info()) {
    clear_has_debug_info();
    ::sns_diag_island_info* temp = _impl_.debug_info_.island_info_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.debug_info_.island_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::sns_diag_island_info& sns_diag_debug_info::_internal_island_info() const {
  return _internal_has_island_info()
      ? *_impl_.debug_info_.island_info_
      : reinterpret_cast< ::sns_diag_island_info&>(::_sns_diag_island_info_default_instance_);
}
inline const ::sns_diag_island_info& sns_diag_debug_info::island_info() const {
  // @@protoc_insertion_point(field_get:sns_diag_debug_info.island_info)
  return _internal_island_info();
}
inline ::sns_diag_island_info* sns_diag_debug_info::unsafe_arena_release_island_info() {
  // @@protoc_insertion_point(field_unsafe_arena_release:sns_diag_debug_info.island_info)
  if (_internal_has_island_info()) {
    clear_has_debug_info();
    ::sns_diag_island_info* temp = _impl_.debug_info_.island_info_;
    _impl_.debug_info_.island_info_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void sns_diag_debug_info::unsafe_arena_set_allocated_island_info(::sns_diag_island_info* island_info) {
  clear_debug_info();
  if (island_info) {
    set_has_island_info();
    _impl_.debug_info_.island_info_ = island_info;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:sns_diag_debug_info.island_info)
}
inline ::sns_diag_island_info* sns_diag_debug_info::_internal_mutable_island_info() {
  if (!_internal_has_island_info()) {
    clear_debug_info();
    set_has_island_info();
    _impl_.debug_info_.island_info_ = CreateMaybeMessage< ::sns_diag_island_info >(GetArenaForAllocation());
  }
  return _impl_.debug_info_.island_info_;
}
inline ::sns_diag_island_info* sns_diag_debug_info::mutable_island_info() {
  ::sns_diag_island_info* _msg = _internal_mutable_island_info();
  // @@protoc_insertion_point(field_mutable:sns_diag_debug_info.island_info)
  return _msg;
}

inline bool sns_diag_debug_info::has_debug_info() const {
  return debug_info_case() != DEBUG_INFO_NOT_SET;
}
inline void sns_diag_debug_info::clear_has_debug_info() {
  _impl_._oneof_case_[0] = DEBUG_INFO_NOT_SET;
}
inline sns_diag_debug_info::DebugInfoCase sns_diag_debug_info::debug_info_case() const {
  return sns_diag_debug_info::DebugInfoCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// sns_diag_debug_event

// optional bool partial_event = 1;
inline bool sns_diag_debug_event::_internal_has_partial_event() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool sns_diag_debug_event::has_partial_event() const {
  return _internal_has_partial_event();
}
inline void sns_diag_debug_event::clear_partial_event() {
  _impl_.partial_event_ = false;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline bool sns_diag_debug_event::_internal_partial_event() const {
  return _impl_.partial_event_;
}
inline bool sns_diag_debug_event::partial_event() const {
  // @@protoc_insertion_point(field_get:sns_diag_debug_event.partial_event)
  return _internal_partial_event();
}
inline void sns_diag_debug_event::_internal_set_partial_event(bool value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.partial_event_ = value;
}
inline void sns_diag_debug_event::set_partial_event(bool value) {
  _internal_set_partial_event(value);
  // @@protoc_insertion_point(field_set:sns_diag_debug_event.partial_event)
}

// repeated .sns_diag_debug_info debug_info = 2;
inline int sns_diag_debug_event::_internal_debug_info_size() const {
  return _impl_.debug_info_.size();
}
inline int sns_diag_debug_event::debug_info_size() const {
  return _internal_debug_info_size();
}
inline void sns_diag_debug_event::clear_debug_info() {
  _impl_.debug_info_.Clear();
}
inline ::sns_diag_debug_info* sns_diag_debug_event::mutable_debug_info(int index) {
  // @@protoc_insertion_point(field_mutable:sns_diag_debug_event.debug_info)
  return _impl_.debug_info_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_debug_info >*
sns_diag_debug_event::mutable_debug_info() {
  // @@protoc_insertion_point(field_mutable_list:sns_diag_debug_event.debug_info)
  return &_impl_.debug_info_;
}
inline const ::sns_diag_debug_info& sns_diag_debug_event::_internal_debug_info(int index) const {
  return _impl_.debug_info_.Get(index);
}
inline const ::sns_diag_debug_info& sns_diag_debug_event::debug_info(int index) const {
  // @@protoc_insertion_point(field_get:sns_diag_debug_event.debug_info)
  return _internal_debug_info(index);
}
inline ::sns_diag_debug_info* sns_diag_debug_event::_internal_add_debug_info() {
  return _impl_.debug_info_.Add();
}
inline ::sns_diag_debug_info* sns_diag_debug_event::add_debug_info() {
  ::sns_diag_debug_info* _add = _internal_add_debug_info();
  // @@protoc_insertion_point(field_add:sns_diag_debug_event.debug_info)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sns_diag_debug_info >&
sns_diag_debug_event::debug_info() const {
  // @@protoc_insertion_point(field_list:sns_diag_debug_event.debug_info)
  return _impl_.debug_info_;
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)


PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::sns_diag_sensor_msgid> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::sns_diag_sensor_msgid>() {
  return ::sns_diag_sensor_msgid_descriptor();
}
template <> struct is_proto_enum< ::sns_diag_triggered_log_type> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::sns_diag_triggered_log_type>() {
  return ::sns_diag_triggered_log_type_descriptor();
}
template <> struct is_proto_enum< ::sns_diag_debug_mask> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::sns_diag_debug_mask>() {
  return ::sns_diag_debug_mask_descriptor();
}
template <> struct is_proto_enum< ::sns_diag_power_rail_vote> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::sns_diag_power_rail_vote>() {
  return ::sns_diag_power_rail_vote_descriptor();
}
template <> struct is_proto_enum< ::sns_diag_island_vote> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::sns_diag_island_vote>() {
  return ::sns_diag_island_vote_descriptor();
}
template <> struct is_proto_enum< ::sns_diag_clock_id> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::sns_diag_clock_id>() {
  return ::sns_diag_clock_id_descriptor();
}
template <> struct is_proto_enum< ::sns_diag_latency_vote_status> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::sns_diag_latency_vote_status>() {
  return ::sns_diag_latency_vote_status_descriptor();
}
template <> struct is_proto_enum< ::sns_diag_sleep_proc> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::sns_diag_sleep_proc>() {
  return ::sns_diag_sleep_proc_descriptor();
}
template <> struct is_proto_enum< ::sns_diag_bandwidth_proc> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::sns_diag_bandwidth_proc>() {
  return ::sns_diag_bandwidth_proc_descriptor();
}
template <> struct is_proto_enum< ::sns_diag_bandwidth_memory> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::sns_diag_bandwidth_memory>() {
  return ::sns_diag_bandwidth_memory_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_sns_5fdiag_5fsensor_2eproto
