text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: openconfig/openconfig_telemetry/openconfig_telemetry.proto
  
  #ifndef PROTOBUF_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto__INCLUDED
  #define PROTOBUF_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto__INCLUDED
  
  #include <string>
  
  #include <google/protobuf/stubs/common.h>
  
  #if GOOGLE_PROTOBUF_VERSION < 3005000
  #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 3005001 < GOOGLE_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/io/coded_stream.h>
  #include <google/protobuf/arena.h>
  #include <google/protobuf/arenastring.h>
  #include <google/protobuf/generated_message_table_driven.h>
  #include <google/protobuf/generated_message_util.h>
  #include <google/protobuf/metadata.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/unknown_field_set.h>
  #include "github.com/openconfig/ygot/proto/ywrapper/ywrapper.pb.h"
  #include "github.com/openconfig/ygot/proto/yext/yext.pb.h"
  #include "openconfig/enums/enums.pb.h"
  // @@protoc_insertion_point(includes)
  
  namespace protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto {
  // Internal implementation detail -- do not use these members.
  struct TableStruct {
    static const ::google::protobuf::internal::ParseTableField entries[];
    static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
    static const ::google::protobuf::internal::ParseTable schema[45];
    static const ::google::protobuf::internal::FieldMetadata field_metadata[];
    static const ::google::protobuf::internal::SerializationTable serialization_table[];
    static const ::google::protobuf::uint32 offsets[];
  };
  void AddDescriptors();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_ConfigImpl();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Config();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_ConfigImpl();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_StateImpl();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationImpl();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKeyImpl();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_DestinationsImpl();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_StateImpl();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_State();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroupImpl();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroupKeyImpl();
  void InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroupKey();
  void InitDefaultsTelemetrySystem_DestinationGroupsImpl();
  void InitDefaultsTelemetrySystem_DestinationGroups();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_ConfigImpl();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_Config();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_ConfigImpl();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_StateImpl();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathImpl();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKeyImpl();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPathsImpl();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_StateImpl();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_State();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroupImpl();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroup();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroupKeyImpl();
  void InitDefaultsTelemetrySystem_SensorGroups_SensorGroupKey();
  void InitDefaultsTelemetrySystem_SensorGroupsImpl();
  void InitDefaultsTelemetrySystem_SensorGroups();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_StateImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKeyImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPathsImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_StateImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_State();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_SubscriptionImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_SubscriptionKeyImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic_SubscriptionKey();
  void InitDefaultsTelemetrySystem_Subscriptions_DynamicImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Dynamic();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_ConfigImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_Config();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_ConfigImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_StateImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKeyImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroupsImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_ConfigImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_StateImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKeyImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfilesImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_StateImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_State();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_SubscriptionImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_SubscriptionKeyImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent_SubscriptionKey();
  void InitDefaultsTelemetrySystem_Subscriptions_PersistentImpl();
  void InitDefaultsTelemetrySystem_Subscriptions_Persistent();
  void InitDefaultsTelemetrySystem_SubscriptionsImpl();
  void InitDefaultsTelemetrySystem_Subscriptions();
  void InitDefaultsTelemetrySystemImpl();
  void InitDefaultsTelemetrySystem();
  inline void InitDefaults() {
    InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Config();
    InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config();
    InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State();
    InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination();
    InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey();
    InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations();
    InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_State();
    InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup();
    InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroupKey();
    InitDefaultsTelemetrySystem_DestinationGroups();
    InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_Config();
    InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config();
    InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State();
    InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath();
    InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey();
    InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths();
    InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_State();
    InitDefaultsTelemetrySystem_SensorGroups_SensorGroup();
    InitDefaultsTelemetrySystem_SensorGroups_SensorGroupKey();
    InitDefaultsTelemetrySystem_SensorGroups();
    InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State();
    InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath();
    InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey();
    InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths();
    InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_State();
    InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription();
    InitDefaultsTelemetrySystem_Subscriptions_Dynamic_SubscriptionKey();
    InitDefaultsTelemetrySystem_Subscriptions_Dynamic();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_Config();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_State();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent_SubscriptionKey();
    InitDefaultsTelemetrySystem_Subscriptions_Persistent();
    InitDefaultsTelemetrySystem_Subscriptions();
    InitDefaultsTelemetrySystem();
  }
  }  // namespace protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto
  namespace openconfig {
  namespace openconfig_telemetry {
  class TelemetrySystem;
  class TelemetrySystemDefaultTypeInternal;
  extern TelemetrySystemDefaultTypeInternal _TelemetrySystem_default_instance_;
  class TelemetrySystem_DestinationGroups;
  class TelemetrySystem_DestinationGroupsDefaultTypeInternal;
  extern TelemetrySystem_DestinationGroupsDefaultTypeInternal _TelemetrySystem_DestinationGroups_default_instance_;
  class TelemetrySystem_DestinationGroups_DestinationGroup;
  class TelemetrySystem_DestinationGroups_DestinationGroupDefaultTypeInternal;
  extern TelemetrySystem_DestinationGroups_DestinationGroupDefaultTypeInternal _TelemetrySystem_DestinationGroups_DestinationGroup_default_instance_;
  class TelemetrySystem_DestinationGroups_DestinationGroupKey;
  class TelemetrySystem_DestinationGroups_DestinationGroupKeyDefaultTypeInternal;
  extern TelemetrySystem_DestinationGroups_DestinationGroupKeyDefaultTypeInternal _TelemetrySystem_DestinationGroups_DestinationGroupKey_default_instance_;
  class TelemetrySystem_DestinationGroups_DestinationGroup_Config;
  class TelemetrySystem_DestinationGroups_DestinationGroup_ConfigDefaultTypeInternal;
  extern TelemetrySystem_DestinationGroups_DestinationGroup_ConfigDefaultTypeInternal _TelemetrySystem_DestinationGroups_DestinationGroup_Config_default_instance_;
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations;
  class TelemetrySystem_DestinationGroups_DestinationGroup_DestinationsDefaultTypeInternal;
  extern TelemetrySystem_DestinationGroups_DestinationGroup_DestinationsDefaultTypeInternal _TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_default_instance_;
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination;
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationDefaultTypeInternal;
  extern TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationDefaultTypeInternal _TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_default_instance_;
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey;
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKeyDefaultTypeInternal;
  extern TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKeyDefaultTypeInternal _TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey_default_instance_;
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config;
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_ConfigDefaultTypeInternal;
  extern TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_ConfigDefaultTypeInternal _TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config_default_instance_;
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State;
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_StateDefaultTypeInternal;
  extern TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_StateDefaultTypeInternal _TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State_default_instance_;
  class TelemetrySystem_DestinationGroups_DestinationGroup_State;
  class TelemetrySystem_DestinationGroups_DestinationGroup_StateDefaultTypeInternal;
  extern TelemetrySystem_DestinationGroups_DestinationGroup_StateDefaultTypeInternal _TelemetrySystem_DestinationGroups_DestinationGroup_State_default_instance_;
  class TelemetrySystem_SensorGroups;
  class TelemetrySystem_SensorGroupsDefaultTypeInternal;
  extern TelemetrySystem_SensorGroupsDefaultTypeInternal _TelemetrySystem_SensorGroups_default_instance_;
  class TelemetrySystem_SensorGroups_SensorGroup;
  class TelemetrySystem_SensorGroups_SensorGroupDefaultTypeInternal;
  extern TelemetrySystem_SensorGroups_SensorGroupDefaultTypeInternal _TelemetrySystem_SensorGroups_SensorGroup_default_instance_;
  class TelemetrySystem_SensorGroups_SensorGroupKey;
  class TelemetrySystem_SensorGroups_SensorGroupKeyDefaultTypeInternal;
  extern TelemetrySystem_SensorGroups_SensorGroupKeyDefaultTypeInternal _TelemetrySystem_SensorGroups_SensorGroupKey_default_instance_;
  class TelemetrySystem_SensorGroups_SensorGroup_Config;
  class TelemetrySystem_SensorGroups_SensorGroup_ConfigDefaultTypeInternal;
  extern TelemetrySystem_SensorGroups_SensorGroup_ConfigDefaultTypeInternal _TelemetrySystem_SensorGroups_SensorGroup_Config_default_instance_;
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths;
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPathsDefaultTypeInternal;
  extern TelemetrySystem_SensorGroups_SensorGroup_SensorPathsDefaultTypeInternal _TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_default_instance_;
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath;
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathDefaultTypeInternal;
  extern TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathDefaultTypeInternal _TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_default_instance_;
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey;
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKeyDefaultTypeInternal;
  extern TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKeyDefaultTypeInternal _TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey_default_instance_;
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config;
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_ConfigDefaultTypeInternal;
  extern TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_ConfigDefaultTypeInternal _TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config_default_instance_;
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State;
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_StateDefaultTypeInternal;
  extern TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_StateDefaultTypeInternal _TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State_default_instance_;
  class TelemetrySystem_SensorGroups_SensorGroup_State;
  class TelemetrySystem_SensorGroups_SensorGroup_StateDefaultTypeInternal;
  extern TelemetrySystem_SensorGroups_SensorGroup_StateDefaultTypeInternal _TelemetrySystem_SensorGroups_SensorGroup_State_default_instance_;
  class TelemetrySystem_Subscriptions;
  class TelemetrySystem_SubscriptionsDefaultTypeInternal;
  extern TelemetrySystem_SubscriptionsDefaultTypeInternal _TelemetrySystem_Subscriptions_default_instance_;
  class TelemetrySystem_Subscriptions_Dynamic;
  class TelemetrySystem_Subscriptions_DynamicDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_DynamicDefaultTypeInternal _TelemetrySystem_Subscriptions_Dynamic_default_instance_;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription;
  class TelemetrySystem_Subscriptions_Dynamic_SubscriptionDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Dynamic_SubscriptionDefaultTypeInternal _TelemetrySystem_Subscriptions_Dynamic_Subscription_default_instance_;
  class TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey;
  class TelemetrySystem_Subscriptions_Dynamic_SubscriptionKeyDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Dynamic_SubscriptionKeyDefaultTypeInternal _TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey_default_instance_;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPathsDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPathsDefaultTypeInternal _TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_default_instance_;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathDefaultTypeInternal _TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_default_instance_;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKeyDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKeyDefaultTypeInternal _TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey_default_instance_;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_StateDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_StateDefaultTypeInternal _TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State_default_instance_;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_State;
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_StateDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Dynamic_Subscription_StateDefaultTypeInternal _TelemetrySystem_Subscriptions_Dynamic_Subscription_State_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent;
  class TelemetrySystem_Subscriptions_PersistentDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_PersistentDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription;
  class TelemetrySystem_Subscriptions_Persistent_SubscriptionDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_SubscriptionDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_SubscriptionKey;
  class TelemetrySystem_Subscriptions_Persistent_SubscriptionKeyDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_SubscriptionKeyDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_SubscriptionKey_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_Config;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_ConfigDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_ConfigDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_Config_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroupsDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroupsDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKeyDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKeyDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_ConfigDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_ConfigDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_StateDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_StateDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfilesDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfilesDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKeyDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKeyDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_ConfigDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_ConfigDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_StateDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_StateDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State_default_instance_;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_State;
  class TelemetrySystem_Subscriptions_Persistent_Subscription_StateDefaultTypeInternal;
  extern TelemetrySystem_Subscriptions_Persistent_Subscription_StateDefaultTypeInternal _TelemetrySystem_Subscriptions_Persistent_Subscription_State_default_instance_;
  }  // namespace openconfig_telemetry
  }  // namespace openconfig
  namespace openconfig {
  namespace openconfig_telemetry {
  
  // ===================================================================
  
  class TelemetrySystem_DestinationGroups_DestinationGroup_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Config) */ {
   public:
    TelemetrySystem_DestinationGroups_DestinationGroup_Config();
    virtual ~TelemetrySystem_DestinationGroups_DestinationGroup_Config();
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Config(const TelemetrySystem_DestinationGroups_DestinationGroup_Config& from);
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Config& operator=(const TelemetrySystem_DestinationGroups_DestinationGroup_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_DestinationGroups_DestinationGroup_Config(TelemetrySystem_DestinationGroups_DestinationGroup_Config&& from) noexcept
      : TelemetrySystem_DestinationGroups_DestinationGroup_Config() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Config& operator=(TelemetrySystem_DestinationGroups_DestinationGroup_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_DestinationGroups_DestinationGroup_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_DestinationGroups_DestinationGroup_Config* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_DestinationGroups_DestinationGroup_Config*>(
                 &_TelemetrySystem_DestinationGroups_DestinationGroup_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      0;
  
    void Swap(TelemetrySystem_DestinationGroups_DestinationGroup_Config* other);
    friend void swap(TelemetrySystem_DestinationGroups_DestinationGroup_Config& a, TelemetrySystem_DestinationGroups_DestinationGroup_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Config& from);
    void MergeFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_DestinationGroups_DestinationGroup_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue group_id = 252594982 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/config/group-id"];
    bool has_group_id() const;
    void clear_group_id();
    static const int kGroupIdFieldNumber = 252594982;
    const ::ywrapper::StringValue& group_id() const;
    ::ywrapper::StringValue* release_group_id();
    ::ywrapper::StringValue* mutable_group_id();
    void set_allocated_group_id(::ywrapper::StringValue* group_id);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* group_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config) */ {
   public:
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config();
    virtual ~TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config();
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& from);
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& operator=(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config&& from) noexcept
      : TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& operator=(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config*>(
                 &_TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      1;
  
    void Swap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* other);
    friend void swap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& a, TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& from);
    void MergeFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue destination_port = 267782232 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/config/destination-port"];
    bool has_destination_port() const;
    void clear_destination_port();
    static const int kDestinationPortFieldNumber = 267782232;
    const ::ywrapper::UintValue& destination_port() const;
    ::ywrapper::UintValue* release_destination_port();
    ::ywrapper::UintValue* mutable_destination_port();
    void set_allocated_destination_port(::ywrapper::UintValue* destination_port);
  
    // .ywrapper.StringValue destination_address = 403894671 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/config/destination-address"];
    bool has_destination_address() const;
    void clear_destination_address();
    static const int kDestinationAddressFieldNumber = 403894671;
    const ::ywrapper::StringValue& destination_address() const;
    ::ywrapper::StringValue* release_destination_address();
    ::ywrapper::StringValue* mutable_destination_address();
    void set_allocated_destination_address(::ywrapper::StringValue* destination_address);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* destination_port_;
    ::ywrapper::StringValue* destination_address_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State) */ {
   public:
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State();
    virtual ~TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State();
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& from);
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& operator=(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State&& from) noexcept
      : TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& operator=(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State*>(
                 &_TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      2;
  
    void Swap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* other);
    friend void swap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& a, TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& from);
    void MergeFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue destination_port = 158645621 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/state/destination-port"];
    bool has_destination_port() const;
    void clear_destination_port();
    static const int kDestinationPortFieldNumber = 158645621;
    const ::ywrapper::UintValue& destination_port() const;
    ::ywrapper::UintValue* release_destination_port();
    ::ywrapper::UintValue* mutable_destination_port();
    void set_allocated_destination_port(::ywrapper::UintValue* destination_port);
  
    // .ywrapper.StringValue destination_address = 427282796 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/state/destination-address"];
    bool has_destination_address() const;
    void clear_destination_address();
    static const int kDestinationAddressFieldNumber = 427282796;
    const ::ywrapper::StringValue& destination_address() const;
    ::ywrapper::StringValue* release_destination_address();
    ::ywrapper::StringValue* mutable_destination_address();
    void set_allocated_destination_address(::ywrapper::StringValue* destination_address);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* destination_port_;
    ::ywrapper::StringValue* destination_address_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination) */ {
   public:
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination();
    virtual ~TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination();
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& from);
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& operator=(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination&& from) noexcept
      : TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& operator=(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination*>(
                 &_TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      3;
  
    void Swap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* other);
    friend void swap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& a, TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& from);
    void MergeFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config Config;
    typedef TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config config = 50402797 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 50402797;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& config() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* release_config();
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* config);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State state = 76514978 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 76514978;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& state() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* release_state();
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* config_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey) */ {
   public:
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey();
    virtual ~TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey();
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& from);
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& operator=(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey&& from) noexcept
      : TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& operator=(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey*>(
                 &_TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      4;
  
    void Swap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey* other);
    friend void swap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& a, TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& from);
    void MergeFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string destination_address = 1 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/destination-address"];
    void clear_destination_address();
    static const int kDestinationAddressFieldNumber = 1;
    const ::std::string& destination_address() const;
    void set_destination_address(const ::std::string& value);
    #if LANG_CXX11
    void set_destination_address(::std::string&& value);
    #endif
    void set_destination_address(const char* value);
    void set_destination_address(const char* value, size_t size);
    ::std::string* mutable_destination_address();
    ::std::string* release_destination_address();
    void set_allocated_destination_address(::std::string* destination_address);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination destination = 3;
    bool has_destination() const;
    void clear_destination();
    static const int kDestinationFieldNumber = 3;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& destination() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* release_destination();
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* mutable_destination();
    void set_allocated_destination(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* destination);
  
    // uint64 destination_port = 2 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/destination-port"];
    void clear_destination_port();
    static const int kDestinationPortFieldNumber = 2;
    ::google::protobuf::uint64 destination_port() const;
    void set_destination_port(::google::protobuf::uint64 value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr destination_address_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* destination_;
    ::google::protobuf::uint64 destination_port_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_DestinationGroups_DestinationGroup_Destinations : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations) */ {
   public:
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations();
    virtual ~TelemetrySystem_DestinationGroups_DestinationGroup_Destinations();
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& from);
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& operator=(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations&& from) noexcept
      : TelemetrySystem_DestinationGroups_DestinationGroup_Destinations() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& operator=(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations*>(
                 &_TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      5;
  
    void Swap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* other);
    friend void swap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& a, TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& from);
    void MergeFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination Destination;
    typedef TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey DestinationKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey destination = 263920904 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination"];
    int destination_size() const;
    void clear_destination();
    static const int kDestinationFieldNumber = 263920904;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& destination(int index) const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey* mutable_destination(int index);
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey* add_destination();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey >*
        mutable_destination();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey >&
        destination() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey > destination_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_DestinationsImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_DestinationGroups_DestinationGroup_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.State) */ {
   public:
    TelemetrySystem_DestinationGroups_DestinationGroup_State();
    virtual ~TelemetrySystem_DestinationGroups_DestinationGroup_State();
  
    TelemetrySystem_DestinationGroups_DestinationGroup_State(const TelemetrySystem_DestinationGroups_DestinationGroup_State& from);
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_State& operator=(const TelemetrySystem_DestinationGroups_DestinationGroup_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_DestinationGroups_DestinationGroup_State(TelemetrySystem_DestinationGroups_DestinationGroup_State&& from) noexcept
      : TelemetrySystem_DestinationGroups_DestinationGroup_State() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_State& operator=(TelemetrySystem_DestinationGroups_DestinationGroup_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_DestinationGroups_DestinationGroup_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_DestinationGroups_DestinationGroup_State* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_DestinationGroups_DestinationGroup_State*>(
                 &_TelemetrySystem_DestinationGroups_DestinationGroup_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      6;
  
    void Swap(TelemetrySystem_DestinationGroups_DestinationGroup_State* other);
    friend void swap(TelemetrySystem_DestinationGroups_DestinationGroup_State& a, TelemetrySystem_DestinationGroups_DestinationGroup_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_DestinationGroups_DestinationGroup_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_State& from);
    void MergeFrom(const TelemetrySystem_DestinationGroups_DestinationGroup_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_DestinationGroups_DestinationGroup_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue group_id = 429791949 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/state/group-id"];
    bool has_group_id() const;
    void clear_group_id();
    static const int kGroupIdFieldNumber = 429791949;
    const ::ywrapper::StringValue& group_id() const;
    ::ywrapper::StringValue* release_group_id();
    ::ywrapper::StringValue* mutable_group_id();
    void set_allocated_group_id(::ywrapper::StringValue* group_id);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* group_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroup_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_DestinationGroups_DestinationGroup : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup) */ {
   public:
    TelemetrySystem_DestinationGroups_DestinationGroup();
    virtual ~TelemetrySystem_DestinationGroups_DestinationGroup();
  
    TelemetrySystem_DestinationGroups_DestinationGroup(const TelemetrySystem_DestinationGroups_DestinationGroup& from);
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup& operator=(const TelemetrySystem_DestinationGroups_DestinationGroup& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_DestinationGroups_DestinationGroup(TelemetrySystem_DestinationGroups_DestinationGroup&& from) noexcept
      : TelemetrySystem_DestinationGroups_DestinationGroup() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup& operator=(TelemetrySystem_DestinationGroups_DestinationGroup&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_DestinationGroups_DestinationGroup& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_DestinationGroups_DestinationGroup* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_DestinationGroups_DestinationGroup*>(
                 &_TelemetrySystem_DestinationGroups_DestinationGroup_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      7;
  
    void Swap(TelemetrySystem_DestinationGroups_DestinationGroup* other);
    friend void swap(TelemetrySystem_DestinationGroups_DestinationGroup& a, TelemetrySystem_DestinationGroups_DestinationGroup& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_DestinationGroups_DestinationGroup* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_DestinationGroups_DestinationGroup* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_DestinationGroups_DestinationGroup& from);
    void MergeFrom(const TelemetrySystem_DestinationGroups_DestinationGroup& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_DestinationGroups_DestinationGroup* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_DestinationGroups_DestinationGroup_Config Config;
    typedef TelemetrySystem_DestinationGroups_DestinationGroup_Destinations Destinations;
    typedef TelemetrySystem_DestinationGroups_DestinationGroup_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations destinations = 8565725 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations"];
    bool has_destinations() const;
    void clear_destinations();
    static const int kDestinationsFieldNumber = 8565725;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& destinations() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* release_destinations();
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* mutable_destinations();
    void set_allocated_destinations(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* destinations);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Config config = 28634316 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 28634316;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config& config() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config* release_config();
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config* config);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.State state = 191727685 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 191727685;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State& state() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State* release_state();
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* destinations_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config* config_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroupImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_DestinationGroups_DestinationGroupKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey) */ {
   public:
    TelemetrySystem_DestinationGroups_DestinationGroupKey();
    virtual ~TelemetrySystem_DestinationGroups_DestinationGroupKey();
  
    TelemetrySystem_DestinationGroups_DestinationGroupKey(const TelemetrySystem_DestinationGroups_DestinationGroupKey& from);
  
    inline TelemetrySystem_DestinationGroups_DestinationGroupKey& operator=(const TelemetrySystem_DestinationGroups_DestinationGroupKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_DestinationGroups_DestinationGroupKey(TelemetrySystem_DestinationGroups_DestinationGroupKey&& from) noexcept
      : TelemetrySystem_DestinationGroups_DestinationGroupKey() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_DestinationGroups_DestinationGroupKey& operator=(TelemetrySystem_DestinationGroups_DestinationGroupKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_DestinationGroups_DestinationGroupKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_DestinationGroups_DestinationGroupKey* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_DestinationGroups_DestinationGroupKey*>(
                 &_TelemetrySystem_DestinationGroups_DestinationGroupKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      8;
  
    void Swap(TelemetrySystem_DestinationGroups_DestinationGroupKey* other);
    friend void swap(TelemetrySystem_DestinationGroups_DestinationGroupKey& a, TelemetrySystem_DestinationGroups_DestinationGroupKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_DestinationGroups_DestinationGroupKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_DestinationGroups_DestinationGroupKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_DestinationGroups_DestinationGroupKey& from);
    void MergeFrom(const TelemetrySystem_DestinationGroups_DestinationGroupKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_DestinationGroups_DestinationGroupKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string group_id = 1 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/group-id"];
    void clear_group_id();
    static const int kGroupIdFieldNumber = 1;
    const ::std::string& group_id() const;
    void set_group_id(const ::std::string& value);
    #if LANG_CXX11
    void set_group_id(::std::string&& value);
    #endif
    void set_group_id(const char* value);
    void set_group_id(const char* value, size_t size);
    ::std::string* mutable_group_id();
    ::std::string* release_group_id();
    void set_allocated_group_id(::std::string* group_id);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup destination_group = 2;
    bool has_destination_group() const;
    void clear_destination_group();
    static const int kDestinationGroupFieldNumber = 2;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup& destination_group() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup* release_destination_group();
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup* mutable_destination_group();
    void set_allocated_destination_group(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup* destination_group);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr group_id_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup* destination_group_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_DestinationGroups_DestinationGroupKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_DestinationGroups : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups) */ {
   public:
    TelemetrySystem_DestinationGroups();
    virtual ~TelemetrySystem_DestinationGroups();
  
    TelemetrySystem_DestinationGroups(const TelemetrySystem_DestinationGroups& from);
  
    inline TelemetrySystem_DestinationGroups& operator=(const TelemetrySystem_DestinationGroups& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_DestinationGroups(TelemetrySystem_DestinationGroups&& from) noexcept
      : TelemetrySystem_DestinationGroups() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_DestinationGroups& operator=(TelemetrySystem_DestinationGroups&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_DestinationGroups& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_DestinationGroups* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_DestinationGroups*>(
                 &_TelemetrySystem_DestinationGroups_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      9;
  
    void Swap(TelemetrySystem_DestinationGroups* other);
    friend void swap(TelemetrySystem_DestinationGroups& a, TelemetrySystem_DestinationGroups& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_DestinationGroups* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_DestinationGroups* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_DestinationGroups& from);
    void MergeFrom(const TelemetrySystem_DestinationGroups& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_DestinationGroups* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_DestinationGroups_DestinationGroup DestinationGroup;
    typedef TelemetrySystem_DestinationGroups_DestinationGroupKey DestinationGroupKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey destination_group = 57789211 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group"];
    int destination_group_size() const;
    void clear_destination_group();
    static const int kDestinationGroupFieldNumber = 57789211;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey& destination_group(int index) const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey* mutable_destination_group(int index);
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey* add_destination_group();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey >*
        mutable_destination_group();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey >&
        destination_group() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey > destination_group_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_DestinationGroupsImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_SensorGroups_SensorGroup_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.Config) */ {
   public:
    TelemetrySystem_SensorGroups_SensorGroup_Config();
    virtual ~TelemetrySystem_SensorGroups_SensorGroup_Config();
  
    TelemetrySystem_SensorGroups_SensorGroup_Config(const TelemetrySystem_SensorGroups_SensorGroup_Config& from);
  
    inline TelemetrySystem_SensorGroups_SensorGroup_Config& operator=(const TelemetrySystem_SensorGroups_SensorGroup_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_SensorGroups_SensorGroup_Config(TelemetrySystem_SensorGroups_SensorGroup_Config&& from) noexcept
      : TelemetrySystem_SensorGroups_SensorGroup_Config() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_SensorGroups_SensorGroup_Config& operator=(TelemetrySystem_SensorGroups_SensorGroup_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_SensorGroups_SensorGroup_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_SensorGroups_SensorGroup_Config* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_SensorGroups_SensorGroup_Config*>(
                 &_TelemetrySystem_SensorGroups_SensorGroup_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      10;
  
    void Swap(TelemetrySystem_SensorGroups_SensorGroup_Config* other);
    friend void swap(TelemetrySystem_SensorGroups_SensorGroup_Config& a, TelemetrySystem_SensorGroups_SensorGroup_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_SensorGroups_SensorGroup_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_SensorGroups_SensorGroup_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_SensorGroups_SensorGroup_Config& from);
    void MergeFrom(const TelemetrySystem_SensorGroups_SensorGroup_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_SensorGroups_SensorGroup_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue sensor_group_id = 291013299 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/config/sensor-group-id"];
    bool has_sensor_group_id() const;
    void clear_sensor_group_id();
    static const int kSensorGroupIdFieldNumber = 291013299;
    const ::ywrapper::StringValue& sensor_group_id() const;
    ::ywrapper::StringValue* release_sensor_group_id();
    ::ywrapper::StringValue* mutable_sensor_group_id();
    void set_allocated_sensor_group_id(::ywrapper::StringValue* sensor_group_id);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* sensor_group_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config) */ {
   public:
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config();
    virtual ~TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config();
  
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& from);
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& operator=(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config&& from) noexcept
      : TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& operator=(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config*>(
                 &_TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      11;
  
    void Swap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* other);
    friend void swap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& a, TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& from);
    void MergeFrom(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue exclude_filter = 252816029 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/config/exclude-filter"];
    bool has_exclude_filter() const;
    void clear_exclude_filter();
    static const int kExcludeFilterFieldNumber = 252816029;
    const ::ywrapper::StringValue& exclude_filter() const;
    ::ywrapper::StringValue* release_exclude_filter();
    ::ywrapper::StringValue* mutable_exclude_filter();
    void set_allocated_exclude_filter(::ywrapper::StringValue* exclude_filter);
  
    // .ywrapper.StringValue path = 519966909 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/config/path"];
    bool has_path() const;
    void clear_path();
    static const int kPathFieldNumber = 519966909;
    const ::ywrapper::StringValue& path() const;
    ::ywrapper::StringValue* release_path();
    ::ywrapper::StringValue* mutable_path();
    void set_allocated_path(::ywrapper::StringValue* path);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* exclude_filter_;
    ::ywrapper::StringValue* path_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State) */ {
   public:
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State();
    virtual ~TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State();
  
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& from);
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& operator=(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State&& from) noexcept
      : TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& operator=(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State*>(
                 &_TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      12;
  
    void Swap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* other);
    friend void swap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& a, TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& from);
    void MergeFrom(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue exclude_filter = 163851272 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/state/exclude-filter"];
    bool has_exclude_filter() const;
    void clear_exclude_filter();
    static const int kExcludeFilterFieldNumber = 163851272;
    const ::ywrapper::StringValue& exclude_filter() const;
    ::ywrapper::StringValue* release_exclude_filter();
    ::ywrapper::StringValue* mutable_exclude_filter();
    void set_allocated_exclude_filter(::ywrapper::StringValue* exclude_filter);
  
    // .ywrapper.StringValue path = 531822988 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/state/path"];
    bool has_path() const;
    void clear_path();
    static const int kPathFieldNumber = 531822988;
    const ::ywrapper::StringValue& path() const;
    ::ywrapper::StringValue* release_path();
    ::ywrapper::StringValue* mutable_path();
    void set_allocated_path(::ywrapper::StringValue* path);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* exclude_filter_;
    ::ywrapper::StringValue* path_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath) */ {
   public:
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath();
    virtual ~TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath();
  
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& from);
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& operator=(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath&& from) noexcept
      : TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& operator=(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath*>(
                 &_TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      13;
  
    void Swap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* other);
    friend void swap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& a, TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& from);
    void MergeFrom(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config Config;
    typedef TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State state = 180317578 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 180317578;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& state() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* release_state();
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* state);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config config = 217705749 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 217705749;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& config() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* release_config();
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* state_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey) */ {
   public:
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey();
    virtual ~TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey();
  
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& from);
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& operator=(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey&& from) noexcept
      : TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& operator=(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey*>(
                 &_TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      14;
  
    void Swap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey* other);
    friend void swap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& a, TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& from);
    void MergeFrom(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string path = 1 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/path"];
    void clear_path();
    static const int kPathFieldNumber = 1;
    const ::std::string& path() const;
    void set_path(const ::std::string& value);
    #if LANG_CXX11
    void set_path(::std::string&& value);
    #endif
    void set_path(const char* value);
    void set_path(const char* value, size_t size);
    ::std::string* mutable_path();
    ::std::string* release_path();
    void set_allocated_path(::std::string* path);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath sensor_path = 2;
    bool has_sensor_path() const;
    void clear_sensor_path();
    static const int kSensorPathFieldNumber = 2;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& sensor_path() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* release_sensor_path();
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* mutable_sensor_path();
    void set_allocated_sensor_path(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* sensor_path);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr path_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* sensor_path_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_SensorGroups_SensorGroup_SensorPaths : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths) */ {
   public:
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths();
    virtual ~TelemetrySystem_SensorGroups_SensorGroup_SensorPaths();
  
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& from);
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& operator=(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths&& from) noexcept
      : TelemetrySystem_SensorGroups_SensorGroup_SensorPaths() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& operator=(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths*>(
                 &_TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      15;
  
    void Swap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* other);
    friend void swap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& a, TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& from);
    void MergeFrom(const TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath SensorPath;
    typedef TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey SensorPathKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey sensor_path = 79286432 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path"];
    int sensor_path_size() const;
    void clear_sensor_path();
    static const int kSensorPathFieldNumber = 79286432;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& sensor_path(int index) const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey* mutable_sensor_path(int index);
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey* add_sensor_path();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey >*
        mutable_sensor_path();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey >&
        sensor_path() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey > sensor_path_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_SensorPathsImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_SensorGroups_SensorGroup_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.State) */ {
   public:
    TelemetrySystem_SensorGroups_SensorGroup_State();
    virtual ~TelemetrySystem_SensorGroups_SensorGroup_State();
  
    TelemetrySystem_SensorGroups_SensorGroup_State(const TelemetrySystem_SensorGroups_SensorGroup_State& from);
  
    inline TelemetrySystem_SensorGroups_SensorGroup_State& operator=(const TelemetrySystem_SensorGroups_SensorGroup_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_SensorGroups_SensorGroup_State(TelemetrySystem_SensorGroups_SensorGroup_State&& from) noexcept
      : TelemetrySystem_SensorGroups_SensorGroup_State() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_SensorGroups_SensorGroup_State& operator=(TelemetrySystem_SensorGroups_SensorGroup_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_SensorGroups_SensorGroup_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_SensorGroups_SensorGroup_State* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_SensorGroups_SensorGroup_State*>(
                 &_TelemetrySystem_SensorGroups_SensorGroup_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      16;
  
    void Swap(TelemetrySystem_SensorGroups_SensorGroup_State* other);
    friend void swap(TelemetrySystem_SensorGroups_SensorGroup_State& a, TelemetrySystem_SensorGroups_SensorGroup_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_SensorGroups_SensorGroup_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_SensorGroups_SensorGroup_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_SensorGroups_SensorGroup_State& from);
    void MergeFrom(const TelemetrySystem_SensorGroups_SensorGroup_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_SensorGroups_SensorGroup_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue sensor_group_id = 463434790 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/state/sensor-group-id"];
    bool has_sensor_group_id() const;
    void clear_sensor_group_id();
    static const int kSensorGroupIdFieldNumber = 463434790;
    const ::ywrapper::StringValue& sensor_group_id() const;
    ::ywrapper::StringValue* release_sensor_group_id();
    ::ywrapper::StringValue* mutable_sensor_group_id();
    void set_allocated_sensor_group_id(::ywrapper::StringValue* sensor_group_id);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* sensor_group_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SensorGroups_SensorGroup_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_SensorGroups_SensorGroup : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup) */ {
   public:
    TelemetrySystem_SensorGroups_SensorGroup();
    virtual ~TelemetrySystem_SensorGroups_SensorGroup();
  
    TelemetrySystem_SensorGroups_SensorGroup(const TelemetrySystem_SensorGroups_SensorGroup& from);
  
    inline TelemetrySystem_SensorGroups_SensorGroup& operator=(const TelemetrySystem_SensorGroups_SensorGroup& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_SensorGroups_SensorGroup(TelemetrySystem_SensorGroups_SensorGroup&& from) noexcept
      : TelemetrySystem_SensorGroups_SensorGroup() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_SensorGroups_SensorGroup& operator=(TelemetrySystem_SensorGroups_SensorGroup&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_SensorGroups_SensorGroup& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_SensorGroups_SensorGroup* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_SensorGroups_SensorGroup*>(
                 &_TelemetrySystem_SensorGroups_SensorGroup_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      17;
  
    void Swap(TelemetrySystem_SensorGroups_SensorGroup* other);
    friend void swap(TelemetrySystem_SensorGroups_SensorGroup& a, TelemetrySystem_SensorGroups_SensorGroup& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_SensorGroups_SensorGroup* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_SensorGroups_SensorGroup* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_SensorGroups_SensorGroup& from);
    void MergeFrom(const TelemetrySystem_SensorGroups_SensorGroup& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_SensorGroups_SensorGroup* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_SensorGroups_SensorGroup_Config Config;
    typedef TelemetrySystem_SensorGroups_SensorGroup_SensorPaths SensorPaths;
    typedef TelemetrySystem_SensorGroups_SensorGroup_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.Config config = 202220420 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 202220420;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config& config() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config* release_config();
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config* config);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.State state = 464740509 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 464740509;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State& state() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State* release_state();
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State* state);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths sensor_paths = 505094703 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths"];
    bool has_sensor_paths() const;
    void clear_sensor_paths();
    static const int kSensorPathsFieldNumber = 505094703;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& sensor_paths() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* release_sensor_paths();
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* mutable_sensor_paths();
    void set_allocated_sensor_paths(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* sensor_paths);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config* config_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State* state_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* sensor_paths_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SensorGroups_SensorGroupImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_SensorGroups_SensorGroupKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey) */ {
   public:
    TelemetrySystem_SensorGroups_SensorGroupKey();
    virtual ~TelemetrySystem_SensorGroups_SensorGroupKey();
  
    TelemetrySystem_SensorGroups_SensorGroupKey(const TelemetrySystem_SensorGroups_SensorGroupKey& from);
  
    inline TelemetrySystem_SensorGroups_SensorGroupKey& operator=(const TelemetrySystem_SensorGroups_SensorGroupKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_SensorGroups_SensorGroupKey(TelemetrySystem_SensorGroups_SensorGroupKey&& from) noexcept
      : TelemetrySystem_SensorGroups_SensorGroupKey() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_SensorGroups_SensorGroupKey& operator=(TelemetrySystem_SensorGroups_SensorGroupKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_SensorGroups_SensorGroupKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_SensorGroups_SensorGroupKey* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_SensorGroups_SensorGroupKey*>(
                 &_TelemetrySystem_SensorGroups_SensorGroupKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      18;
  
    void Swap(TelemetrySystem_SensorGroups_SensorGroupKey* other);
    friend void swap(TelemetrySystem_SensorGroups_SensorGroupKey& a, TelemetrySystem_SensorGroups_SensorGroupKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_SensorGroups_SensorGroupKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_SensorGroups_SensorGroupKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_SensorGroups_SensorGroupKey& from);
    void MergeFrom(const TelemetrySystem_SensorGroups_SensorGroupKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_SensorGroups_SensorGroupKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string sensor_group_id = 1 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-group-id"];
    void clear_sensor_group_id();
    static const int kSensorGroupIdFieldNumber = 1;
    const ::std::string& sensor_group_id() const;
    void set_sensor_group_id(const ::std::string& value);
    #if LANG_CXX11
    void set_sensor_group_id(::std::string&& value);
    #endif
    void set_sensor_group_id(const char* value);
    void set_sensor_group_id(const char* value, size_t size);
    ::std::string* mutable_sensor_group_id();
    ::std::string* release_sensor_group_id();
    void set_allocated_sensor_group_id(::std::string* sensor_group_id);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup sensor_group = 2;
    bool has_sensor_group() const;
    void clear_sensor_group();
    static const int kSensorGroupFieldNumber = 2;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup& sensor_group() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup* release_sensor_group();
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup* mutable_sensor_group();
    void set_allocated_sensor_group(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup* sensor_group);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr sensor_group_id_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup* sensor_group_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SensorGroups_SensorGroupKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_SensorGroups : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups) */ {
   public:
    TelemetrySystem_SensorGroups();
    virtual ~TelemetrySystem_SensorGroups();
  
    TelemetrySystem_SensorGroups(const TelemetrySystem_SensorGroups& from);
  
    inline TelemetrySystem_SensorGroups& operator=(const TelemetrySystem_SensorGroups& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_SensorGroups(TelemetrySystem_SensorGroups&& from) noexcept
      : TelemetrySystem_SensorGroups() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_SensorGroups& operator=(TelemetrySystem_SensorGroups&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_SensorGroups& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_SensorGroups* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_SensorGroups*>(
                 &_TelemetrySystem_SensorGroups_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      19;
  
    void Swap(TelemetrySystem_SensorGroups* other);
    friend void swap(TelemetrySystem_SensorGroups& a, TelemetrySystem_SensorGroups& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_SensorGroups* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_SensorGroups* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_SensorGroups& from);
    void MergeFrom(const TelemetrySystem_SensorGroups& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_SensorGroups* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_SensorGroups_SensorGroup SensorGroup;
    typedef TelemetrySystem_SensorGroups_SensorGroupKey SensorGroupKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey sensor_group = 302649347 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group"];
    int sensor_group_size() const;
    void clear_sensor_group();
    static const int kSensorGroupFieldNumber = 302649347;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey& sensor_group(int index) const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey* mutable_sensor_group(int index);
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey* add_sensor_group();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey >*
        mutable_sensor_group();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey >&
        sensor_group() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey > sensor_group_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SensorGroupsImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State) */ {
   public:
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State();
    virtual ~TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State();
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& from);
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& operator=(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State&& from) noexcept
      : TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& operator=(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State*>(
                 &_TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      20;
  
    void Swap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* other);
    friend void swap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& a, TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue exclude_filter = 248310562 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths/sensor-path/state/exclude-filter"];
    bool has_exclude_filter() const;
    void clear_exclude_filter();
    static const int kExcludeFilterFieldNumber = 248310562;
    const ::ywrapper::StringValue& exclude_filter() const;
    ::ywrapper::StringValue* release_exclude_filter();
    ::ywrapper::StringValue* mutable_exclude_filter();
    void set_allocated_exclude_filter(::ywrapper::StringValue* exclude_filter);
  
    // .ywrapper.StringValue path = 372540922 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths/sensor-path/state/path"];
    bool has_path() const;
    void clear_path();
    static const int kPathFieldNumber = 372540922;
    const ::ywrapper::StringValue& path() const;
    ::ywrapper::StringValue* release_path();
    ::ywrapper::StringValue* mutable_path();
    void set_allocated_path(::ywrapper::StringValue* path);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* exclude_filter_;
    ::ywrapper::StringValue* path_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath) */ {
   public:
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath();
    virtual ~TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath();
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& from);
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& operator=(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath&& from) noexcept
      : TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& operator=(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath*>(
                 &_TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      21;
  
    void Swap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* other);
    friend void swap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& a, TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State state = 477609744 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths/sensor-path/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 477609744;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& state() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* release_state();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey) */ {
   public:
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey();
    virtual ~TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey();
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& from);
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& operator=(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey&& from) noexcept
      : TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& operator=(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey*>(
                 &_TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      22;
  
    void Swap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey* other);
    friend void swap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& a, TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string path = 1 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths/sensor-path/path"];
    void clear_path();
    static const int kPathFieldNumber = 1;
    const ::std::string& path() const;
    void set_path(const ::std::string& value);
    #if LANG_CXX11
    void set_path(::std::string&& value);
    #endif
    void set_path(const char* value);
    void set_path(const char* value, size_t size);
    ::std::string* mutable_path();
    ::std::string* release_path();
    void set_allocated_path(::std::string* path);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath sensor_path = 2;
    bool has_sensor_path() const;
    void clear_sensor_path();
    static const int kSensorPathFieldNumber = 2;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& sensor_path() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* release_sensor_path();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* mutable_sensor_path();
    void set_allocated_sensor_path(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* sensor_path);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr path_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* sensor_path_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths) */ {
   public:
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths();
    virtual ~TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths();
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& from);
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& operator=(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths&& from) noexcept
      : TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& operator=(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths*>(
                 &_TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      23;
  
    void Swap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* other);
    friend void swap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& a, TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath SensorPath;
    typedef TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey SensorPathKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey sensor_path = 96427310 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths/sensor-path"];
    int sensor_path_size() const;
    void clear_sensor_path();
    static const int kSensorPathFieldNumber = 96427310;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& sensor_path(int index) const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey* mutable_sensor_path(int index);
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey* add_sensor_path();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey >*
        mutable_sensor_path();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey >&
        sensor_path() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey > sensor_path_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPathsImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Dynamic_Subscription_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State) */ {
   public:
    TelemetrySystem_Subscriptions_Dynamic_Subscription_State();
    virtual ~TelemetrySystem_Subscriptions_Dynamic_Subscription_State();
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription_State(const TelemetrySystem_Subscriptions_Dynamic_Subscription_State& from);
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_State& operator=(const TelemetrySystem_Subscriptions_Dynamic_Subscription_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Dynamic_Subscription_State(TelemetrySystem_Subscriptions_Dynamic_Subscription_State&& from) noexcept
      : TelemetrySystem_Subscriptions_Dynamic_Subscription_State() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_State& operator=(TelemetrySystem_Subscriptions_Dynamic_Subscription_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Dynamic_Subscription_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Dynamic_Subscription_State* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Dynamic_Subscription_State*>(
                 &_TelemetrySystem_Subscriptions_Dynamic_Subscription_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      24;
  
    void Swap(TelemetrySystem_Subscriptions_Dynamic_Subscription_State* other);
    friend void swap(TelemetrySystem_Subscriptions_Dynamic_Subscription_State& a, TelemetrySystem_Subscriptions_Dynamic_Subscription_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription_State& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Dynamic_Subscription_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue subscription_id = 6475945 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/subscription-id"];
    bool has_subscription_id() const;
    void clear_subscription_id();
    static const int kSubscriptionIdFieldNumber = 6475945;
    const ::ywrapper::UintValue& subscription_id() const;
    ::ywrapper::UintValue* release_subscription_id();
    ::ywrapper::UintValue* mutable_subscription_id();
    void set_allocated_subscription_id(::ywrapper::UintValue* subscription_id);
  
    // .ywrapper.UintValue heartbeat_interval = 57052532 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/heartbeat-interval"];
    bool has_heartbeat_interval() const;
    void clear_heartbeat_interval();
    static const int kHeartbeatIntervalFieldNumber = 57052532;
    const ::ywrapper::UintValue& heartbeat_interval() const;
    ::ywrapper::UintValue* release_heartbeat_interval();
    ::ywrapper::UintValue* mutable_heartbeat_interval();
    void set_allocated_heartbeat_interval(::ywrapper::UintValue* heartbeat_interval);
  
    // .ywrapper.UintValue sample_interval = 277056770 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/sample-interval"];
    bool has_sample_interval() const;
    void clear_sample_interval();
    static const int kSampleIntervalFieldNumber = 277056770;
    const ::ywrapper::UintValue& sample_interval() const;
    ::ywrapper::UintValue* release_sample_interval();
    ::ywrapper::UintValue* mutable_sample_interval();
    void set_allocated_sample_interval(::ywrapper::UintValue* sample_interval);
  
    // .ywrapper.UintValue originated_qos_marking = 350486862 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/originated-qos-marking"];
    bool has_originated_qos_marking() const;
    void clear_originated_qos_marking();
    static const int kOriginatedQosMarkingFieldNumber = 350486862;
    const ::ywrapper::UintValue& originated_qos_marking() const;
    ::ywrapper::UintValue* release_originated_qos_marking();
    ::ywrapper::UintValue* mutable_originated_qos_marking();
    void set_allocated_originated_qos_marking(::ywrapper::UintValue* originated_qos_marking);
  
    // .ywrapper.StringValue destination_address = 360531453 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/destination-address"];
    bool has_destination_address() const;
    void clear_destination_address();
    static const int kDestinationAddressFieldNumber = 360531453;
    const ::ywrapper::StringValue& destination_address() const;
    ::ywrapper::StringValue* release_destination_address();
    ::ywrapper::StringValue* mutable_destination_address();
    void set_allocated_destination_address(::ywrapper::StringValue* destination_address);
  
    // .ywrapper.BoolValue suppress_redundant = 380278679 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/suppress-redundant"];
    bool has_suppress_redundant() const;
    void clear_suppress_redundant();
    static const int kSuppressRedundantFieldNumber = 380278679;
    const ::ywrapper::BoolValue& suppress_redundant() const;
    ::ywrapper::BoolValue* release_suppress_redundant();
    ::ywrapper::BoolValue* mutable_suppress_redundant();
    void set_allocated_suppress_redundant(::ywrapper::BoolValue* suppress_redundant);
  
    // .ywrapper.UintValue destination_port = 404479854 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/destination-port"];
    bool has_destination_port() const;
    void clear_destination_port();
    static const int kDestinationPortFieldNumber = 404479854;
    const ::ywrapper::UintValue& destination_port() const;
    ::ywrapper::UintValue* release_destination_port();
    ::ywrapper::UintValue* mutable_destination_port();
    void set_allocated_destination_port(::ywrapper::UintValue* destination_port);
  
    // .openconfig.enums.OpenconfigTelemetryTypesSTREAMPROTOCOL protocol = 139368590 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/protocol"];
    void clear_protocol();
    static const int kProtocolFieldNumber = 139368590;
    ::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL protocol() const;
    void set_protocol(::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL value);
  
    // .openconfig.enums.OpenconfigTelemetryTypesDATAENCODINGMETHOD encoding = 517148793 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/encoding"];
    void clear_encoding();
    static const int kEncodingFieldNumber = 517148793;
    ::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD encoding() const;
    void set_encoding(::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* subscription_id_;
    ::ywrapper::UintValue* heartbeat_interval_;
    ::ywrapper::UintValue* sample_interval_;
    ::ywrapper::UintValue* originated_qos_marking_;
    ::ywrapper::StringValue* destination_address_;
    ::ywrapper::BoolValue* suppress_redundant_;
    ::ywrapper::UintValue* destination_port_;
    int protocol_;
    int encoding_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Dynamic_Subscription_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Dynamic_Subscription : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription) */ {
   public:
    TelemetrySystem_Subscriptions_Dynamic_Subscription();
    virtual ~TelemetrySystem_Subscriptions_Dynamic_Subscription();
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription(const TelemetrySystem_Subscriptions_Dynamic_Subscription& from);
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription& operator=(const TelemetrySystem_Subscriptions_Dynamic_Subscription& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Dynamic_Subscription(TelemetrySystem_Subscriptions_Dynamic_Subscription&& from) noexcept
      : TelemetrySystem_Subscriptions_Dynamic_Subscription() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription& operator=(TelemetrySystem_Subscriptions_Dynamic_Subscription&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Dynamic_Subscription& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Dynamic_Subscription* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Dynamic_Subscription*>(
                 &_TelemetrySystem_Subscriptions_Dynamic_Subscription_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      25;
  
    void Swap(TelemetrySystem_Subscriptions_Dynamic_Subscription* other);
    friend void swap(TelemetrySystem_Subscriptions_Dynamic_Subscription& a, TelemetrySystem_Subscriptions_Dynamic_Subscription& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Dynamic_Subscription* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Dynamic_Subscription* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Dynamic_Subscription& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Dynamic_Subscription* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths SensorPaths;
    typedef TelemetrySystem_Subscriptions_Dynamic_Subscription_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State state = 318935835 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 318935835;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State& state() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State* release_state();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State* state);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths sensor_paths = 486845533 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths"];
    bool has_sensor_paths() const;
    void clear_sensor_paths();
    static const int kSensorPathsFieldNumber = 486845533;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& sensor_paths() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* release_sensor_paths();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* mutable_sensor_paths();
    void set_allocated_sensor_paths(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* sensor_paths);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State* state_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* sensor_paths_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Dynamic_SubscriptionImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.SubscriptionKey) */ {
   public:
    TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey();
    virtual ~TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey();
  
    TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey(const TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& from);
  
    inline TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& operator=(const TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey(TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey&& from) noexcept
      : TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& operator=(TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey*>(
                 &_TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      26;
  
    void Swap(TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey* other);
    friend void swap(TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& a, TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription subscription = 2;
    bool has_subscription() const;
    void clear_subscription();
    static const int kSubscriptionFieldNumber = 2;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription& subscription() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription* release_subscription();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription* mutable_subscription();
    void set_allocated_subscription(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription* subscription);
  
    // uint64 subscription_id = 1 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/subscription-id"];
    void clear_subscription_id();
    static const int kSubscriptionIdFieldNumber = 1;
    ::google::protobuf::uint64 subscription_id() const;
    void set_subscription_id(::google::protobuf::uint64 value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.SubscriptionKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription* subscription_;
    ::google::protobuf::uint64 subscription_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Dynamic_SubscriptionKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Dynamic : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic) */ {
   public:
    TelemetrySystem_Subscriptions_Dynamic();
    virtual ~TelemetrySystem_Subscriptions_Dynamic();
  
    TelemetrySystem_Subscriptions_Dynamic(const TelemetrySystem_Subscriptions_Dynamic& from);
  
    inline TelemetrySystem_Subscriptions_Dynamic& operator=(const TelemetrySystem_Subscriptions_Dynamic& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Dynamic(TelemetrySystem_Subscriptions_Dynamic&& from) noexcept
      : TelemetrySystem_Subscriptions_Dynamic() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Dynamic& operator=(TelemetrySystem_Subscriptions_Dynamic&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Dynamic& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Dynamic* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Dynamic*>(
                 &_TelemetrySystem_Subscriptions_Dynamic_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      27;
  
    void Swap(TelemetrySystem_Subscriptions_Dynamic* other);
    friend void swap(TelemetrySystem_Subscriptions_Dynamic& a, TelemetrySystem_Subscriptions_Dynamic& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Dynamic* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Dynamic* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Dynamic& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Dynamic& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Dynamic* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Dynamic_Subscription Subscription;
    typedef TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey SubscriptionKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.SubscriptionKey subscription = 37685017 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription"];
    int subscription_size() const;
    void clear_subscription();
    static const int kSubscriptionFieldNumber = 37685017;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& subscription(int index) const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey* mutable_subscription(int index);
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey* add_subscription();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey >*
        mutable_subscription();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey >&
        subscription() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey > subscription_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_DynamicImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_Config();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_Config();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_Config(const TelemetrySystem_Subscriptions_Persistent_Subscription_Config& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_Config& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_Config(TelemetrySystem_Subscriptions_Persistent_Subscription_Config&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_Config() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_Config& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_Config* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_Config*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      28;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_Config* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_Config& a, TelemetrySystem_Subscriptions_Persistent_Subscription_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_Config& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue subscription_name = 11686182 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config/subscription-name"];
    bool has_subscription_name() const;
    void clear_subscription_name();
    static const int kSubscriptionNameFieldNumber = 11686182;
    const ::ywrapper::StringValue& subscription_name() const;
    ::ywrapper::StringValue* release_subscription_name();
    ::ywrapper::StringValue* mutable_subscription_name();
    void set_allocated_subscription_name(::ywrapper::StringValue* subscription_name);
  
    // .ywrapper.StringValue local_source_address = 417080623 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config/local-source-address"];
    bool has_local_source_address() const;
    void clear_local_source_address();
    static const int kLocalSourceAddressFieldNumber = 417080623;
    const ::ywrapper::StringValue& local_source_address() const;
    ::ywrapper::StringValue* release_local_source_address();
    ::ywrapper::StringValue* mutable_local_source_address();
    void set_allocated_local_source_address(::ywrapper::StringValue* local_source_address);
  
    // .ywrapper.UintValue originated_qos_marking = 522395249 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config/originated-qos-marking"];
    bool has_originated_qos_marking() const;
    void clear_originated_qos_marking();
    static const int kOriginatedQosMarkingFieldNumber = 522395249;
    const ::ywrapper::UintValue& originated_qos_marking() const;
    ::ywrapper::UintValue* release_originated_qos_marking();
    ::ywrapper::UintValue* mutable_originated_qos_marking();
    void set_allocated_originated_qos_marking(::ywrapper::UintValue* originated_qos_marking);
  
    // .openconfig.enums.OpenconfigTelemetryTypesSTREAMPROTOCOL protocol = 244532053 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config/protocol"];
    void clear_protocol();
    static const int kProtocolFieldNumber = 244532053;
    ::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL protocol() const;
    void set_protocol(::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL value);
  
    // .openconfig.enums.OpenconfigTelemetryTypesDATAENCODINGMETHOD encoding = 291386974 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config/encoding"];
    void clear_encoding();
    static const int kEncodingFieldNumber = 291386974;
    ::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD encoding() const;
    void set_encoding(::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* subscription_name_;
    ::ywrapper::StringValue* local_source_address_;
    ::ywrapper::UintValue* originated_qos_marking_;
    int protocol_;
    int encoding_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.Config) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      29;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& a, TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue group_id = 442445183 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group/config/group-id"];
    bool has_group_id() const;
    void clear_group_id();
    static const int kGroupIdFieldNumber = 442445183;
    const ::ywrapper::StringValue& group_id() const;
    ::ywrapper::StringValue* release_group_id();
    ::ywrapper::StringValue* mutable_group_id();
    void set_allocated_group_id(::ywrapper::StringValue* group_id);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* group_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.State) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      30;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& a, TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue group_id = 160425238 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group/state/group-id"];
    bool has_group_id() const;
    void clear_group_id();
    static const int kGroupIdFieldNumber = 160425238;
    const ::ywrapper::StringValue& group_id() const;
    ::ywrapper::StringValue* release_group_id();
    ::ywrapper::StringValue* mutable_group_id();
    void set_allocated_group_id(::ywrapper::StringValue* group_id);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* group_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      31;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& a, TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config Config;
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.State state = 41930108 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 41930108;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& state() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* release_state();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* state);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.Config config = 42050555 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 42050555;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& config() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* release_config();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* state_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      32;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& a, TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string group_id = 1 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group/group-id"];
    void clear_group_id();
    static const int kGroupIdFieldNumber = 1;
    const ::std::string& group_id() const;
    void set_group_id(const ::std::string& value);
    #if LANG_CXX11
    void set_group_id(::std::string&& value);
    #endif
    void set_group_id(const char* value);
    void set_group_id(const char* value, size_t size);
    ::std::string* mutable_group_id();
    ::std::string* release_group_id();
    void set_allocated_group_id(::std::string* group_id);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup destination_group = 2;
    bool has_destination_group() const;
    void clear_destination_group();
    static const int kDestinationGroupFieldNumber = 2;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& destination_group() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* release_destination_group();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* mutable_destination_group();
    void set_allocated_destination_group(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* destination_group);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr group_id_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* destination_group_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      33;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& a, TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup DestinationGroup;
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey DestinationGroupKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey destination_group = 390702378 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group"];
    int destination_group_size() const;
    void clear_destination_group();
    static const int kDestinationGroupFieldNumber = 390702378;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& destination_group(int index) const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey* mutable_destination_group(int index);
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey* add_destination_group();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey >*
        mutable_destination_group();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey >&
        destination_group() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey > destination_group_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroupsImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      34;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& a, TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.BoolValue suppress_redundant = 62832455 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/config/suppress-redundant"];
    bool has_suppress_redundant() const;
    void clear_suppress_redundant();
    static const int kSuppressRedundantFieldNumber = 62832455;
    const ::ywrapper::BoolValue& suppress_redundant() const;
    ::ywrapper::BoolValue* release_suppress_redundant();
    ::ywrapper::BoolValue* mutable_suppress_redundant();
    void set_allocated_suppress_redundant(::ywrapper::BoolValue* suppress_redundant);
  
    // .ywrapper.StringValue sensor_group = 67209630 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/config/sensor-group"];
    bool has_sensor_group() const;
    void clear_sensor_group();
    static const int kSensorGroupFieldNumber = 67209630;
    const ::ywrapper::StringValue& sensor_group() const;
    ::ywrapper::StringValue* release_sensor_group();
    ::ywrapper::StringValue* mutable_sensor_group();
    void set_allocated_sensor_group(::ywrapper::StringValue* sensor_group);
  
    // .ywrapper.UintValue heartbeat_interval = 246802852 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/config/heartbeat-interval"];
    bool has_heartbeat_interval() const;
    void clear_heartbeat_interval();
    static const int kHeartbeatIntervalFieldNumber = 246802852;
    const ::ywrapper::UintValue& heartbeat_interval() const;
    ::ywrapper::UintValue* release_heartbeat_interval();
    ::ywrapper::UintValue* mutable_heartbeat_interval();
    void set_allocated_heartbeat_interval(::ywrapper::UintValue* heartbeat_interval);
  
    // .ywrapper.UintValue sample_interval = 337707314 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/config/sample-interval"];
    bool has_sample_interval() const;
    void clear_sample_interval();
    static const int kSampleIntervalFieldNumber = 337707314;
    const ::ywrapper::UintValue& sample_interval() const;
    ::ywrapper::UintValue* release_sample_interval();
    ::ywrapper::UintValue* mutable_sample_interval();
    void set_allocated_sample_interval(::ywrapper::UintValue* sample_interval);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::BoolValue* suppress_redundant_;
    ::ywrapper::StringValue* sensor_group_;
    ::ywrapper::UintValue* heartbeat_interval_;
    ::ywrapper::UintValue* sample_interval_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      35;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& a, TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue sensor_group = 31535139 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/state/sensor-group"];
    bool has_sensor_group() const;
    void clear_sensor_group();
    static const int kSensorGroupFieldNumber = 31535139;
    const ::ywrapper::StringValue& sensor_group() const;
    ::ywrapper::StringValue* release_sensor_group();
    ::ywrapper::StringValue* mutable_sensor_group();
    void set_allocated_sensor_group(::ywrapper::StringValue* sensor_group);
  
    // .ywrapper.BoolValue suppress_redundant = 37092854 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/state/suppress-redundant"];
    bool has_suppress_redundant() const;
    void clear_suppress_redundant();
    static const int kSuppressRedundantFieldNumber = 37092854;
    const ::ywrapper::BoolValue& suppress_redundant() const;
    ::ywrapper::BoolValue* release_suppress_redundant();
    ::ywrapper::BoolValue* mutable_suppress_redundant();
    void set_allocated_suppress_redundant(::ywrapper::BoolValue* suppress_redundant);
  
    // .ywrapper.UintValue sample_interval = 300765917 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/state/sample-interval"];
    bool has_sample_interval() const;
    void clear_sample_interval();
    static const int kSampleIntervalFieldNumber = 300765917;
    const ::ywrapper::UintValue& sample_interval() const;
    ::ywrapper::UintValue* release_sample_interval();
    ::ywrapper::UintValue* mutable_sample_interval();
    void set_allocated_sample_interval(::ywrapper::UintValue* sample_interval);
  
    // .ywrapper.UintValue heartbeat_interval = 337051885 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/state/heartbeat-interval"];
    bool has_heartbeat_interval() const;
    void clear_heartbeat_interval();
    static const int kHeartbeatIntervalFieldNumber = 337051885;
    const ::ywrapper::UintValue& heartbeat_interval() const;
    ::ywrapper::UintValue* release_heartbeat_interval();
    ::ywrapper::UintValue* mutable_heartbeat_interval();
    void set_allocated_heartbeat_interval(::ywrapper::UintValue* heartbeat_interval);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* sensor_group_;
    ::ywrapper::BoolValue* suppress_redundant_;
    ::ywrapper::UintValue* sample_interval_;
    ::ywrapper::UintValue* heartbeat_interval_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      36;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& a, TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config Config;
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State state = 242816108 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 242816108;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& state() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* release_state();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* state);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config config = 522768043 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 522768043;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& config() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* release_config();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* state_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      37;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& a, TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string sensor_group = 1 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/sensor-group"];
    void clear_sensor_group();
    static const int kSensorGroupFieldNumber = 1;
    const ::std::string& sensor_group() const;
    void set_sensor_group(const ::std::string& value);
    #if LANG_CXX11
    void set_sensor_group(::std::string&& value);
    #endif
    void set_sensor_group(const char* value);
    void set_sensor_group(const char* value, size_t size);
    ::std::string* mutable_sensor_group();
    ::std::string* release_sensor_group();
    void set_allocated_sensor_group(::std::string* sensor_group);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile sensor_profile = 2;
    bool has_sensor_profile() const;
    void clear_sensor_profile();
    static const int kSensorProfileFieldNumber = 2;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& sensor_profile() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* release_sensor_profile();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* mutable_sensor_profile();
    void set_allocated_sensor_profile(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* sensor_profile);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr sensor_group_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* sensor_profile_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      38;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& a, TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile SensorProfile;
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey SensorProfileKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey sensor_profile = 506856122 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile"];
    int sensor_profile_size() const;
    void clear_sensor_profile();
    static const int kSensorProfileFieldNumber = 506856122;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& sensor_profile(int index) const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey* mutable_sensor_profile(int index);
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey* add_sensor_profile();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey >*
        mutable_sensor_profile();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey >&
        sensor_profile() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey > sensor_profile_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfilesImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription_State();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription_State();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_State(const TelemetrySystem_Subscriptions_Persistent_Subscription_State& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_State& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription_State(TelemetrySystem_Subscriptions_Persistent_Subscription_State&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription_State() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_State& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription_State* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription_State*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      39;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription_State* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription_State& a, TelemetrySystem_Subscriptions_Persistent_Subscription_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_State& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue local_source_address = 76848696 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/local-source-address"];
    bool has_local_source_address() const;
    void clear_local_source_address();
    static const int kLocalSourceAddressFieldNumber = 76848696;
    const ::ywrapper::StringValue& local_source_address() const;
    ::ywrapper::StringValue* release_local_source_address();
    ::ywrapper::StringValue* mutable_local_source_address();
    void set_allocated_local_source_address(::ywrapper::StringValue* local_source_address);
  
    // .ywrapper.StringValue subscription_name = 179804147 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/subscription-name"];
    bool has_subscription_name() const;
    void clear_subscription_name();
    static const int kSubscriptionNameFieldNumber = 179804147;
    const ::ywrapper::StringValue& subscription_name() const;
    ::ywrapper::StringValue* release_subscription_name();
    ::ywrapper::StringValue* mutable_subscription_name();
    void set_allocated_subscription_name(::ywrapper::StringValue* subscription_name);
  
    // .ywrapper.UintValue originated_qos_marking = 184038690 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/originated-qos-marking"];
    bool has_originated_qos_marking() const;
    void clear_originated_qos_marking();
    static const int kOriginatedQosMarkingFieldNumber = 184038690;
    const ::ywrapper::UintValue& originated_qos_marking() const;
    ::ywrapper::UintValue* release_originated_qos_marking();
    ::ywrapper::UintValue* mutable_originated_qos_marking();
    void set_allocated_originated_qos_marking(::ywrapper::UintValue* originated_qos_marking);
  
    // .ywrapper.UintValue subscription_id = 395277141 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/subscription-id"];
    bool has_subscription_id() const;
    void clear_subscription_id();
    static const int kSubscriptionIdFieldNumber = 395277141;
    const ::ywrapper::UintValue& subscription_id() const;
    ::ywrapper::UintValue* release_subscription_id();
    ::ywrapper::UintValue* mutable_subscription_id();
    void set_allocated_subscription_id(::ywrapper::UintValue* subscription_id);
  
    // .openconfig.enums.OpenconfigTelemetryTypesDATAENCODINGMETHOD encoding = 305899469 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/encoding"];
    void clear_encoding();
    static const int kEncodingFieldNumber = 305899469;
    ::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD encoding() const;
    void set_encoding(::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD value);
  
    // .openconfig.enums.OpenconfigTelemetryTypesSTREAMPROTOCOL protocol = 450574570 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/protocol"];
    void clear_protocol();
    static const int kProtocolFieldNumber = 450574570;
    ::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL protocol() const;
    void set_protocol(::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* local_source_address_;
    ::ywrapper::StringValue* subscription_name_;
    ::ywrapper::UintValue* originated_qos_marking_;
    ::ywrapper::UintValue* subscription_id_;
    int encoding_;
    int protocol_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_Subscription_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_Subscription : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_Subscription();
    virtual ~TelemetrySystem_Subscriptions_Persistent_Subscription();
  
    TelemetrySystem_Subscriptions_Persistent_Subscription(const TelemetrySystem_Subscriptions_Persistent_Subscription& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription& operator=(const TelemetrySystem_Subscriptions_Persistent_Subscription& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_Subscription(TelemetrySystem_Subscriptions_Persistent_Subscription&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_Subscription() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription& operator=(TelemetrySystem_Subscriptions_Persistent_Subscription&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_Subscription& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_Subscription* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_Subscription*>(
                 &_TelemetrySystem_Subscriptions_Persistent_Subscription_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      40;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_Subscription* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_Subscription& a, TelemetrySystem_Subscriptions_Persistent_Subscription& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_Subscription* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_Subscription* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_Subscription& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_Subscription* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_Config Config;
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups DestinationGroups;
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles SensorProfiles;
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config config = 48457858 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 48457858;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config& config() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config* release_config();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config* config);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups destination_groups = 261943797 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups"];
    bool has_destination_groups() const;
    void clear_destination_groups();
    static const int kDestinationGroupsFieldNumber = 261943797;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& destination_groups() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* release_destination_groups();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* mutable_destination_groups();
    void set_allocated_destination_groups(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* destination_groups);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State state = 390151999 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 390151999;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State& state() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State* release_state();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State* state);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles sensor_profiles = 436942849 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles"];
    bool has_sensor_profiles() const;
    void clear_sensor_profiles();
    static const int kSensorProfilesFieldNumber = 436942849;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& sensor_profiles() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* release_sensor_profiles();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* mutable_sensor_profiles();
    void set_allocated_sensor_profiles(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* sensor_profiles);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config* config_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* destination_groups_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State* state_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* sensor_profiles_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_SubscriptionImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent_SubscriptionKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent_SubscriptionKey();
    virtual ~TelemetrySystem_Subscriptions_Persistent_SubscriptionKey();
  
    TelemetrySystem_Subscriptions_Persistent_SubscriptionKey(const TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& from);
  
    inline TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& operator=(const TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent_SubscriptionKey(TelemetrySystem_Subscriptions_Persistent_SubscriptionKey&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent_SubscriptionKey() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& operator=(TelemetrySystem_Subscriptions_Persistent_SubscriptionKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent_SubscriptionKey* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent_SubscriptionKey*>(
                 &_TelemetrySystem_Subscriptions_Persistent_SubscriptionKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      41;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent_SubscriptionKey* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& a, TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent_SubscriptionKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent_SubscriptionKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent_SubscriptionKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string subscription_name = 1 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/subscription-name"];
    void clear_subscription_name();
    static const int kSubscriptionNameFieldNumber = 1;
    const ::std::string& subscription_name() const;
    void set_subscription_name(const ::std::string& value);
    #if LANG_CXX11
    void set_subscription_name(::std::string&& value);
    #endif
    void set_subscription_name(const char* value);
    void set_subscription_name(const char* value, size_t size);
    ::std::string* mutable_subscription_name();
    ::std::string* release_subscription_name();
    void set_allocated_subscription_name(::std::string* subscription_name);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription subscription = 2;
    bool has_subscription() const;
    void clear_subscription();
    static const int kSubscriptionFieldNumber = 2;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription& subscription() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription* release_subscription();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription* mutable_subscription();
    void set_allocated_subscription(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription* subscription);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr subscription_name_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription* subscription_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_Persistent_SubscriptionKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions_Persistent : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent) */ {
   public:
    TelemetrySystem_Subscriptions_Persistent();
    virtual ~TelemetrySystem_Subscriptions_Persistent();
  
    TelemetrySystem_Subscriptions_Persistent(const TelemetrySystem_Subscriptions_Persistent& from);
  
    inline TelemetrySystem_Subscriptions_Persistent& operator=(const TelemetrySystem_Subscriptions_Persistent& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions_Persistent(TelemetrySystem_Subscriptions_Persistent&& from) noexcept
      : TelemetrySystem_Subscriptions_Persistent() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions_Persistent& operator=(TelemetrySystem_Subscriptions_Persistent&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions_Persistent& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions_Persistent* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions_Persistent*>(
                 &_TelemetrySystem_Subscriptions_Persistent_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      42;
  
    void Swap(TelemetrySystem_Subscriptions_Persistent* other);
    friend void swap(TelemetrySystem_Subscriptions_Persistent& a, TelemetrySystem_Subscriptions_Persistent& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions_Persistent* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions_Persistent* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions_Persistent& from);
    void MergeFrom(const TelemetrySystem_Subscriptions_Persistent& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions_Persistent* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Persistent_Subscription Subscription;
    typedef TelemetrySystem_Subscriptions_Persistent_SubscriptionKey SubscriptionKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey subscription = 171274477 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription"];
    int subscription_size() const;
    void clear_subscription();
    static const int kSubscriptionFieldNumber = 171274477;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& subscription(int index) const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey* mutable_subscription(int index);
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey* add_subscription();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey >*
        mutable_subscription();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey >&
        subscription() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey > subscription_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_Subscriptions_PersistentImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem_Subscriptions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions) */ {
   public:
    TelemetrySystem_Subscriptions();
    virtual ~TelemetrySystem_Subscriptions();
  
    TelemetrySystem_Subscriptions(const TelemetrySystem_Subscriptions& from);
  
    inline TelemetrySystem_Subscriptions& operator=(const TelemetrySystem_Subscriptions& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem_Subscriptions(TelemetrySystem_Subscriptions&& from) noexcept
      : TelemetrySystem_Subscriptions() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem_Subscriptions& operator=(TelemetrySystem_Subscriptions&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem_Subscriptions& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem_Subscriptions* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem_Subscriptions*>(
                 &_TelemetrySystem_Subscriptions_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      43;
  
    void Swap(TelemetrySystem_Subscriptions* other);
    friend void swap(TelemetrySystem_Subscriptions& a, TelemetrySystem_Subscriptions& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem_Subscriptions* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem_Subscriptions* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem_Subscriptions& from);
    void MergeFrom(const TelemetrySystem_Subscriptions& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem_Subscriptions* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_Subscriptions_Dynamic Dynamic;
    typedef TelemetrySystem_Subscriptions_Persistent Persistent;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic dynamic = 65921087 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic"];
    bool has_dynamic() const;
    void clear_dynamic();
    static const int kDynamicFieldNumber = 65921087;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic& dynamic() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic* release_dynamic();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic* mutable_dynamic();
    void set_allocated_dynamic(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic* dynamic);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent persistent = 476420035 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent"];
    bool has_persistent() const;
    void clear_persistent();
    static const int kPersistentFieldNumber = 476420035;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent& persistent() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent* release_persistent();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent* mutable_persistent();
    void set_allocated_persistent(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent* persistent);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic* dynamic_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent* persistent_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystem_SubscriptionsImpl();
  };
  // -------------------------------------------------------------------
  
  class TelemetrySystem : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_telemetry.TelemetrySystem) */ {
   public:
    TelemetrySystem();
    virtual ~TelemetrySystem();
  
    TelemetrySystem(const TelemetrySystem& from);
  
    inline TelemetrySystem& operator=(const TelemetrySystem& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    TelemetrySystem(TelemetrySystem&& from) noexcept
      : TelemetrySystem() {
      *this = ::std::move(from);
    }
  
    inline TelemetrySystem& operator=(TelemetrySystem&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const TelemetrySystem& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const TelemetrySystem* internal_default_instance() {
      return reinterpret_cast<const TelemetrySystem*>(
                 &_TelemetrySystem_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      44;
  
    void Swap(TelemetrySystem* other);
    friend void swap(TelemetrySystem& a, TelemetrySystem& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TelemetrySystem* New() const PROTOBUF_FINAL { return New(NULL); }
  
    TelemetrySystem* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const TelemetrySystem& from);
    void MergeFrom(const TelemetrySystem& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(TelemetrySystem* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef TelemetrySystem_DestinationGroups DestinationGroups;
    typedef TelemetrySystem_SensorGroups SensorGroups;
    typedef TelemetrySystem_Subscriptions Subscriptions;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups sensor_groups = 14511052 [(.yext.schemapath) = "/telemetry-system/sensor-groups"];
    bool has_sensor_groups() const;
    void clear_sensor_groups();
    static const int kSensorGroupsFieldNumber = 14511052;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups& sensor_groups() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups* release_sensor_groups();
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups* mutable_sensor_groups();
    void set_allocated_sensor_groups(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups* sensor_groups);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions subscriptions = 114704761 [(.yext.schemapath) = "/telemetry-system/subscriptions"];
    bool has_subscriptions() const;
    void clear_subscriptions();
    static const int kSubscriptionsFieldNumber = 114704761;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions& subscriptions() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions* release_subscriptions();
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions* mutable_subscriptions();
    void set_allocated_subscriptions(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions* subscriptions);
  
    // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups destination_groups = 247030560 [(.yext.schemapath) = "/telemetry-system/destination-groups"];
    bool has_destination_groups() const;
    void clear_destination_groups();
    static const int kDestinationGroupsFieldNumber = 247030560;
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups& destination_groups() const;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups* release_destination_groups();
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups* mutable_destination_groups();
    void set_allocated_destination_groups(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups* destination_groups);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_telemetry.TelemetrySystem)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups* sensor_groups_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions* subscriptions_;
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups* destination_groups_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto::InitDefaultsTelemetrySystemImpl();
  };
  // ===================================================================
  
  
  // ===================================================================
  
  #ifdef __GNUC__
    #pragma GCC diagnostic push
    #pragma GCC diagnostic ignored "-Wstrict-aliasing"
  #endif  // __GNUC__
  // TelemetrySystem_DestinationGroups_DestinationGroup_Config
  
  // .ywrapper.StringValue group_id = 252594982 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/config/group-id"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup_Config::has_group_id() const {
    return this != internal_default_instance() && group_id_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_DestinationGroups_DestinationGroup_Config::group_id() const {
    const ::ywrapper::StringValue* p = group_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Config.group_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_DestinationGroups_DestinationGroup_Config::release_group_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Config.group_id)
    
    ::ywrapper::StringValue* temp = group_id_;
    group_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_DestinationGroups_DestinationGroup_Config::mutable_group_id() {
    
    if (group_id_ == NULL) {
      group_id_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Config.group_id)
    return group_id_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Config::set_allocated_group_id(::ywrapper::StringValue* group_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(group_id_);
    }
    if (group_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        group_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, group_id, submessage_arena);
      }
      
    } else {
      
    }
    group_id_ = group_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Config.group_id)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config
  
  // .ywrapper.StringValue destination_address = 403894671 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/config/destination-address"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config::has_destination_address() const {
    return this != internal_default_instance() && destination_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config::destination_address() const {
    const ::ywrapper::StringValue* p = destination_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config.destination_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config::release_destination_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config.destination_address)
    
    ::ywrapper::StringValue* temp = destination_address_;
    destination_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config::mutable_destination_address() {
    
    if (destination_address_ == NULL) {
      destination_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config.destination_address)
    return destination_address_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config::set_allocated_destination_address(::ywrapper::StringValue* destination_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_address_);
    }
    if (destination_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_address, submessage_arena);
      }
      
    } else {
      
    }
    destination_address_ = destination_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config.destination_address)
  }
  
  // .ywrapper.UintValue destination_port = 267782232 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/config/destination-port"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config::has_destination_port() const {
    return this != internal_default_instance() && destination_port_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config::destination_port() const {
    const ::ywrapper::UintValue* p = destination_port_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config.destination_port)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config::release_destination_port() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config.destination_port)
    
    ::ywrapper::UintValue* temp = destination_port_;
    destination_port_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config::mutable_destination_port() {
    
    if (destination_port_ == NULL) {
      destination_port_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config.destination_port)
    return destination_port_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config::set_allocated_destination_port(::ywrapper::UintValue* destination_port) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_port_);
    }
    if (destination_port) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_port = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_port, submessage_arena);
      }
      
    } else {
      
    }
    destination_port_ = destination_port;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config.destination_port)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State
  
  // .ywrapper.StringValue destination_address = 427282796 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/state/destination-address"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State::has_destination_address() const {
    return this != internal_default_instance() && destination_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State::destination_address() const {
    const ::ywrapper::StringValue* p = destination_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State.destination_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State::release_destination_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State.destination_address)
    
    ::ywrapper::StringValue* temp = destination_address_;
    destination_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State::mutable_destination_address() {
    
    if (destination_address_ == NULL) {
      destination_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State.destination_address)
    return destination_address_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State::set_allocated_destination_address(::ywrapper::StringValue* destination_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_address_);
    }
    if (destination_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_address, submessage_arena);
      }
      
    } else {
      
    }
    destination_address_ = destination_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State.destination_address)
  }
  
  // .ywrapper.UintValue destination_port = 158645621 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/state/destination-port"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State::has_destination_port() const {
    return this != internal_default_instance() && destination_port_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State::destination_port() const {
    const ::ywrapper::UintValue* p = destination_port_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State.destination_port)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State::release_destination_port() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State.destination_port)
    
    ::ywrapper::UintValue* temp = destination_port_;
    destination_port_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State::mutable_destination_port() {
    
    if (destination_port_ == NULL) {
      destination_port_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State.destination_port)
    return destination_port_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State::set_allocated_destination_port(::ywrapper::UintValue* destination_port) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_port_);
    }
    if (destination_port) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_port = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_port, submessage_arena);
      }
      
    } else {
      
    }
    destination_port_ = destination_port;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State.destination_port)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.Config config = 50402797 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/config"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config& TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::config() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.config)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.config)
    return config_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.config)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.State state = 76514978 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/state"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State& TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::state() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.state)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.state)
    return state_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination::set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination.state)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey
  
  // string destination_address = 1 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/destination-address"];
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::clear_destination_address() {
    destination_address_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::destination_address() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination_address)
    return destination_address_.GetNoArena();
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::set_destination_address(const ::std::string& value) {
    
    destination_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination_address)
  }
  #if LANG_CXX11
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::set_destination_address(::std::string&& value) {
    
    destination_address_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination_address)
  }
  #endif
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::set_destination_address(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    destination_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination_address)
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::set_destination_address(const char* value, size_t size) {
    
    destination_address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination_address)
  }
  inline ::std::string* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::mutable_destination_address() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination_address)
    return destination_address_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::release_destination_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination_address)
    
    return destination_address_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::set_allocated_destination_address(::std::string* destination_address) {
    if (destination_address != NULL) {
      
    } else {
      
    }
    destination_address_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), destination_address);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination_address)
  }
  
  // uint64 destination_port = 2 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination/destination-port"];
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::clear_destination_port() {
    destination_port_ = GOOGLE_ULONGLONG(0);
  }
  inline ::google::protobuf::uint64 TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::destination_port() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination_port)
    return destination_port_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::set_destination_port(::google::protobuf::uint64 value) {
    
    destination_port_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination_port)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.Destination destination = 3;
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::has_destination() const {
    return this != internal_default_instance() && destination_ != NULL;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::clear_destination() {
    if (GetArenaNoVirtual() == NULL && destination_ != NULL) {
      delete destination_;
    }
    destination_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination& TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::destination() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* p = destination_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::release_destination() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* temp = destination_;
    destination_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::mutable_destination() {
    
    if (destination_ == NULL) {
      destination_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination)
    return destination_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey::set_allocated_destination(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_Destination* destination) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete destination_;
    }
    if (destination) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination, submessage_arena);
      }
      
    } else {
      
    }
    destination_ = destination;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey.destination)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_DestinationGroups_DestinationGroup_Destinations
  
  // repeated .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.DestinationKey destination = 263920904 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations/destination"];
  inline int TelemetrySystem_DestinationGroups_DestinationGroup_Destinations::destination_size() const {
    return destination_.size();
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_Destinations::clear_destination() {
    destination_.Clear();
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey& TelemetrySystem_DestinationGroups_DestinationGroup_Destinations::destination(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.destination)
    return destination_.Get(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations::mutable_destination(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.destination)
    return destination_.Mutable(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey* TelemetrySystem_DestinationGroups_DestinationGroup_Destinations::add_destination() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.destination)
    return destination_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey >*
  TelemetrySystem_DestinationGroups_DestinationGroup_Destinations::mutable_destination() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.destination)
    return &destination_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_DestinationKey >&
  TelemetrySystem_DestinationGroups_DestinationGroup_Destinations::destination() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations.destination)
    return destination_;
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_DestinationGroups_DestinationGroup_State
  
  // .ywrapper.StringValue group_id = 429791949 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/state/group-id"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup_State::has_group_id() const {
    return this != internal_default_instance() && group_id_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_DestinationGroups_DestinationGroup_State::group_id() const {
    const ::ywrapper::StringValue* p = group_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.State.group_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_DestinationGroups_DestinationGroup_State::release_group_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.State.group_id)
    
    ::ywrapper::StringValue* temp = group_id_;
    group_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_DestinationGroups_DestinationGroup_State::mutable_group_id() {
    
    if (group_id_ == NULL) {
      group_id_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.State.group_id)
    return group_id_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup_State::set_allocated_group_id(::ywrapper::StringValue* group_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(group_id_);
    }
    if (group_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        group_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, group_id, submessage_arena);
      }
      
    } else {
      
    }
    group_id_ = group_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.State.group_id)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_DestinationGroups_DestinationGroup
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Config config = 28634316 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/config"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config& TelemetrySystem_DestinationGroups_DestinationGroup::config() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_DestinationGroups_DestinationGroup_Config_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config* TelemetrySystem_DestinationGroups_DestinationGroup::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.config)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config* TelemetrySystem_DestinationGroups_DestinationGroup::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.config)
    return config_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup::set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.config)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.Destinations destinations = 8565725 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/destinations"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup::has_destinations() const {
    return this != internal_default_instance() && destinations_ != NULL;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup::clear_destinations() {
    if (GetArenaNoVirtual() == NULL && destinations_ != NULL) {
      delete destinations_;
    }
    destinations_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations& TelemetrySystem_DestinationGroups_DestinationGroup::destinations() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* p = destinations_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.destinations)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_DestinationGroups_DestinationGroup_Destinations_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* TelemetrySystem_DestinationGroups_DestinationGroup::release_destinations() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.destinations)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* temp = destinations_;
    destinations_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* TelemetrySystem_DestinationGroups_DestinationGroup::mutable_destinations() {
    
    if (destinations_ == NULL) {
      destinations_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.destinations)
    return destinations_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup::set_allocated_destinations(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_Destinations* destinations) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete destinations_;
    }
    if (destinations) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destinations = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destinations, submessage_arena);
      }
      
    } else {
      
    }
    destinations_ = destinations;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.destinations)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.State state = 191727685 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/state"];
  inline bool TelemetrySystem_DestinationGroups_DestinationGroup::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State& TelemetrySystem_DestinationGroups_DestinationGroup::state() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_DestinationGroups_DestinationGroup_State_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State* TelemetrySystem_DestinationGroups_DestinationGroup::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.state)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State* TelemetrySystem_DestinationGroups_DestinationGroup::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.state)
    return state_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroup::set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup.state)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_DestinationGroups_DestinationGroupKey
  
  // string group_id = 1 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group/group-id"];
  inline void TelemetrySystem_DestinationGroups_DestinationGroupKey::clear_group_id() {
    group_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& TelemetrySystem_DestinationGroups_DestinationGroupKey::group_id() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.group_id)
    return group_id_.GetNoArena();
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroupKey::set_group_id(const ::std::string& value) {
    
    group_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.group_id)
  }
  #if LANG_CXX11
  inline void TelemetrySystem_DestinationGroups_DestinationGroupKey::set_group_id(::std::string&& value) {
    
    group_id_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.group_id)
  }
  #endif
  inline void TelemetrySystem_DestinationGroups_DestinationGroupKey::set_group_id(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    group_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.group_id)
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroupKey::set_group_id(const char* value, size_t size) {
    
    group_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.group_id)
  }
  inline ::std::string* TelemetrySystem_DestinationGroups_DestinationGroupKey::mutable_group_id() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.group_id)
    return group_id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* TelemetrySystem_DestinationGroups_DestinationGroupKey::release_group_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.group_id)
    
    return group_id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroupKey::set_allocated_group_id(::std::string* group_id) {
    if (group_id != NULL) {
      
    } else {
      
    }
    group_id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), group_id);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.group_id)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroup destination_group = 2;
  inline bool TelemetrySystem_DestinationGroups_DestinationGroupKey::has_destination_group() const {
    return this != internal_default_instance() && destination_group_ != NULL;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroupKey::clear_destination_group() {
    if (GetArenaNoVirtual() == NULL && destination_group_ != NULL) {
      delete destination_group_;
    }
    destination_group_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup& TelemetrySystem_DestinationGroups_DestinationGroupKey::destination_group() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup* p = destination_group_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.destination_group)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_DestinationGroups_DestinationGroup_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup* TelemetrySystem_DestinationGroups_DestinationGroupKey::release_destination_group() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.destination_group)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup* temp = destination_group_;
    destination_group_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup* TelemetrySystem_DestinationGroups_DestinationGroupKey::mutable_destination_group() {
    
    if (destination_group_ == NULL) {
      destination_group_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.destination_group)
    return destination_group_;
  }
  inline void TelemetrySystem_DestinationGroups_DestinationGroupKey::set_allocated_destination_group(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroup* destination_group) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete destination_group_;
    }
    if (destination_group) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_group = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_group, submessage_arena);
      }
      
    } else {
      
    }
    destination_group_ = destination_group;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey.destination_group)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_DestinationGroups
  
  // repeated .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.DestinationGroupKey destination_group = 57789211 [(.yext.schemapath) = "/telemetry-system/destination-groups/destination-group"];
  inline int TelemetrySystem_DestinationGroups::destination_group_size() const {
    return destination_group_.size();
  }
  inline void TelemetrySystem_DestinationGroups::clear_destination_group() {
    destination_group_.Clear();
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey& TelemetrySystem_DestinationGroups::destination_group(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.destination_group)
    return destination_group_.Get(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey* TelemetrySystem_DestinationGroups::mutable_destination_group(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.destination_group)
    return destination_group_.Mutable(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey* TelemetrySystem_DestinationGroups::add_destination_group() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.destination_group)
    return destination_group_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey >*
  TelemetrySystem_DestinationGroups::mutable_destination_group() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.destination_group)
    return &destination_group_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups_DestinationGroupKey >&
  TelemetrySystem_DestinationGroups::destination_group() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups.destination_group)
    return destination_group_;
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_SensorGroups_SensorGroup_Config
  
  // .ywrapper.StringValue sensor_group_id = 291013299 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/config/sensor-group-id"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup_Config::has_sensor_group_id() const {
    return this != internal_default_instance() && sensor_group_id_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_SensorGroups_SensorGroup_Config::sensor_group_id() const {
    const ::ywrapper::StringValue* p = sensor_group_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.Config.sensor_group_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_Config::release_sensor_group_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.Config.sensor_group_id)
    
    ::ywrapper::StringValue* temp = sensor_group_id_;
    sensor_group_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_Config::mutable_sensor_group_id() {
    
    if (sensor_group_id_ == NULL) {
      sensor_group_id_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.Config.sensor_group_id)
    return sensor_group_id_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_Config::set_allocated_sensor_group_id(::ywrapper::StringValue* sensor_group_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sensor_group_id_);
    }
    if (sensor_group_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_group_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_group_id, submessage_arena);
      }
      
    } else {
      
    }
    sensor_group_id_ = sensor_group_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.Config.sensor_group_id)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config
  
  // .ywrapper.StringValue exclude_filter = 252816029 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/config/exclude-filter"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config::has_exclude_filter() const {
    return this != internal_default_instance() && exclude_filter_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config::exclude_filter() const {
    const ::ywrapper::StringValue* p = exclude_filter_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config.exclude_filter)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config::release_exclude_filter() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config.exclude_filter)
    
    ::ywrapper::StringValue* temp = exclude_filter_;
    exclude_filter_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config::mutable_exclude_filter() {
    
    if (exclude_filter_ == NULL) {
      exclude_filter_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config.exclude_filter)
    return exclude_filter_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config::set_allocated_exclude_filter(::ywrapper::StringValue* exclude_filter) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(exclude_filter_);
    }
    if (exclude_filter) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        exclude_filter = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, exclude_filter, submessage_arena);
      }
      
    } else {
      
    }
    exclude_filter_ = exclude_filter;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config.exclude_filter)
  }
  
  // .ywrapper.StringValue path = 519966909 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/config/path"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config::has_path() const {
    return this != internal_default_instance() && path_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config::path() const {
    const ::ywrapper::StringValue* p = path_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config.path)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config::release_path() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config.path)
    
    ::ywrapper::StringValue* temp = path_;
    path_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config::mutable_path() {
    
    if (path_ == NULL) {
      path_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config.path)
    return path_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config::set_allocated_path(::ywrapper::StringValue* path) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(path_);
    }
    if (path) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        path = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, path, submessage_arena);
      }
      
    } else {
      
    }
    path_ = path;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config.path)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State
  
  // .ywrapper.StringValue exclude_filter = 163851272 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/state/exclude-filter"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State::has_exclude_filter() const {
    return this != internal_default_instance() && exclude_filter_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State::exclude_filter() const {
    const ::ywrapper::StringValue* p = exclude_filter_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State.exclude_filter)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State::release_exclude_filter() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State.exclude_filter)
    
    ::ywrapper::StringValue* temp = exclude_filter_;
    exclude_filter_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State::mutable_exclude_filter() {
    
    if (exclude_filter_ == NULL) {
      exclude_filter_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State.exclude_filter)
    return exclude_filter_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State::set_allocated_exclude_filter(::ywrapper::StringValue* exclude_filter) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(exclude_filter_);
    }
    if (exclude_filter) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        exclude_filter = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, exclude_filter, submessage_arena);
      }
      
    } else {
      
    }
    exclude_filter_ = exclude_filter;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State.exclude_filter)
  }
  
  // .ywrapper.StringValue path = 531822988 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/state/path"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State::has_path() const {
    return this != internal_default_instance() && path_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State::path() const {
    const ::ywrapper::StringValue* p = path_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State.path)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State::release_path() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State.path)
    
    ::ywrapper::StringValue* temp = path_;
    path_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State::mutable_path() {
    
    if (path_ == NULL) {
      path_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State.path)
    return path_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State::set_allocated_path(::ywrapper::StringValue* path) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(path_);
    }
    if (path) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        path = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, path, submessage_arena);
      }
      
    } else {
      
    }
    path_ = path;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State.path)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.Config config = 217705749 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/config"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config& TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::config() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.config)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.config)
    return config_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.config)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.State state = 180317578 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/state"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State& TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::state() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.state)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.state)
    return state_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath::set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath.state)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey
  
  // string path = 1 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path/path"];
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::clear_path() {
    path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::path() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.path)
    return path_.GetNoArena();
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::set_path(const ::std::string& value) {
    
    path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.path)
  }
  #if LANG_CXX11
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::set_path(::std::string&& value) {
    
    path_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.path)
  }
  #endif
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::set_path(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.path)
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::set_path(const char* value, size_t size) {
    
    path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.path)
  }
  inline ::std::string* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::mutable_path() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.path)
    return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::release_path() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.path)
    
    return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::set_allocated_path(::std::string* path) {
    if (path != NULL) {
      
    } else {
      
    }
    path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.path)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPath sensor_path = 2;
  inline bool TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::has_sensor_path() const {
    return this != internal_default_instance() && sensor_path_ != NULL;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::clear_sensor_path() {
    if (GetArenaNoVirtual() == NULL && sensor_path_ != NULL) {
      delete sensor_path_;
    }
    sensor_path_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath& TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::sensor_path() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* p = sensor_path_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.sensor_path)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::release_sensor_path() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.sensor_path)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* temp = sensor_path_;
    sensor_path_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::mutable_sensor_path() {
    
    if (sensor_path_ == NULL) {
      sensor_path_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.sensor_path)
    return sensor_path_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey::set_allocated_sensor_path(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPath* sensor_path) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete sensor_path_;
    }
    if (sensor_path) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_path = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_path, submessage_arena);
      }
      
    } else {
      
    }
    sensor_path_ = sensor_path;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey.sensor_path)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_SensorGroups_SensorGroup_SensorPaths
  
  // repeated .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.SensorPathKey sensor_path = 79286432 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths/sensor-path"];
  inline int TelemetrySystem_SensorGroups_SensorGroup_SensorPaths::sensor_path_size() const {
    return sensor_path_.size();
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_SensorPaths::clear_sensor_path() {
    sensor_path_.Clear();
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey& TelemetrySystem_SensorGroups_SensorGroup_SensorPaths::sensor_path(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.sensor_path)
    return sensor_path_.Get(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths::mutable_sensor_path(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.sensor_path)
    return sensor_path_.Mutable(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey* TelemetrySystem_SensorGroups_SensorGroup_SensorPaths::add_sensor_path() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.sensor_path)
    return sensor_path_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey >*
  TelemetrySystem_SensorGroups_SensorGroup_SensorPaths::mutable_sensor_path() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.sensor_path)
    return &sensor_path_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_SensorPathKey >&
  TelemetrySystem_SensorGroups_SensorGroup_SensorPaths::sensor_path() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths.sensor_path)
    return sensor_path_;
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_SensorGroups_SensorGroup_State
  
  // .ywrapper.StringValue sensor_group_id = 463434790 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/state/sensor-group-id"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup_State::has_sensor_group_id() const {
    return this != internal_default_instance() && sensor_group_id_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_SensorGroups_SensorGroup_State::sensor_group_id() const {
    const ::ywrapper::StringValue* p = sensor_group_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.State.sensor_group_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_State::release_sensor_group_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.State.sensor_group_id)
    
    ::ywrapper::StringValue* temp = sensor_group_id_;
    sensor_group_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_SensorGroups_SensorGroup_State::mutable_sensor_group_id() {
    
    if (sensor_group_id_ == NULL) {
      sensor_group_id_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.State.sensor_group_id)
    return sensor_group_id_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup_State::set_allocated_sensor_group_id(::ywrapper::StringValue* sensor_group_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sensor_group_id_);
    }
    if (sensor_group_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_group_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_group_id, submessage_arena);
      }
      
    } else {
      
    }
    sensor_group_id_ = sensor_group_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.State.sensor_group_id)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_SensorGroups_SensorGroup
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.Config config = 202220420 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/config"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config& TelemetrySystem_SensorGroups_SensorGroup::config() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_SensorGroups_SensorGroup_Config_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config* TelemetrySystem_SensorGroups_SensorGroup::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.config)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config* TelemetrySystem_SensorGroups_SensorGroup::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.config)
    return config_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup::set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.config)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.SensorPaths sensor_paths = 505094703 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-paths"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup::has_sensor_paths() const {
    return this != internal_default_instance() && sensor_paths_ != NULL;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup::clear_sensor_paths() {
    if (GetArenaNoVirtual() == NULL && sensor_paths_ != NULL) {
      delete sensor_paths_;
    }
    sensor_paths_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths& TelemetrySystem_SensorGroups_SensorGroup::sensor_paths() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* p = sensor_paths_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.sensor_paths)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_SensorGroups_SensorGroup_SensorPaths_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* TelemetrySystem_SensorGroups_SensorGroup::release_sensor_paths() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.sensor_paths)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* temp = sensor_paths_;
    sensor_paths_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* TelemetrySystem_SensorGroups_SensorGroup::mutable_sensor_paths() {
    
    if (sensor_paths_ == NULL) {
      sensor_paths_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.sensor_paths)
    return sensor_paths_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup::set_allocated_sensor_paths(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_SensorPaths* sensor_paths) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete sensor_paths_;
    }
    if (sensor_paths) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_paths = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_paths, submessage_arena);
      }
      
    } else {
      
    }
    sensor_paths_ = sensor_paths;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.sensor_paths)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.State state = 464740509 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/state"];
  inline bool TelemetrySystem_SensorGroups_SensorGroup::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State& TelemetrySystem_SensorGroups_SensorGroup::state() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_SensorGroups_SensorGroup_State_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State* TelemetrySystem_SensorGroups_SensorGroup::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.state)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State* TelemetrySystem_SensorGroups_SensorGroup::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.state)
    return state_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroup::set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup.state)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_SensorGroups_SensorGroupKey
  
  // string sensor_group_id = 1 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group/sensor-group-id"];
  inline void TelemetrySystem_SensorGroups_SensorGroupKey::clear_sensor_group_id() {
    sensor_group_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& TelemetrySystem_SensorGroups_SensorGroupKey::sensor_group_id() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group_id)
    return sensor_group_id_.GetNoArena();
  }
  inline void TelemetrySystem_SensorGroups_SensorGroupKey::set_sensor_group_id(const ::std::string& value) {
    
    sensor_group_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group_id)
  }
  #if LANG_CXX11
  inline void TelemetrySystem_SensorGroups_SensorGroupKey::set_sensor_group_id(::std::string&& value) {
    
    sensor_group_id_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group_id)
  }
  #endif
  inline void TelemetrySystem_SensorGroups_SensorGroupKey::set_sensor_group_id(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    sensor_group_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group_id)
  }
  inline void TelemetrySystem_SensorGroups_SensorGroupKey::set_sensor_group_id(const char* value, size_t size) {
    
    sensor_group_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group_id)
  }
  inline ::std::string* TelemetrySystem_SensorGroups_SensorGroupKey::mutable_sensor_group_id() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group_id)
    return sensor_group_id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* TelemetrySystem_SensorGroups_SensorGroupKey::release_sensor_group_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group_id)
    
    return sensor_group_id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TelemetrySystem_SensorGroups_SensorGroupKey::set_allocated_sensor_group_id(::std::string* sensor_group_id) {
    if (sensor_group_id != NULL) {
      
    } else {
      
    }
    sensor_group_id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), sensor_group_id);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group_id)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroup sensor_group = 2;
  inline bool TelemetrySystem_SensorGroups_SensorGroupKey::has_sensor_group() const {
    return this != internal_default_instance() && sensor_group_ != NULL;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroupKey::clear_sensor_group() {
    if (GetArenaNoVirtual() == NULL && sensor_group_ != NULL) {
      delete sensor_group_;
    }
    sensor_group_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup& TelemetrySystem_SensorGroups_SensorGroupKey::sensor_group() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup* p = sensor_group_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_SensorGroups_SensorGroup_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup* TelemetrySystem_SensorGroups_SensorGroupKey::release_sensor_group() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup* temp = sensor_group_;
    sensor_group_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup* TelemetrySystem_SensorGroups_SensorGroupKey::mutable_sensor_group() {
    
    if (sensor_group_ == NULL) {
      sensor_group_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group)
    return sensor_group_;
  }
  inline void TelemetrySystem_SensorGroups_SensorGroupKey::set_allocated_sensor_group(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroup* sensor_group) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete sensor_group_;
    }
    if (sensor_group) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_group = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_group, submessage_arena);
      }
      
    } else {
      
    }
    sensor_group_ = sensor_group;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey.sensor_group)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_SensorGroups
  
  // repeated .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.SensorGroupKey sensor_group = 302649347 [(.yext.schemapath) = "/telemetry-system/sensor-groups/sensor-group"];
  inline int TelemetrySystem_SensorGroups::sensor_group_size() const {
    return sensor_group_.size();
  }
  inline void TelemetrySystem_SensorGroups::clear_sensor_group() {
    sensor_group_.Clear();
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey& TelemetrySystem_SensorGroups::sensor_group(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.sensor_group)
    return sensor_group_.Get(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey* TelemetrySystem_SensorGroups::mutable_sensor_group(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.sensor_group)
    return sensor_group_.Mutable(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey* TelemetrySystem_SensorGroups::add_sensor_group() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.sensor_group)
    return sensor_group_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey >*
  TelemetrySystem_SensorGroups::mutable_sensor_group() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.sensor_group)
    return &sensor_group_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups_SensorGroupKey >&
  TelemetrySystem_SensorGroups::sensor_group() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups.sensor_group)
    return sensor_group_;
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State
  
  // .ywrapper.StringValue exclude_filter = 248310562 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths/sensor-path/state/exclude-filter"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State::has_exclude_filter() const {
    return this != internal_default_instance() && exclude_filter_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State::exclude_filter() const {
    const ::ywrapper::StringValue* p = exclude_filter_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State.exclude_filter)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State::release_exclude_filter() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State.exclude_filter)
    
    ::ywrapper::StringValue* temp = exclude_filter_;
    exclude_filter_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State::mutable_exclude_filter() {
    
    if (exclude_filter_ == NULL) {
      exclude_filter_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State.exclude_filter)
    return exclude_filter_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State::set_allocated_exclude_filter(::ywrapper::StringValue* exclude_filter) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(exclude_filter_);
    }
    if (exclude_filter) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        exclude_filter = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, exclude_filter, submessage_arena);
      }
      
    } else {
      
    }
    exclude_filter_ = exclude_filter;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State.exclude_filter)
  }
  
  // .ywrapper.StringValue path = 372540922 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths/sensor-path/state/path"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State::has_path() const {
    return this != internal_default_instance() && path_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State::path() const {
    const ::ywrapper::StringValue* p = path_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State.path)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State::release_path() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State.path)
    
    ::ywrapper::StringValue* temp = path_;
    path_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State::mutable_path() {
    
    if (path_ == NULL) {
      path_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State.path)
    return path_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State::set_allocated_path(::ywrapper::StringValue* path) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(path_);
    }
    if (path) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        path = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, path, submessage_arena);
      }
      
    } else {
      
    }
    path_ = path;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State.path)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.State state = 477609744 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths/sensor-path/state"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State& TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath::state() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.state)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.state)
    return state_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath::set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath.state)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey
  
  // string path = 1 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths/sensor-path/path"];
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::clear_path() {
    path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::path() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.path)
    return path_.GetNoArena();
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::set_path(const ::std::string& value) {
    
    path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.path)
  }
  #if LANG_CXX11
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::set_path(::std::string&& value) {
    
    path_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.path)
  }
  #endif
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::set_path(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.path)
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::set_path(const char* value, size_t size) {
    
    path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.path)
  }
  inline ::std::string* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::mutable_path() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.path)
    return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::release_path() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.path)
    
    return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::set_allocated_path(::std::string* path) {
    if (path != NULL) {
      
    } else {
      
    }
    path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.path)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPath sensor_path = 2;
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::has_sensor_path() const {
    return this != internal_default_instance() && sensor_path_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::clear_sensor_path() {
    if (GetArenaNoVirtual() == NULL && sensor_path_ != NULL) {
      delete sensor_path_;
    }
    sensor_path_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath& TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::sensor_path() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* p = sensor_path_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.sensor_path)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::release_sensor_path() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.sensor_path)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* temp = sensor_path_;
    sensor_path_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::mutable_sensor_path() {
    
    if (sensor_path_ == NULL) {
      sensor_path_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.sensor_path)
    return sensor_path_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey::set_allocated_sensor_path(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPath* sensor_path) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete sensor_path_;
    }
    if (sensor_path) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_path = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_path, submessage_arena);
      }
      
    } else {
      
    }
    sensor_path_ = sensor_path;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey.sensor_path)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths
  
  // repeated .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.SensorPathKey sensor_path = 96427310 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths/sensor-path"];
  inline int TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths::sensor_path_size() const {
    return sensor_path_.size();
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths::clear_sensor_path() {
    sensor_path_.Clear();
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey& TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths::sensor_path(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.sensor_path)
    return sensor_path_.Get(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths::mutable_sensor_path(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.sensor_path)
    return sensor_path_.Mutable(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey* TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths::add_sensor_path() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.sensor_path)
    return sensor_path_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey >*
  TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths::mutable_sensor_path() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.sensor_path)
    return &sensor_path_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_SensorPathKey >&
  TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths::sensor_path() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths.sensor_path)
    return sensor_path_;
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Dynamic_Subscription_State
  
  // .ywrapper.StringValue destination_address = 360531453 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/destination-address"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_State::has_destination_address() const {
    return this != internal_default_instance() && destination_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Dynamic_Subscription_State::destination_address() const {
    const ::ywrapper::StringValue* p = destination_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.destination_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::release_destination_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.destination_address)
    
    ::ywrapper::StringValue* temp = destination_address_;
    destination_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::mutable_destination_address() {
    
    if (destination_address_ == NULL) {
      destination_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.destination_address)
    return destination_address_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::set_allocated_destination_address(::ywrapper::StringValue* destination_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_address_);
    }
    if (destination_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_address, submessage_arena);
      }
      
    } else {
      
    }
    destination_address_ = destination_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.destination_address)
  }
  
  // .ywrapper.UintValue destination_port = 404479854 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/destination-port"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_State::has_destination_port() const {
    return this != internal_default_instance() && destination_port_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Dynamic_Subscription_State::destination_port() const {
    const ::ywrapper::UintValue* p = destination_port_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.destination_port)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::release_destination_port() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.destination_port)
    
    ::ywrapper::UintValue* temp = destination_port_;
    destination_port_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::mutable_destination_port() {
    
    if (destination_port_ == NULL) {
      destination_port_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.destination_port)
    return destination_port_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::set_allocated_destination_port(::ywrapper::UintValue* destination_port) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_port_);
    }
    if (destination_port) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_port = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_port, submessage_arena);
      }
      
    } else {
      
    }
    destination_port_ = destination_port;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.destination_port)
  }
  
  // .openconfig.enums.OpenconfigTelemetryTypesDATAENCODINGMETHOD encoding = 517148793 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/encoding"];
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::clear_encoding() {
    encoding_ = 0;
  }
  inline ::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD TelemetrySystem_Subscriptions_Dynamic_Subscription_State::encoding() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.encoding)
    return static_cast< ::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD >(encoding_);
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::set_encoding(::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD value) {
    
    encoding_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.encoding)
  }
  
  // .ywrapper.UintValue heartbeat_interval = 57052532 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/heartbeat-interval"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_State::has_heartbeat_interval() const {
    return this != internal_default_instance() && heartbeat_interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Dynamic_Subscription_State::heartbeat_interval() const {
    const ::ywrapper::UintValue* p = heartbeat_interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.heartbeat_interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::release_heartbeat_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.heartbeat_interval)
    
    ::ywrapper::UintValue* temp = heartbeat_interval_;
    heartbeat_interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::mutable_heartbeat_interval() {
    
    if (heartbeat_interval_ == NULL) {
      heartbeat_interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.heartbeat_interval)
    return heartbeat_interval_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::set_allocated_heartbeat_interval(::ywrapper::UintValue* heartbeat_interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(heartbeat_interval_);
    }
    if (heartbeat_interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        heartbeat_interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, heartbeat_interval, submessage_arena);
      }
      
    } else {
      
    }
    heartbeat_interval_ = heartbeat_interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.heartbeat_interval)
  }
  
  // .ywrapper.UintValue originated_qos_marking = 350486862 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/originated-qos-marking"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_State::has_originated_qos_marking() const {
    return this != internal_default_instance() && originated_qos_marking_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Dynamic_Subscription_State::originated_qos_marking() const {
    const ::ywrapper::UintValue* p = originated_qos_marking_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.originated_qos_marking)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::release_originated_qos_marking() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.originated_qos_marking)
    
    ::ywrapper::UintValue* temp = originated_qos_marking_;
    originated_qos_marking_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::mutable_originated_qos_marking() {
    
    if (originated_qos_marking_ == NULL) {
      originated_qos_marking_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.originated_qos_marking)
    return originated_qos_marking_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::set_allocated_originated_qos_marking(::ywrapper::UintValue* originated_qos_marking) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(originated_qos_marking_);
    }
    if (originated_qos_marking) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        originated_qos_marking = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, originated_qos_marking, submessage_arena);
      }
      
    } else {
      
    }
    originated_qos_marking_ = originated_qos_marking;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.originated_qos_marking)
  }
  
  // .openconfig.enums.OpenconfigTelemetryTypesSTREAMPROTOCOL protocol = 139368590 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/protocol"];
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::clear_protocol() {
    protocol_ = 0;
  }
  inline ::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL TelemetrySystem_Subscriptions_Dynamic_Subscription_State::protocol() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.protocol)
    return static_cast< ::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL >(protocol_);
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::set_protocol(::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL value) {
    
    protocol_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.protocol)
  }
  
  // .ywrapper.UintValue sample_interval = 277056770 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/sample-interval"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_State::has_sample_interval() const {
    return this != internal_default_instance() && sample_interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Dynamic_Subscription_State::sample_interval() const {
    const ::ywrapper::UintValue* p = sample_interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.sample_interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::release_sample_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.sample_interval)
    
    ::ywrapper::UintValue* temp = sample_interval_;
    sample_interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::mutable_sample_interval() {
    
    if (sample_interval_ == NULL) {
      sample_interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.sample_interval)
    return sample_interval_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::set_allocated_sample_interval(::ywrapper::UintValue* sample_interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sample_interval_);
    }
    if (sample_interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sample_interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sample_interval, submessage_arena);
      }
      
    } else {
      
    }
    sample_interval_ = sample_interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.sample_interval)
  }
  
  // .ywrapper.UintValue subscription_id = 6475945 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/subscription-id"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_State::has_subscription_id() const {
    return this != internal_default_instance() && subscription_id_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Dynamic_Subscription_State::subscription_id() const {
    const ::ywrapper::UintValue* p = subscription_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.subscription_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::release_subscription_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.subscription_id)
    
    ::ywrapper::UintValue* temp = subscription_id_;
    subscription_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::mutable_subscription_id() {
    
    if (subscription_id_ == NULL) {
      subscription_id_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.subscription_id)
    return subscription_id_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::set_allocated_subscription_id(::ywrapper::UintValue* subscription_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(subscription_id_);
    }
    if (subscription_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subscription_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subscription_id, submessage_arena);
      }
      
    } else {
      
    }
    subscription_id_ = subscription_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.subscription_id)
  }
  
  // .ywrapper.BoolValue suppress_redundant = 380278679 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state/suppress-redundant"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription_State::has_suppress_redundant() const {
    return this != internal_default_instance() && suppress_redundant_ != NULL;
  }
  inline const ::ywrapper::BoolValue& TelemetrySystem_Subscriptions_Dynamic_Subscription_State::suppress_redundant() const {
    const ::ywrapper::BoolValue* p = suppress_redundant_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.suppress_redundant)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::release_suppress_redundant() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.suppress_redundant)
    
    ::ywrapper::BoolValue* temp = suppress_redundant_;
    suppress_redundant_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* TelemetrySystem_Subscriptions_Dynamic_Subscription_State::mutable_suppress_redundant() {
    
    if (suppress_redundant_ == NULL) {
      suppress_redundant_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.suppress_redundant)
    return suppress_redundant_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription_State::set_allocated_suppress_redundant(::ywrapper::BoolValue* suppress_redundant) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(suppress_redundant_);
    }
    if (suppress_redundant) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        suppress_redundant = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, suppress_redundant, submessage_arena);
      }
      
    } else {
      
    }
    suppress_redundant_ = suppress_redundant;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State.suppress_redundant)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Dynamic_Subscription
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.SensorPaths sensor_paths = 486845533 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/sensor-paths"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription::has_sensor_paths() const {
    return this != internal_default_instance() && sensor_paths_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription::clear_sensor_paths() {
    if (GetArenaNoVirtual() == NULL && sensor_paths_ != NULL) {
      delete sensor_paths_;
    }
    sensor_paths_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths& TelemetrySystem_Subscriptions_Dynamic_Subscription::sensor_paths() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* p = sensor_paths_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.sensor_paths)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* TelemetrySystem_Subscriptions_Dynamic_Subscription::release_sensor_paths() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.sensor_paths)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* temp = sensor_paths_;
    sensor_paths_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* TelemetrySystem_Subscriptions_Dynamic_Subscription::mutable_sensor_paths() {
    
    if (sensor_paths_ == NULL) {
      sensor_paths_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.sensor_paths)
    return sensor_paths_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription::set_allocated_sensor_paths(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_SensorPaths* sensor_paths) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete sensor_paths_;
    }
    if (sensor_paths) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_paths = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_paths, submessage_arena);
      }
      
    } else {
      
    }
    sensor_paths_ = sensor_paths;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.sensor_paths)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.State state = 318935835 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/state"];
  inline bool TelemetrySystem_Subscriptions_Dynamic_Subscription::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State& TelemetrySystem_Subscriptions_Dynamic_Subscription::state() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Dynamic_Subscription_State_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State* TelemetrySystem_Subscriptions_Dynamic_Subscription::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.state)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State* TelemetrySystem_Subscriptions_Dynamic_Subscription::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.state)
    return state_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_Subscription::set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription.state)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey
  
  // uint64 subscription_id = 1 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription/subscription-id"];
  inline void TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey::clear_subscription_id() {
    subscription_id_ = GOOGLE_ULONGLONG(0);
  }
  inline ::google::protobuf::uint64 TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey::subscription_id() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.SubscriptionKey.subscription_id)
    return subscription_id_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey::set_subscription_id(::google::protobuf::uint64 value) {
    
    subscription_id_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.SubscriptionKey.subscription_id)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.Subscription subscription = 2;
  inline bool TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey::has_subscription() const {
    return this != internal_default_instance() && subscription_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey::clear_subscription() {
    if (GetArenaNoVirtual() == NULL && subscription_ != NULL) {
      delete subscription_;
    }
    subscription_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription& TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey::subscription() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription* p = subscription_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.SubscriptionKey.subscription)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Dynamic_Subscription_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription* TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey::release_subscription() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.SubscriptionKey.subscription)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription* temp = subscription_;
    subscription_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription* TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey::mutable_subscription() {
    
    if (subscription_ == NULL) {
      subscription_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.SubscriptionKey.subscription)
    return subscription_;
  }
  inline void TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey::set_allocated_subscription(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_Subscription* subscription) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete subscription_;
    }
    if (subscription) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subscription = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subscription, submessage_arena);
      }
      
    } else {
      
    }
    subscription_ = subscription;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.SubscriptionKey.subscription)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Dynamic
  
  // repeated .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.SubscriptionKey subscription = 37685017 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic/subscription"];
  inline int TelemetrySystem_Subscriptions_Dynamic::subscription_size() const {
    return subscription_.size();
  }
  inline void TelemetrySystem_Subscriptions_Dynamic::clear_subscription() {
    subscription_.Clear();
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey& TelemetrySystem_Subscriptions_Dynamic::subscription(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.subscription)
    return subscription_.Get(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey* TelemetrySystem_Subscriptions_Dynamic::mutable_subscription(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.subscription)
    return subscription_.Mutable(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey* TelemetrySystem_Subscriptions_Dynamic::add_subscription() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.subscription)
    return subscription_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey >*
  TelemetrySystem_Subscriptions_Dynamic::mutable_subscription() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.subscription)
    return &subscription_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic_SubscriptionKey >&
  TelemetrySystem_Subscriptions_Dynamic::subscription() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic.subscription)
    return subscription_;
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_Config
  
  // .openconfig.enums.OpenconfigTelemetryTypesDATAENCODINGMETHOD encoding = 291386974 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config/encoding"];
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_Config::clear_encoding() {
    encoding_ = 0;
  }
  inline ::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD TelemetrySystem_Subscriptions_Persistent_Subscription_Config::encoding() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.encoding)
    return static_cast< ::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD >(encoding_);
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_Config::set_encoding(::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD value) {
    
    encoding_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.encoding)
  }
  
  // .ywrapper.StringValue local_source_address = 417080623 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config/local-source-address"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_Config::has_local_source_address() const {
    return this != internal_default_instance() && local_source_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Persistent_Subscription_Config::local_source_address() const {
    const ::ywrapper::StringValue* p = local_source_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.local_source_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_Config::release_local_source_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.local_source_address)
    
    ::ywrapper::StringValue* temp = local_source_address_;
    local_source_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_Config::mutable_local_source_address() {
    
    if (local_source_address_ == NULL) {
      local_source_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.local_source_address)
    return local_source_address_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_Config::set_allocated_local_source_address(::ywrapper::StringValue* local_source_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(local_source_address_);
    }
    if (local_source_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        local_source_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, local_source_address, submessage_arena);
      }
      
    } else {
      
    }
    local_source_address_ = local_source_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.local_source_address)
  }
  
  // .ywrapper.UintValue originated_qos_marking = 522395249 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config/originated-qos-marking"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_Config::has_originated_qos_marking() const {
    return this != internal_default_instance() && originated_qos_marking_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Persistent_Subscription_Config::originated_qos_marking() const {
    const ::ywrapper::UintValue* p = originated_qos_marking_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.originated_qos_marking)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_Config::release_originated_qos_marking() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.originated_qos_marking)
    
    ::ywrapper::UintValue* temp = originated_qos_marking_;
    originated_qos_marking_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_Config::mutable_originated_qos_marking() {
    
    if (originated_qos_marking_ == NULL) {
      originated_qos_marking_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.originated_qos_marking)
    return originated_qos_marking_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_Config::set_allocated_originated_qos_marking(::ywrapper::UintValue* originated_qos_marking) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(originated_qos_marking_);
    }
    if (originated_qos_marking) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        originated_qos_marking = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, originated_qos_marking, submessage_arena);
      }
      
    } else {
      
    }
    originated_qos_marking_ = originated_qos_marking;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.originated_qos_marking)
  }
  
  // .openconfig.enums.OpenconfigTelemetryTypesSTREAMPROTOCOL protocol = 244532053 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config/protocol"];
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_Config::clear_protocol() {
    protocol_ = 0;
  }
  inline ::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL TelemetrySystem_Subscriptions_Persistent_Subscription_Config::protocol() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.protocol)
    return static_cast< ::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL >(protocol_);
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_Config::set_protocol(::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL value) {
    
    protocol_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.protocol)
  }
  
  // .ywrapper.StringValue subscription_name = 11686182 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config/subscription-name"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_Config::has_subscription_name() const {
    return this != internal_default_instance() && subscription_name_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Persistent_Subscription_Config::subscription_name() const {
    const ::ywrapper::StringValue* p = subscription_name_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.subscription_name)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_Config::release_subscription_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.subscription_name)
    
    ::ywrapper::StringValue* temp = subscription_name_;
    subscription_name_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_Config::mutable_subscription_name() {
    
    if (subscription_name_ == NULL) {
      subscription_name_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.subscription_name)
    return subscription_name_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_Config::set_allocated_subscription_name(::ywrapper::StringValue* subscription_name) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(subscription_name_);
    }
    if (subscription_name) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subscription_name = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subscription_name, submessage_arena);
      }
      
    } else {
      
    }
    subscription_name_ = subscription_name;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config.subscription_name)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config
  
  // .ywrapper.StringValue group_id = 442445183 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group/config/group-id"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config::has_group_id() const {
    return this != internal_default_instance() && group_id_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config::group_id() const {
    const ::ywrapper::StringValue* p = group_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.Config.group_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config::release_group_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.Config.group_id)
    
    ::ywrapper::StringValue* temp = group_id_;
    group_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config::mutable_group_id() {
    
    if (group_id_ == NULL) {
      group_id_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.Config.group_id)
    return group_id_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config::set_allocated_group_id(::ywrapper::StringValue* group_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(group_id_);
    }
    if (group_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        group_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, group_id, submessage_arena);
      }
      
    } else {
      
    }
    group_id_ = group_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.Config.group_id)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State
  
  // .ywrapper.StringValue group_id = 160425238 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group/state/group-id"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State::has_group_id() const {
    return this != internal_default_instance() && group_id_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State::group_id() const {
    const ::ywrapper::StringValue* p = group_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.State.group_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State::release_group_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.State.group_id)
    
    ::ywrapper::StringValue* temp = group_id_;
    group_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State::mutable_group_id() {
    
    if (group_id_ == NULL) {
      group_id_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.State.group_id)
    return group_id_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State::set_allocated_group_id(::ywrapper::StringValue* group_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(group_id_);
    }
    if (group_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        group_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, group_id, submessage_arena);
      }
      
    } else {
      
    }
    group_id_ = group_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.State.group_id)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.Config config = 42050555 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group/config"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config& TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::config() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.config)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.config)
    return config_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.config)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.State state = 41930108 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group/state"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State& TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::state() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.state)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.state)
    return state_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup::set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup.state)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey
  
  // string group_id = 1 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group/group-id"];
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::clear_group_id() {
    group_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::group_id() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.group_id)
    return group_id_.GetNoArena();
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::set_group_id(const ::std::string& value) {
    
    group_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.group_id)
  }
  #if LANG_CXX11
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::set_group_id(::std::string&& value) {
    
    group_id_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.group_id)
  }
  #endif
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::set_group_id(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    group_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.group_id)
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::set_group_id(const char* value, size_t size) {
    
    group_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.group_id)
  }
  inline ::std::string* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::mutable_group_id() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.group_id)
    return group_id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::release_group_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.group_id)
    
    return group_id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::set_allocated_group_id(::std::string* group_id) {
    if (group_id != NULL) {
      
    } else {
      
    }
    group_id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), group_id);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.group_id)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroup destination_group = 2;
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::has_destination_group() const {
    return this != internal_default_instance() && destination_group_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::clear_destination_group() {
    if (GetArenaNoVirtual() == NULL && destination_group_ != NULL) {
      delete destination_group_;
    }
    destination_group_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup& TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::destination_group() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* p = destination_group_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.destination_group)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::release_destination_group() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.destination_group)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* temp = destination_group_;
    destination_group_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::mutable_destination_group() {
    
    if (destination_group_ == NULL) {
      destination_group_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.destination_group)
    return destination_group_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey::set_allocated_destination_group(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroup* destination_group) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete destination_group_;
    }
    if (destination_group) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_group = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_group, submessage_arena);
      }
      
    } else {
      
    }
    destination_group_ = destination_group;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey.destination_group)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups
  
  // repeated .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.DestinationGroupKey destination_group = 390702378 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups/destination-group"];
  inline int TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups::destination_group_size() const {
    return destination_group_.size();
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups::clear_destination_group() {
    destination_group_.Clear();
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey& TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups::destination_group(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.destination_group)
    return destination_group_.Get(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups::mutable_destination_group(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.destination_group)
    return destination_group_.Mutable(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey* TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups::add_destination_group() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.destination_group)
    return destination_group_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey >*
  TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups::mutable_destination_group() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.destination_group)
    return &destination_group_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_DestinationGroupKey >&
  TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups::destination_group() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups.destination_group)
    return destination_group_;
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config
  
  // .ywrapper.UintValue heartbeat_interval = 246802852 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/config/heartbeat-interval"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::has_heartbeat_interval() const {
    return this != internal_default_instance() && heartbeat_interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::heartbeat_interval() const {
    const ::ywrapper::UintValue* p = heartbeat_interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.heartbeat_interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::release_heartbeat_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.heartbeat_interval)
    
    ::ywrapper::UintValue* temp = heartbeat_interval_;
    heartbeat_interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::mutable_heartbeat_interval() {
    
    if (heartbeat_interval_ == NULL) {
      heartbeat_interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.heartbeat_interval)
    return heartbeat_interval_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::set_allocated_heartbeat_interval(::ywrapper::UintValue* heartbeat_interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(heartbeat_interval_);
    }
    if (heartbeat_interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        heartbeat_interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, heartbeat_interval, submessage_arena);
      }
      
    } else {
      
    }
    heartbeat_interval_ = heartbeat_interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.heartbeat_interval)
  }
  
  // .ywrapper.UintValue sample_interval = 337707314 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/config/sample-interval"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::has_sample_interval() const {
    return this != internal_default_instance() && sample_interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::sample_interval() const {
    const ::ywrapper::UintValue* p = sample_interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.sample_interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::release_sample_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.sample_interval)
    
    ::ywrapper::UintValue* temp = sample_interval_;
    sample_interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::mutable_sample_interval() {
    
    if (sample_interval_ == NULL) {
      sample_interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.sample_interval)
    return sample_interval_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::set_allocated_sample_interval(::ywrapper::UintValue* sample_interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sample_interval_);
    }
    if (sample_interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sample_interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sample_interval, submessage_arena);
      }
      
    } else {
      
    }
    sample_interval_ = sample_interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.sample_interval)
  }
  
  // .ywrapper.StringValue sensor_group = 67209630 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/config/sensor-group"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::has_sensor_group() const {
    return this != internal_default_instance() && sensor_group_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::sensor_group() const {
    const ::ywrapper::StringValue* p = sensor_group_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.sensor_group)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::release_sensor_group() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.sensor_group)
    
    ::ywrapper::StringValue* temp = sensor_group_;
    sensor_group_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::mutable_sensor_group() {
    
    if (sensor_group_ == NULL) {
      sensor_group_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.sensor_group)
    return sensor_group_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::set_allocated_sensor_group(::ywrapper::StringValue* sensor_group) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sensor_group_);
    }
    if (sensor_group) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_group = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_group, submessage_arena);
      }
      
    } else {
      
    }
    sensor_group_ = sensor_group;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.sensor_group)
  }
  
  // .ywrapper.BoolValue suppress_redundant = 62832455 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/config/suppress-redundant"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::has_suppress_redundant() const {
    return this != internal_default_instance() && suppress_redundant_ != NULL;
  }
  inline const ::ywrapper::BoolValue& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::suppress_redundant() const {
    const ::ywrapper::BoolValue* p = suppress_redundant_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.suppress_redundant)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::release_suppress_redundant() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.suppress_redundant)
    
    ::ywrapper::BoolValue* temp = suppress_redundant_;
    suppress_redundant_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::mutable_suppress_redundant() {
    
    if (suppress_redundant_ == NULL) {
      suppress_redundant_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.suppress_redundant)
    return suppress_redundant_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config::set_allocated_suppress_redundant(::ywrapper::BoolValue* suppress_redundant) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(suppress_redundant_);
    }
    if (suppress_redundant) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        suppress_redundant = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, suppress_redundant, submessage_arena);
      }
      
    } else {
      
    }
    suppress_redundant_ = suppress_redundant;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config.suppress_redundant)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State
  
  // .ywrapper.UintValue heartbeat_interval = 337051885 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/state/heartbeat-interval"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::has_heartbeat_interval() const {
    return this != internal_default_instance() && heartbeat_interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::heartbeat_interval() const {
    const ::ywrapper::UintValue* p = heartbeat_interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.heartbeat_interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::release_heartbeat_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.heartbeat_interval)
    
    ::ywrapper::UintValue* temp = heartbeat_interval_;
    heartbeat_interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::mutable_heartbeat_interval() {
    
    if (heartbeat_interval_ == NULL) {
      heartbeat_interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.heartbeat_interval)
    return heartbeat_interval_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::set_allocated_heartbeat_interval(::ywrapper::UintValue* heartbeat_interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(heartbeat_interval_);
    }
    if (heartbeat_interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        heartbeat_interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, heartbeat_interval, submessage_arena);
      }
      
    } else {
      
    }
    heartbeat_interval_ = heartbeat_interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.heartbeat_interval)
  }
  
  // .ywrapper.UintValue sample_interval = 300765917 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/state/sample-interval"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::has_sample_interval() const {
    return this != internal_default_instance() && sample_interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::sample_interval() const {
    const ::ywrapper::UintValue* p = sample_interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.sample_interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::release_sample_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.sample_interval)
    
    ::ywrapper::UintValue* temp = sample_interval_;
    sample_interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::mutable_sample_interval() {
    
    if (sample_interval_ == NULL) {
      sample_interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.sample_interval)
    return sample_interval_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::set_allocated_sample_interval(::ywrapper::UintValue* sample_interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sample_interval_);
    }
    if (sample_interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sample_interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sample_interval, submessage_arena);
      }
      
    } else {
      
    }
    sample_interval_ = sample_interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.sample_interval)
  }
  
  // .ywrapper.StringValue sensor_group = 31535139 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/state/sensor-group"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::has_sensor_group() const {
    return this != internal_default_instance() && sensor_group_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::sensor_group() const {
    const ::ywrapper::StringValue* p = sensor_group_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.sensor_group)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::release_sensor_group() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.sensor_group)
    
    ::ywrapper::StringValue* temp = sensor_group_;
    sensor_group_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::mutable_sensor_group() {
    
    if (sensor_group_ == NULL) {
      sensor_group_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.sensor_group)
    return sensor_group_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::set_allocated_sensor_group(::ywrapper::StringValue* sensor_group) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sensor_group_);
    }
    if (sensor_group) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_group = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_group, submessage_arena);
      }
      
    } else {
      
    }
    sensor_group_ = sensor_group;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.sensor_group)
  }
  
  // .ywrapper.BoolValue suppress_redundant = 37092854 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/state/suppress-redundant"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::has_suppress_redundant() const {
    return this != internal_default_instance() && suppress_redundant_ != NULL;
  }
  inline const ::ywrapper::BoolValue& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::suppress_redundant() const {
    const ::ywrapper::BoolValue* p = suppress_redundant_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.suppress_redundant)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::release_suppress_redundant() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.suppress_redundant)
    
    ::ywrapper::BoolValue* temp = suppress_redundant_;
    suppress_redundant_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::mutable_suppress_redundant() {
    
    if (suppress_redundant_ == NULL) {
      suppress_redundant_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.suppress_redundant)
    return suppress_redundant_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State::set_allocated_suppress_redundant(::ywrapper::BoolValue* suppress_redundant) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(suppress_redundant_);
    }
    if (suppress_redundant) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        suppress_redundant = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, suppress_redundant, submessage_arena);
      }
      
    } else {
      
    }
    suppress_redundant_ = suppress_redundant;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State.suppress_redundant)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.Config config = 522768043 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/config"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::config() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.config)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.config)
    return config_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.config)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.State state = 242816108 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/state"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::state() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.state)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.state)
    return state_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile::set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile.state)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey
  
  // string sensor_group = 1 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile/sensor-group"];
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::clear_sensor_group() {
    sensor_group_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::sensor_group() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_group)
    return sensor_group_.GetNoArena();
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::set_sensor_group(const ::std::string& value) {
    
    sensor_group_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_group)
  }
  #if LANG_CXX11
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::set_sensor_group(::std::string&& value) {
    
    sensor_group_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_group)
  }
  #endif
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::set_sensor_group(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    sensor_group_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_group)
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::set_sensor_group(const char* value, size_t size) {
    
    sensor_group_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_group)
  }
  inline ::std::string* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::mutable_sensor_group() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_group)
    return sensor_group_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::release_sensor_group() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_group)
    
    return sensor_group_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::set_allocated_sensor_group(::std::string* sensor_group) {
    if (sensor_group != NULL) {
      
    } else {
      
    }
    sensor_group_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), sensor_group);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_group)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfile sensor_profile = 2;
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::has_sensor_profile() const {
    return this != internal_default_instance() && sensor_profile_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::clear_sensor_profile() {
    if (GetArenaNoVirtual() == NULL && sensor_profile_ != NULL) {
      delete sensor_profile_;
    }
    sensor_profile_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::sensor_profile() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* p = sensor_profile_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_profile)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::release_sensor_profile() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_profile)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* temp = sensor_profile_;
    sensor_profile_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::mutable_sensor_profile() {
    
    if (sensor_profile_ == NULL) {
      sensor_profile_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_profile)
    return sensor_profile_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey::set_allocated_sensor_profile(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfile* sensor_profile) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete sensor_profile_;
    }
    if (sensor_profile) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_profile = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_profile, submessage_arena);
      }
      
    } else {
      
    }
    sensor_profile_ = sensor_profile;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey.sensor_profile)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles
  
  // repeated .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.SensorProfileKey sensor_profile = 506856122 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles/sensor-profile"];
  inline int TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles::sensor_profile_size() const {
    return sensor_profile_.size();
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles::clear_sensor_profile() {
    sensor_profile_.Clear();
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey& TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles::sensor_profile(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.sensor_profile)
    return sensor_profile_.Get(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles::mutable_sensor_profile(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.sensor_profile)
    return sensor_profile_.Mutable(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey* TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles::add_sensor_profile() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.sensor_profile)
    return sensor_profile_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey >*
  TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles::mutable_sensor_profile() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.sensor_profile)
    return &sensor_profile_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_SensorProfileKey >&
  TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles::sensor_profile() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles.sensor_profile)
    return sensor_profile_;
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription_State
  
  // .openconfig.enums.OpenconfigTelemetryTypesDATAENCODINGMETHOD encoding = 305899469 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/encoding"];
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_State::clear_encoding() {
    encoding_ = 0;
  }
  inline ::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD TelemetrySystem_Subscriptions_Persistent_Subscription_State::encoding() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.encoding)
    return static_cast< ::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD >(encoding_);
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_State::set_encoding(::openconfig::enums::OpenconfigTelemetryTypesDATAENCODINGMETHOD value) {
    
    encoding_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.encoding)
  }
  
  // .ywrapper.StringValue local_source_address = 76848696 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/local-source-address"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_State::has_local_source_address() const {
    return this != internal_default_instance() && local_source_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Persistent_Subscription_State::local_source_address() const {
    const ::ywrapper::StringValue* p = local_source_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.local_source_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_State::release_local_source_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.local_source_address)
    
    ::ywrapper::StringValue* temp = local_source_address_;
    local_source_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_State::mutable_local_source_address() {
    
    if (local_source_address_ == NULL) {
      local_source_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.local_source_address)
    return local_source_address_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_State::set_allocated_local_source_address(::ywrapper::StringValue* local_source_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(local_source_address_);
    }
    if (local_source_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        local_source_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, local_source_address, submessage_arena);
      }
      
    } else {
      
    }
    local_source_address_ = local_source_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.local_source_address)
  }
  
  // .ywrapper.UintValue originated_qos_marking = 184038690 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/originated-qos-marking"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_State::has_originated_qos_marking() const {
    return this != internal_default_instance() && originated_qos_marking_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Persistent_Subscription_State::originated_qos_marking() const {
    const ::ywrapper::UintValue* p = originated_qos_marking_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.originated_qos_marking)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_State::release_originated_qos_marking() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.originated_qos_marking)
    
    ::ywrapper::UintValue* temp = originated_qos_marking_;
    originated_qos_marking_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_State::mutable_originated_qos_marking() {
    
    if (originated_qos_marking_ == NULL) {
      originated_qos_marking_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.originated_qos_marking)
    return originated_qos_marking_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_State::set_allocated_originated_qos_marking(::ywrapper::UintValue* originated_qos_marking) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(originated_qos_marking_);
    }
    if (originated_qos_marking) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        originated_qos_marking = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, originated_qos_marking, submessage_arena);
      }
      
    } else {
      
    }
    originated_qos_marking_ = originated_qos_marking;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.originated_qos_marking)
  }
  
  // .openconfig.enums.OpenconfigTelemetryTypesSTREAMPROTOCOL protocol = 450574570 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/protocol"];
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_State::clear_protocol() {
    protocol_ = 0;
  }
  inline ::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL TelemetrySystem_Subscriptions_Persistent_Subscription_State::protocol() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.protocol)
    return static_cast< ::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL >(protocol_);
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_State::set_protocol(::openconfig::enums::OpenconfigTelemetryTypesSTREAMPROTOCOL value) {
    
    protocol_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.protocol)
  }
  
  // .ywrapper.UintValue subscription_id = 395277141 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/subscription-id"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_State::has_subscription_id() const {
    return this != internal_default_instance() && subscription_id_ != NULL;
  }
  inline const ::ywrapper::UintValue& TelemetrySystem_Subscriptions_Persistent_Subscription_State::subscription_id() const {
    const ::ywrapper::UintValue* p = subscription_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.subscription_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_State::release_subscription_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.subscription_id)
    
    ::ywrapper::UintValue* temp = subscription_id_;
    subscription_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* TelemetrySystem_Subscriptions_Persistent_Subscription_State::mutable_subscription_id() {
    
    if (subscription_id_ == NULL) {
      subscription_id_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.subscription_id)
    return subscription_id_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_State::set_allocated_subscription_id(::ywrapper::UintValue* subscription_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(subscription_id_);
    }
    if (subscription_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subscription_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subscription_id, submessage_arena);
      }
      
    } else {
      
    }
    subscription_id_ = subscription_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.subscription_id)
  }
  
  // .ywrapper.StringValue subscription_name = 179804147 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state/subscription-name"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription_State::has_subscription_name() const {
    return this != internal_default_instance() && subscription_name_ != NULL;
  }
  inline const ::ywrapper::StringValue& TelemetrySystem_Subscriptions_Persistent_Subscription_State::subscription_name() const {
    const ::ywrapper::StringValue* p = subscription_name_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.subscription_name)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_State::release_subscription_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.subscription_name)
    
    ::ywrapper::StringValue* temp = subscription_name_;
    subscription_name_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* TelemetrySystem_Subscriptions_Persistent_Subscription_State::mutable_subscription_name() {
    
    if (subscription_name_ == NULL) {
      subscription_name_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.subscription_name)
    return subscription_name_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription_State::set_allocated_subscription_name(::ywrapper::StringValue* subscription_name) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(subscription_name_);
    }
    if (subscription_name) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subscription_name = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subscription_name, submessage_arena);
      }
      
    } else {
      
    }
    subscription_name_ = subscription_name;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State.subscription_name)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_Subscription
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.Config config = 48457858 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/config"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config& TelemetrySystem_Subscriptions_Persistent_Subscription::config() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_Config_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config* TelemetrySystem_Subscriptions_Persistent_Subscription::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.config)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config* TelemetrySystem_Subscriptions_Persistent_Subscription::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.config)
    return config_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription::set_allocated_config(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.config)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.DestinationGroups destination_groups = 261943797 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/destination-groups"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription::has_destination_groups() const {
    return this != internal_default_instance() && destination_groups_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription::clear_destination_groups() {
    if (GetArenaNoVirtual() == NULL && destination_groups_ != NULL) {
      delete destination_groups_;
    }
    destination_groups_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups& TelemetrySystem_Subscriptions_Persistent_Subscription::destination_groups() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* p = destination_groups_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.destination_groups)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* TelemetrySystem_Subscriptions_Persistent_Subscription::release_destination_groups() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.destination_groups)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* temp = destination_groups_;
    destination_groups_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* TelemetrySystem_Subscriptions_Persistent_Subscription::mutable_destination_groups() {
    
    if (destination_groups_ == NULL) {
      destination_groups_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.destination_groups)
    return destination_groups_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription::set_allocated_destination_groups(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_DestinationGroups* destination_groups) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete destination_groups_;
    }
    if (destination_groups) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_groups = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_groups, submessage_arena);
      }
      
    } else {
      
    }
    destination_groups_ = destination_groups;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.destination_groups)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.SensorProfiles sensor_profiles = 436942849 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/sensor-profiles"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription::has_sensor_profiles() const {
    return this != internal_default_instance() && sensor_profiles_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription::clear_sensor_profiles() {
    if (GetArenaNoVirtual() == NULL && sensor_profiles_ != NULL) {
      delete sensor_profiles_;
    }
    sensor_profiles_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles& TelemetrySystem_Subscriptions_Persistent_Subscription::sensor_profiles() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* p = sensor_profiles_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.sensor_profiles)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* TelemetrySystem_Subscriptions_Persistent_Subscription::release_sensor_profiles() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.sensor_profiles)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* temp = sensor_profiles_;
    sensor_profiles_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* TelemetrySystem_Subscriptions_Persistent_Subscription::mutable_sensor_profiles() {
    
    if (sensor_profiles_ == NULL) {
      sensor_profiles_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.sensor_profiles)
    return sensor_profiles_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription::set_allocated_sensor_profiles(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_SensorProfiles* sensor_profiles) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete sensor_profiles_;
    }
    if (sensor_profiles) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_profiles = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_profiles, submessage_arena);
      }
      
    } else {
      
    }
    sensor_profiles_ = sensor_profiles;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.sensor_profiles)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.State state = 390151999 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/state"];
  inline bool TelemetrySystem_Subscriptions_Persistent_Subscription::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State& TelemetrySystem_Subscriptions_Persistent_Subscription::state() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_State_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State* TelemetrySystem_Subscriptions_Persistent_Subscription::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.state)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State* TelemetrySystem_Subscriptions_Persistent_Subscription::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.state)
    return state_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_Subscription::set_allocated_state(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription.state)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent_SubscriptionKey
  
  // string subscription_name = 1 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription/subscription-name"];
  inline void TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::clear_subscription_name() {
    subscription_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::subscription_name() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription_name)
    return subscription_name_.GetNoArena();
  }
  inline void TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::set_subscription_name(const ::std::string& value) {
    
    subscription_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription_name)
  }
  #if LANG_CXX11
  inline void TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::set_subscription_name(::std::string&& value) {
    
    subscription_name_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription_name)
  }
  #endif
  inline void TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::set_subscription_name(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    subscription_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription_name)
  }
  inline void TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::set_subscription_name(const char* value, size_t size) {
    
    subscription_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription_name)
  }
  inline ::std::string* TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::mutable_subscription_name() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription_name)
    return subscription_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::release_subscription_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription_name)
    
    return subscription_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::set_allocated_subscription_name(::std::string* subscription_name) {
    if (subscription_name != NULL) {
      
    } else {
      
    }
    subscription_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), subscription_name);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription_name)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.Subscription subscription = 2;
  inline bool TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::has_subscription() const {
    return this != internal_default_instance() && subscription_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::clear_subscription() {
    if (GetArenaNoVirtual() == NULL && subscription_ != NULL) {
      delete subscription_;
    }
    subscription_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription& TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::subscription() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription* p = subscription_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_Subscription_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription* TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::release_subscription() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription* temp = subscription_;
    subscription_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription* TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::mutable_subscription() {
    
    if (subscription_ == NULL) {
      subscription_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription)
    return subscription_;
  }
  inline void TelemetrySystem_Subscriptions_Persistent_SubscriptionKey::set_allocated_subscription(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_Subscription* subscription) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete subscription_;
    }
    if (subscription) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subscription = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subscription, submessage_arena);
      }
      
    } else {
      
    }
    subscription_ = subscription;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey.subscription)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions_Persistent
  
  // repeated .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.SubscriptionKey subscription = 171274477 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent/subscription"];
  inline int TelemetrySystem_Subscriptions_Persistent::subscription_size() const {
    return subscription_.size();
  }
  inline void TelemetrySystem_Subscriptions_Persistent::clear_subscription() {
    subscription_.Clear();
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey& TelemetrySystem_Subscriptions_Persistent::subscription(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.subscription)
    return subscription_.Get(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey* TelemetrySystem_Subscriptions_Persistent::mutable_subscription(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.subscription)
    return subscription_.Mutable(index);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey* TelemetrySystem_Subscriptions_Persistent::add_subscription() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.subscription)
    return subscription_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey >*
  TelemetrySystem_Subscriptions_Persistent::mutable_subscription() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.subscription)
    return &subscription_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent_SubscriptionKey >&
  TelemetrySystem_Subscriptions_Persistent::subscription() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent.subscription)
    return subscription_;
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem_Subscriptions
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Dynamic dynamic = 65921087 [(.yext.schemapath) = "/telemetry-system/subscriptions/dynamic"];
  inline bool TelemetrySystem_Subscriptions::has_dynamic() const {
    return this != internal_default_instance() && dynamic_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions::clear_dynamic() {
    if (GetArenaNoVirtual() == NULL && dynamic_ != NULL) {
      delete dynamic_;
    }
    dynamic_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic& TelemetrySystem_Subscriptions::dynamic() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic* p = dynamic_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.dynamic)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Dynamic_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic* TelemetrySystem_Subscriptions::release_dynamic() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.dynamic)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic* temp = dynamic_;
    dynamic_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic* TelemetrySystem_Subscriptions::mutable_dynamic() {
    
    if (dynamic_ == NULL) {
      dynamic_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.dynamic)
    return dynamic_;
  }
  inline void TelemetrySystem_Subscriptions::set_allocated_dynamic(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Dynamic* dynamic) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete dynamic_;
    }
    if (dynamic) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        dynamic = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, dynamic, submessage_arena);
      }
      
    } else {
      
    }
    dynamic_ = dynamic;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.dynamic)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.Persistent persistent = 476420035 [(.yext.schemapath) = "/telemetry-system/subscriptions/persistent"];
  inline bool TelemetrySystem_Subscriptions::has_persistent() const {
    return this != internal_default_instance() && persistent_ != NULL;
  }
  inline void TelemetrySystem_Subscriptions::clear_persistent() {
    if (GetArenaNoVirtual() == NULL && persistent_ != NULL) {
      delete persistent_;
    }
    persistent_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent& TelemetrySystem_Subscriptions::persistent() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent* p = persistent_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.persistent)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_Persistent_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent* TelemetrySystem_Subscriptions::release_persistent() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.persistent)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent* temp = persistent_;
    persistent_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent* TelemetrySystem_Subscriptions::mutable_persistent() {
    
    if (persistent_ == NULL) {
      persistent_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.persistent)
    return persistent_;
  }
  inline void TelemetrySystem_Subscriptions::set_allocated_persistent(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions_Persistent* persistent) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete persistent_;
    }
    if (persistent) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        persistent = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, persistent, submessage_arena);
      }
      
    } else {
      
    }
    persistent_ = persistent;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions.persistent)
  }
  
  // -------------------------------------------------------------------
  
  // TelemetrySystem
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.DestinationGroups destination_groups = 247030560 [(.yext.schemapath) = "/telemetry-system/destination-groups"];
  inline bool TelemetrySystem::has_destination_groups() const {
    return this != internal_default_instance() && destination_groups_ != NULL;
  }
  inline void TelemetrySystem::clear_destination_groups() {
    if (GetArenaNoVirtual() == NULL && destination_groups_ != NULL) {
      delete destination_groups_;
    }
    destination_groups_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups& TelemetrySystem::destination_groups() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups* p = destination_groups_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.destination_groups)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_DestinationGroups_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups* TelemetrySystem::release_destination_groups() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.destination_groups)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups* temp = destination_groups_;
    destination_groups_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups* TelemetrySystem::mutable_destination_groups() {
    
    if (destination_groups_ == NULL) {
      destination_groups_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.destination_groups)
    return destination_groups_;
  }
  inline void TelemetrySystem::set_allocated_destination_groups(::openconfig::openconfig_telemetry::TelemetrySystem_DestinationGroups* destination_groups) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete destination_groups_;
    }
    if (destination_groups) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_groups = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_groups, submessage_arena);
      }
      
    } else {
      
    }
    destination_groups_ = destination_groups;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.destination_groups)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.SensorGroups sensor_groups = 14511052 [(.yext.schemapath) = "/telemetry-system/sensor-groups"];
  inline bool TelemetrySystem::has_sensor_groups() const {
    return this != internal_default_instance() && sensor_groups_ != NULL;
  }
  inline void TelemetrySystem::clear_sensor_groups() {
    if (GetArenaNoVirtual() == NULL && sensor_groups_ != NULL) {
      delete sensor_groups_;
    }
    sensor_groups_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups& TelemetrySystem::sensor_groups() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups* p = sensor_groups_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.sensor_groups)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_SensorGroups_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups* TelemetrySystem::release_sensor_groups() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.sensor_groups)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups* temp = sensor_groups_;
    sensor_groups_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups* TelemetrySystem::mutable_sensor_groups() {
    
    if (sensor_groups_ == NULL) {
      sensor_groups_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.sensor_groups)
    return sensor_groups_;
  }
  inline void TelemetrySystem::set_allocated_sensor_groups(::openconfig::openconfig_telemetry::TelemetrySystem_SensorGroups* sensor_groups) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete sensor_groups_;
    }
    if (sensor_groups) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sensor_groups = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sensor_groups, submessage_arena);
      }
      
    } else {
      
    }
    sensor_groups_ = sensor_groups;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.sensor_groups)
  }
  
  // .openconfig.openconfig_telemetry.TelemetrySystem.Subscriptions subscriptions = 114704761 [(.yext.schemapath) = "/telemetry-system/subscriptions"];
  inline bool TelemetrySystem::has_subscriptions() const {
    return this != internal_default_instance() && subscriptions_ != NULL;
  }
  inline void TelemetrySystem::clear_subscriptions() {
    if (GetArenaNoVirtual() == NULL && subscriptions_ != NULL) {
      delete subscriptions_;
    }
    subscriptions_ = NULL;
  }
  inline const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions& TelemetrySystem::subscriptions() const {
    const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions* p = subscriptions_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_telemetry.TelemetrySystem.subscriptions)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions*>(
        &::openconfig::openconfig_telemetry::_TelemetrySystem_Subscriptions_default_instance_);
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions* TelemetrySystem::release_subscriptions() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_telemetry.TelemetrySystem.subscriptions)
    
    ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions* temp = subscriptions_;
    subscriptions_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions* TelemetrySystem::mutable_subscriptions() {
    
    if (subscriptions_ == NULL) {
      subscriptions_ = new ::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_telemetry.TelemetrySystem.subscriptions)
    return subscriptions_;
  }
  inline void TelemetrySystem::set_allocated_subscriptions(::openconfig::openconfig_telemetry::TelemetrySystem_Subscriptions* subscriptions) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete subscriptions_;
    }
    if (subscriptions) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subscriptions = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subscriptions, submessage_arena);
      }
      
    } else {
      
    }
    subscriptions_ = subscriptions;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_telemetry.TelemetrySystem.subscriptions)
  }
  
  #ifdef __GNUC__
    #pragma GCC diagnostic pop
  #endif  // __GNUC__
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  }  // namespace openconfig_telemetry
  }  // namespace openconfig
  
  // @@protoc_insertion_point(global_scope)
  
  #endif  // PROTOBUF_openconfig_2fopenconfig_5ftelemetry_2fopenconfig_5ftelemetry_2eproto__INCLUDED
  