diff --git a/VERSION b/VERSION
index 850e742..141f2e8 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.14.0
+1.15.0
diff --git a/cpp/dmi/hw.pb.cc b/cpp/dmi/hw.pb.cc
index ddf179b..1982b55 100644
--- a/cpp/dmi/hw.pb.cc
+++ b/cpp/dmi/hw.pb.cc
@@ -17,6 +17,7 @@
 #include <google/protobuf/port_def.inc>
 
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ContainerComponentAttributes_dmi_2fhw_2eproto;
+extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_PonDistance_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_PonIdConfig_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_PsuComponentAttributes_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_TransceiverComponentChangeAttributes_dmi_2fhw_2eproto;
@@ -25,8 +26,8 @@
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Uuid_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ComponentSensorData_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ComponentState_dmi_2fhw_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_PortComponentAttributes_dmi_2fhw_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_PortComponentChangeAttributes_dmi_2fhw_2eproto;
+extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_PortComponentAttributes_dmi_2fhw_2eproto;
+extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_PortComponentChangeAttributes_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Component_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2ftimestamp_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto;
 namespace dmi {
@@ -54,6 +55,10 @@
  public:
   ::google::protobuf::internal::ExplicitlyConstructed<PortComponentAttributes> _instance;
 } _PortComponentAttributes_default_instance_;
+class PonDistanceDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<PonDistance> _instance;
+} _PonDistance_default_instance_;
 class PortComponentChangeAttributesDefaultTypeInternal {
  public:
   ::google::protobuf::internal::ExplicitlyConstructed<PortComponentChangeAttributes> _instance;
@@ -181,9 +186,24 @@
   ::dmi::PortComponentAttributes::InitAsDefaultInstance();
 }
 
-::google::protobuf::internal::SCCInfo<1> scc_info_PortComponentAttributes_dmi_2fhw_2eproto =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsPortComponentAttributes_dmi_2fhw_2eproto}, {
-      &scc_info_PonIdConfig_dmi_2fhw_2eproto.base,}};
+::google::protobuf::internal::SCCInfo<2> scc_info_PortComponentAttributes_dmi_2fhw_2eproto =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsPortComponentAttributes_dmi_2fhw_2eproto}, {
+      &scc_info_PonIdConfig_dmi_2fhw_2eproto.base,
+      &scc_info_PonDistance_dmi_2fhw_2eproto.base,}};
+
+static void InitDefaultsPonDistance_dmi_2fhw_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::dmi::_PonDistance_default_instance_;
+    new (ptr) ::dmi::PonDistance();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::dmi::PonDistance::InitAsDefaultInstance();
+}
+
+::google::protobuf::internal::SCCInfo<0> scc_info_PonDistance_dmi_2fhw_2eproto =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsPonDistance_dmi_2fhw_2eproto}, {}};
 
 static void InitDefaultsPortComponentChangeAttributes_dmi_2fhw_2eproto() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
@@ -196,9 +216,10 @@
   ::dmi::PortComponentChangeAttributes::InitAsDefaultInstance();
 }
 
-::google::protobuf::internal::SCCInfo<1> scc_info_PortComponentChangeAttributes_dmi_2fhw_2eproto =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsPortComponentChangeAttributes_dmi_2fhw_2eproto}, {
-      &scc_info_PonIdConfig_dmi_2fhw_2eproto.base,}};
+::google::protobuf::internal::SCCInfo<2> scc_info_PortComponentChangeAttributes_dmi_2fhw_2eproto =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsPortComponentChangeAttributes_dmi_2fhw_2eproto}, {
+      &scc_info_PonIdConfig_dmi_2fhw_2eproto.base,
+      &scc_info_PonDistance_dmi_2fhw_2eproto.base,}};
 
 static void InitDefaultsTransceiverComponentChangeAttributes_dmi_2fhw_2eproto() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
@@ -334,6 +355,7 @@
   ::google::protobuf::internal::InitSCC(&scc_info_ComponentState_dmi_2fhw_2eproto.base);
   ::google::protobuf::internal::InitSCC(&scc_info_ComponentSensorData_dmi_2fhw_2eproto.base);
   ::google::protobuf::internal::InitSCC(&scc_info_PortComponentAttributes_dmi_2fhw_2eproto.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_PonDistance_dmi_2fhw_2eproto.base);
   ::google::protobuf::internal::InitSCC(&scc_info_PortComponentChangeAttributes_dmi_2fhw_2eproto.base);
   ::google::protobuf::internal::InitSCC(&scc_info_TransceiverComponentChangeAttributes_dmi_2fhw_2eproto.base);
   ::google::protobuf::internal::InitSCC(&scc_info_PonIdConfig_dmi_2fhw_2eproto.base);
@@ -345,7 +367,7 @@
   ::google::protobuf::internal::InitSCC(&scc_info_ModifiableComponent_dmi_2fhw_2eproto.base);
 }
 
-::google::protobuf::Metadata file_level_metadata_dmi_2fhw_2eproto[15];
+::google::protobuf::Metadata file_level_metadata_dmi_2fhw_2eproto[16];
 const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors_dmi_2fhw_2eproto[15];
 constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_dmi_2fhw_2eproto = nullptr;
 
@@ -405,12 +427,21 @@
   PROTOBUF_FIELD_OFFSET(::dmi::PortComponentAttributes, mapping_label_),
   PROTOBUF_FIELD_OFFSET(::dmi::PortComponentAttributes, pon_id_config_),
   PROTOBUF_FIELD_OFFSET(::dmi::PortComponentAttributes, speed_autonegotiation_),
+  PROTOBUF_FIELD_OFFSET(::dmi::PortComponentAttributes, distance_),
+  ~0u,  // no _has_bits_
+  PROTOBUF_FIELD_OFFSET(::dmi::PonDistance, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  PROTOBUF_FIELD_OFFSET(::dmi::PonDistance, max_distance_),
+  PROTOBUF_FIELD_OFFSET(::dmi::PonDistance, max_differential_distance_),
   ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::dmi::PortComponentChangeAttributes, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
   PROTOBUF_FIELD_OFFSET(::dmi::PortComponentChangeAttributes, pon_id_config_),
+  PROTOBUF_FIELD_OFFSET(::dmi::PortComponentChangeAttributes, distance_),
   ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::dmi::TransceiverComponentChangeAttributes, _internal_metadata_),
   ~0u,  // no _extensions_
@@ -512,15 +543,16 @@
   { 18, -1, sizeof(::dmi::ComponentState)},
   { 29, -1, sizeof(::dmi::ComponentSensorData)},
   { 43, -1, sizeof(::dmi::PortComponentAttributes)},
-  { 55, -1, sizeof(::dmi::PortComponentChangeAttributes)},
-  { 61, -1, sizeof(::dmi::TransceiverComponentChangeAttributes)},
-  { 67, -1, sizeof(::dmi::PonIdConfig)},
-  { 74, -1, sizeof(::dmi::ContainerComponentAttributes)},
-  { 80, -1, sizeof(::dmi::PsuComponentAttributes)},
-  { 86, -1, sizeof(::dmi::TransceiverComponentsAttributes)},
-  { 100, -1, sizeof(::dmi::Component)},
-  { 130, -1, sizeof(::dmi::Hardware)},
-  { 138, -1, sizeof(::dmi::ModifiableComponent)},
+  { 56, -1, sizeof(::dmi::PonDistance)},
+  { 63, -1, sizeof(::dmi::PortComponentChangeAttributes)},
+  { 70, -1, sizeof(::dmi::TransceiverComponentChangeAttributes)},
+  { 76, -1, sizeof(::dmi::PonIdConfig)},
+  { 83, -1, sizeof(::dmi::ContainerComponentAttributes)},
+  { 89, -1, sizeof(::dmi::PsuComponentAttributes)},
+  { 95, -1, sizeof(::dmi::TransceiverComponentsAttributes)},
+  { 109, -1, sizeof(::dmi::Component)},
+  { 139, -1, sizeof(::dmi::Hardware)},
+  { 147, -1, sizeof(::dmi::ModifiableComponent)},
 };
 
 static ::google::protobuf::Message const * const file_default_instances[] = {
@@ -530,6 +562,7 @@
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_ComponentState_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_ComponentSensorData_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_PortComponentAttributes_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_PonDistance_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_PortComponentChangeAttributes_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_TransceiverComponentChangeAttributes_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_PonIdConfig_default_instance_),
@@ -544,7 +577,7 @@
 ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_dmi_2fhw_2eproto = {
   {}, AddDescriptors_dmi_2fhw_2eproto, "dmi/hw.proto", schemas,
   file_default_instances, TableStruct_dmi_2fhw_2eproto::offsets,
-  file_level_metadata_dmi_2fhw_2eproto, 15, file_level_enum_descriptors_dmi_2fhw_2eproto, file_level_service_descriptors_dmi_2fhw_2eproto,
+  file_level_metadata_dmi_2fhw_2eproto, 16, file_level_enum_descriptors_dmi_2fhw_2eproto, file_level_service_descriptors_dmi_2fhw_2eproto,
 };
 
 const char descriptor_table_protodef_dmi_2fhw_2eproto[] =
@@ -566,7 +599,7 @@
   "atus\022\025\n\runits_display\030\006 \001(\t\022-\n\ttimestamp"
   "\030\007 \001(\0132\032.google.protobuf.Timestamp\022\031\n\021va"
   "lue_update_rate\030\010 \001(\r\022\021\n\tdata_type\030\t \001(\t"
-  "\"\341\005\n\027PortComponentAttributes\022B\n\016connecto"
+  "\"\205\006\n\027PortComponentAttributes\022B\n\016connecto"
   "r_type\030\001 \001(\0162*.dmi.PortComponentAttribut"
   "es.ConnectorType\0221\n\005speed\030\002 \001(\0162\".dmi.Po"
   "rtComponentAttributes.Speed\0227\n\010protocol\030"
@@ -574,145 +607,148 @@
   "ocol\022\026\n\016physical_label\030\004 \001(\t\022\025\n\rmapping_"
   "label\030\005 \001(\t\022\'\n\rpon_id_config\030\006 \001(\0132\020.dmi"
   ".PonIdConfig\022\035\n\025speed_autonegotiation\030\007 "
-  "\001(\010\"p\n\rConnectorType\022\034\n\030CONNECTOR_TYPE_U"
-  "NDEFINED\020\000\022\010\n\004RJ45\020\001\022\014\n\010FIBER_LC\020\002\022\017\n\013FI"
-  "BER_SC_PC\020\003\022\r\n\tFIBER_MPO\020\004\022\t\n\005RS232\020\005\"\256\001"
-  "\n\005Speed\022\023\n\017SPEED_UNDEFINED\020\000\022\013\n\007DYNAMIC\020"
-  "\001\022\r\n\tGIGABIT_1\020\002\022\016\n\nGIGABIT_10\020\003\022\016\n\nGIGA"
-  "BIT_25\020\004\022\016\n\nGIGABIT_40\020\005\022\017\n\013GIGABIT_100\020"
-  "\006\022\017\n\013GIGABIT_400\020\007\022\020\n\014MEGABIT_2500\020\010\022\020\n\014"
-  "MEGABIT_1250\020\t\"|\n\010Protocol\022\026\n\022PROTOCOL_U"
-  "NDEFINED\020\000\022\014\n\010ETHERNET\020\001\022\010\n\004GPON\020\002\022\t\n\005XG"
-  "PON\020\003\022\n\n\006XGSPON\020\004\022\t\n\005GFAST\020\005\022\n\n\006SERIAL\020\006"
-  "\022\010\n\004EPON\020\007\022\010\n\004BITS\020\010\"H\n\035PortComponentCha"
-  "ngeAttributes\022\'\n\rpon_id_config\030\001 \001(\0132\020.d"
-  "mi.PonIdConfig\"P\n$TransceiverComponentCh"
-  "angeAttributes\022(\n\ntrans_type\030\001 \001(\0162\024.dmi"
-  ".TransceiverType\"B\n\013PonIdConfig\022\016\n\006pon_i"
-  "d\030\001 \001(\014\022#\n\033pon_id_transmit_periodicity\030\002"
-  " \001(\r\"6\n\034ContainerComponentAttributes\022\026\n\016"
-  "physical_label\030\001 \001(\t\"\263\001\n\026PsuComponentAtt"
-  "ributes\022G\n\021supported_voltage\030\001 \001(\0162,.dmi"
-  ".PsuComponentAttributes.SupportedVoltage"
-  "\"P\n\020SupportedVoltage\022\037\n\033SUPPORTED_VOLTAG"
-  "E_UNDEFINED\020\000\022\007\n\003V48\020\001\022\010\n\004V230\020\002\022\010\n\004V115"
-  "\020\003\"\253\004\n\037TransceiverComponentsAttributes\022D"
-  "\n\013form_factor\030\001 \001(\0162/.dmi.TransceiverCom"
-  "ponentsAttributes.FormFactor\022(\n\ntrans_ty"
-  "pe\030\002 \001(\0162\024.dmi.TransceiverType\022\024\n\014max_di"
-  "stance\030\003 \001(\r\022+\n\022max_distance_scale\030\004 \001(\016"
-  "2\017.dmi.ValueScale\022\025\n\rrx_wavelength\030\005 \003(\r"
-  "\022\025\n\rtx_wavelength\030\006 \003(\r\022)\n\020wavelength_sc"
-  "ale\030\007 \001(\0162\017.dmi.ValueScale\022\020\n\010tx_power\030\010"
-  " \003(\005\022\'\n\016tx_power_scale\030\t \001(\0162\017.dmi.Value"
-  "Scale\"\300\001\n\nFormFactor\022\027\n\023FORM_FACTOR_UNKN"
-  "OWN\020\000\022\010\n\004QSFP\020\001\022\r\n\tQSFP_PLUS\020\002\022\n\n\006QSFP28"
-  "\020\003\022\007\n\003SFP\020\004\022\014\n\010SFP_PLUS\020\005\022\007\n\003XFP\020\006\022\010\n\004CF"
-  "P4\020\007\022\010\n\004CFP2\020\010\022\010\n\004CPAK\020\t\022\006\n\002X2\020\n\022\t\n\005OTHE"
-  "R\020\013\022\007\n\003CFP\020\014\022\014\n\010CFP2_ACO\020\r\022\014\n\010CFP2_DCO\020\016"
-  "\"\350\005\n\tComponent\022\014\n\004name\030\001 \001(\t\022!\n\005class\030\002 "
-  "\001(\0162\022.dmi.ComponentType\022\023\n\013description\030\003"
-  " \001(\t\022\016\n\006parent\030\004 \001(\t\022\026\n\016parent_rel_pos\030\005"
-  " \001(\005\022 \n\010children\030\006 \003(\0132\016.dmi.Component\022\024"
-  "\n\014hardware_rev\030\007 \001(\t\022\024\n\014firmware_rev\030\010 \001"
-  "(\t\022\024\n\014software_rev\030\t \001(\t\022\022\n\nserial_num\030\n"
-  " \001(\t\022\020\n\010mfg_name\030\013 \001(\t\022\022\n\nmodel_name\030\014 \001"
-  "(\t\022\r\n\005alias\030\r \001(\t\022\020\n\010asset_id\030\016 \001(\t\022\016\n\006i"
-  "s_fru\030\017 \001(\010\022,\n\010mfg_date\030\020 \001(\0132\032.google.p"
-  "rotobuf.Timestamp\022\025\n\003uri\030\021 \001(\0132\010.dmi.Uri"
-  "\022\027\n\004uuid\030\022 \001(\0132\t.dmi.Uuid\022\"\n\005state\030\023 \001(\013"
-  "2\023.dmi.ComponentState\022-\n\013sensor_data\030\024 \003"
-  "(\0132\030.dmi.ComponentSensorData\0221\n\tport_att"
-  "r\0302 \001(\0132\034.dmi.PortComponentAttributesH\000\022"
-  ";\n\016container_attr\0303 \001(\0132!.dmi.ContainerC"
-  "omponentAttributesH\000\022/\n\010psu_attr\0304 \001(\0132\033"
-  ".dmi.PsuComponentAttributesH\000\022@\n\020transce"
-  "iver_attr\0305 \001(\0132$.dmi.TransceiverCompone"
-  "ntsAttributesH\000B\n\n\010specific\"\212\001\n\010Hardware"
-  "\022/\n\013last_change\030\001 \001(\0132\032.google.protobuf."
-  "Timestamp\022\034\n\004root\030\002 \001(\0132\016.dmi.Component\022"
-  "/\n\013last_booted\030\003 \001(\0132\032.google.protobuf.T"
-  "imestamp\"\351\002\n\023ModifiableComponent\022\014\n\004name"
-  "\030\001 \001(\t\022!\n\005class\030\002 \001(\0162\022.dmi.ComponentTyp"
-  "e\022\036\n\006parent\030\003 \001(\0132\016.dmi.Component\022\026\n\016par"
-  "ent_rel_pos\030\004 \001(\005\022\r\n\005alias\030\005 \001(\t\022\020\n\010asse"
-  "t_id\030\006 \001(\t\022\025\n\003uri\030\007 \001(\0132\010.dmi.Uri\022-\n\013adm"
-  "in_state\030\010 \001(\0162\030.dmi.ComponentAdminState"
-  "\0227\n\tport_attr\0302 \001(\0132\".dmi.PortComponentC"
-  "hangeAttributesH\000\022=\n\010trx_attr\0303 \001(\0132).dm"
-  "i.TransceiverComponentChangeAttributesH\000"
-  "B\n\n\010specific*\264\003\n\rComponentType\022\034\n\030COMPON"
-  "ENT_TYPE_UNDEFINED\020\000\022\032\n\026COMPONENT_TYPE_U"
-  "NKNOWN\020\001\022\032\n\026COMPONENT_TYPE_CHASSIS\020\002\022\034\n\030"
-  "COMPONENT_TYPE_BACKPLANE\020\003\022\034\n\030COMPONENT_"
-  "TYPE_CONTAINER\020\004\022\037\n\033COMPONENT_TYPE_POWER"
-  "_SUPPLY\020\005\022\026\n\022COMPONENT_TYPE_FAN\020\006\022\031\n\025COM"
-  "PONENT_TYPE_SENSOR\020\007\022\031\n\025COMPONENT_TYPE_M"
-  "ODULE\020\010\022\027\n\023COMPONENT_TYPE_PORT\020\t\022\026\n\022COMP"
-  "ONENT_TYPE_CPU\020\n\022\032\n\026COMPONENT_TYPE_BATTE"
-  "RY\020\013\022\032\n\026COMPONENT_TYPE_STORAGE\020\014\022\031\n\025COMP"
-  "ONENT_TYPE_MEMORY\020\r\022\036\n\032COMPONENT_TYPE_TR"
-  "ANSCEIVER\020\016*\263\001\n\023ComponentAdminState\022\036\n\032C"
-  "OMP_ADMIN_STATE_UNDEFINED\020\000\022\034\n\030COMP_ADMI"
-  "N_STATE_UNKNOWN\020\001\022\033\n\027COMP_ADMIN_STATE_LO"
-  "CKED\020\002\022\"\n\036COMP_ADMIN_STATE_SHUTTING_DOWN"
-  "\020\003\022\035\n\031COMP_ADMIN_STATE_UNLOCKED\020\004*\250\001\n\022Co"
-  "mponentOperState\022\035\n\031COMP_OPER_STATE_UNDE"
-  "FINED\020\000\022\033\n\027COMP_OPER_STATE_UNKNOWN\020\001\022\034\n\030"
-  "COMP_OPER_STATE_DISABLED\020\002\022\033\n\027COMP_OPER_"
-  "STATE_ENABLED\020\003\022\033\n\027COMP_OPER_STATE_TESTI"
-  "NG\020\004*\246\001\n\023ComponentUsageState\022\036\n\032COMP_USA"
-  "GE_STATE_UNDEFINED\020\000\022\034\n\030COMP_USAGE_STATE"
-  "_UNKNOWN\020\001\022\031\n\025COMP_USAGE_STATE_IDLE\020\002\022\033\n"
-  "\027COMP_USAGE_STATE_ACTIVE\020\003\022\031\n\025COMP_USAGE"
-  "_STATE_BUSY\020\004*\217\002\n\023ComponentAlarmState\022\036\n"
-  "\032COMP_ALARM_STATE_UNDEFINED\020\000\022\034\n\030COMP_AL"
-  "ARM_STATE_UNKNOWN\020\001\022!\n\035COMP_ALARM_STATE_"
-  "UNDER_REPAIR\020\002\022\035\n\031COMP_ALARM_STATE_CRITI"
-  "CAL\020\003\022\032\n\026COMP_ALARM_STATE_MAJOR\020\004\022\032\n\026COM"
-  "P_ALARM_STATE_MINOR\020\005\022\034\n\030COMP_ALARM_STAT"
-  "E_WARNING\020\006\022\"\n\036COMP_ALARM_STATE_INDETERM"
-  "INATE\020\007*\274\001\n\025ComponentStandbyState\022 \n\034COM"
-  "P_STANDBY_STATE_UNDEFINED\020\000\022\036\n\032COMP_STAN"
-  "DBY_STATE_UNKNOWN\020\001\022\032\n\026COMP_STANDBY_STAT"
-  "E_HOT\020\002\022\033\n\027COMP_STANDBY_STATE_COLD\020\003\022(\n$"
-  "COMP_STANDBY_STATE_PROVIDING_SERVICE\020\004*\235"
-  "\003\n\rDataValueType\022\030\n\024VALUE_TYPE_UNDEFINED"
-  "\020\000\022\024\n\020VALUE_TYPE_OTHER\020\001\022\026\n\022VALUE_TYPE_U"
-  "NKNOWN\020\002\022\027\n\023VALUE_TYPE_VOLTS_AC\020\003\022\027\n\023VAL"
-  "UE_TYPE_VOLTS_DC\020\004\022\026\n\022VALUE_TYPE_AMPERES"
-  "\020\005\022\024\n\020VALUE_TYPE_WATTS\020\006\022\024\n\020VALUE_TYPE_H"
-  "ERTZ\020\007\022\026\n\022VALUE_TYPE_CELSIUS\020\010\022\031\n\025VALUE_"
-  "TYPE_PERCENT_RH\020\t\022\022\n\016VALUE_TYPE_RPM\020\n\022\022\n"
-  "\016VALUE_TYPE_CMM\020\013\022\032\n\026VALUE_TYPE_TRUTH_VA"
-  "LUE\020\014\022\026\n\022VALUE_TYPE_PERCENT\020\r\022\025\n\021VALUE_T"
-  "YPE_METERS\020\016\022\024\n\020VALUE_TYPE_BYTES\020\017\022\022\n\016VA"
-  "LUE_TYPE_DBM\020\020*\244\003\n\nValueScale\022\031\n\025VALUE_S"
-  "CALE_UNDEFINED\020\000\022\025\n\021VALUE_SCALE_YOCTO\020\001\022"
-  "\025\n\021VALUE_SCALE_ZEPTO\020\002\022\024\n\020VALUE_SCALE_AT"
-  "TO\020\003\022\025\n\021VALUE_SCALE_FEMTO\020\004\022\024\n\020VALUE_SCA"
-  "LE_PICO\020\005\022\024\n\020VALUE_SCALE_NANO\020\006\022\025\n\021VALUE"
-  "_SCALE_MICRO\020\007\022\025\n\021VALUE_SCALE_MILLI\020\010\022\025\n"
-  "\021VALUE_SCALE_UNITS\020\t\022\024\n\020VALUE_SCALE_KILO"
-  "\020\n\022\024\n\020VALUE_SCALE_MEGA\020\013\022\024\n\020VALUE_SCALE_"
-  "GIGA\020\014\022\024\n\020VALUE_SCALE_TERA\020\r\022\024\n\020VALUE_SC"
-  "ALE_PETA\020\016\022\023\n\017VALUE_SCALE_EXA\020\017\022\025\n\021VALUE"
-  "_SCALE_ZETTA\020\020\022\025\n\021VALUE_SCALE_YOTTA\020\021*\202\001"
-  "\n\014SensorStatus\022\033\n\027SENSOR_STATUS_UNDEFINE"
-  "D\020\000\022\024\n\020SENSOR_STATUS_OK\020\001\022\035\n\031SENSOR_STAT"
-  "US_UNAVAILABLE\020\002\022 \n\034SENSOR_STATUS_NONOPE"
-  "RATIONAL\020\003*\244\001\n\017TransceiverType\022\022\n\016TYPE_U"
-  "NDEFINED\020\000\022\014\n\010ETHERNET\020\001\022\010\n\004GPON\020\002\022\t\n\005XG"
-  "PON\020\003\022\n\n\006XGSPON\020\004\022\010\n\004CPON\020\005\022\013\n\007NG_PON2\020\006"
-  "\022\010\n\004EPON\020\007\022\025\n\021COMBO_GPON_XGSPON\020\010\022\026\n\021TYP"
-  "E_NOT_DETECTED\020\377\001B;Z9github.com/opencord"
-  "/device-management-interface/v3/go/dmib\006"
-  "proto3"
+  "\001(\010\022\"\n\010distance\030\010 \001(\0132\020.dmi.PonDistance\""
+  "p\n\rConnectorType\022\034\n\030CONNECTOR_TYPE_UNDEF"
+  "INED\020\000\022\010\n\004RJ45\020\001\022\014\n\010FIBER_LC\020\002\022\017\n\013FIBER_"
+  "SC_PC\020\003\022\r\n\tFIBER_MPO\020\004\022\t\n\005RS232\020\005\"\256\001\n\005Sp"
+  "eed\022\023\n\017SPEED_UNDEFINED\020\000\022\013\n\007DYNAMIC\020\001\022\r\n"
+  "\tGIGABIT_1\020\002\022\016\n\nGIGABIT_10\020\003\022\016\n\nGIGABIT_"
+  "25\020\004\022\016\n\nGIGABIT_40\020\005\022\017\n\013GIGABIT_100\020\006\022\017\n"
+  "\013GIGABIT_400\020\007\022\020\n\014MEGABIT_2500\020\010\022\020\n\014MEGA"
+  "BIT_1250\020\t\"|\n\010Protocol\022\026\n\022PROTOCOL_UNDEF"
+  "INED\020\000\022\014\n\010ETHERNET\020\001\022\010\n\004GPON\020\002\022\t\n\005XGPON\020"
+  "\003\022\n\n\006XGSPON\020\004\022\t\n\005GFAST\020\005\022\n\n\006SERIAL\020\006\022\010\n\004"
+  "EPON\020\007\022\010\n\004BITS\020\010\"F\n\013PonDistance\022\024\n\014max_d"
+  "istance\030\001 \001(\r\022!\n\031max_differential_distan"
+  "ce\030\002 \001(\r\"l\n\035PortComponentChangeAttribute"
+  "s\022\'\n\rpon_id_config\030\001 \001(\0132\020.dmi.PonIdConf"
+  "ig\022\"\n\010distance\030\002 \001(\0132\020.dmi.PonDistance\"P"
+  "\n$TransceiverComponentChangeAttributes\022("
+  "\n\ntrans_type\030\001 \001(\0162\024.dmi.TransceiverType"
+  "\"B\n\013PonIdConfig\022\016\n\006pon_id\030\001 \001(\014\022#\n\033pon_i"
+  "d_transmit_periodicity\030\002 \001(\r\"6\n\034Containe"
+  "rComponentAttributes\022\026\n\016physical_label\030\001"
+  " \001(\t\"\263\001\n\026PsuComponentAttributes\022G\n\021suppo"
+  "rted_voltage\030\001 \001(\0162,.dmi.PsuComponentAtt"
+  "ributes.SupportedVoltage\"P\n\020SupportedVol"
+  "tage\022\037\n\033SUPPORTED_VOLTAGE_UNDEFINED\020\000\022\007\n"
+  "\003V48\020\001\022\010\n\004V230\020\002\022\010\n\004V115\020\003\"\253\004\n\037Transceiv"
+  "erComponentsAttributes\022D\n\013form_factor\030\001 "
+  "\001(\0162/.dmi.TransceiverComponentsAttribute"
+  "s.FormFactor\022(\n\ntrans_type\030\002 \001(\0162\024.dmi.T"
+  "ransceiverType\022\024\n\014max_distance\030\003 \001(\r\022+\n\022"
+  "max_distance_scale\030\004 \001(\0162\017.dmi.ValueScal"
+  "e\022\025\n\rrx_wavelength\030\005 \003(\r\022\025\n\rtx_wavelengt"
+  "h\030\006 \003(\r\022)\n\020wavelength_scale\030\007 \001(\0162\017.dmi."
+  "ValueScale\022\020\n\010tx_power\030\010 \003(\005\022\'\n\016tx_power"
+  "_scale\030\t \001(\0162\017.dmi.ValueScale\"\300\001\n\nFormFa"
+  "ctor\022\027\n\023FORM_FACTOR_UNKNOWN\020\000\022\010\n\004QSFP\020\001\022"
+  "\r\n\tQSFP_PLUS\020\002\022\n\n\006QSFP28\020\003\022\007\n\003SFP\020\004\022\014\n\010S"
+  "FP_PLUS\020\005\022\007\n\003XFP\020\006\022\010\n\004CFP4\020\007\022\010\n\004CFP2\020\010\022\010"
+  "\n\004CPAK\020\t\022\006\n\002X2\020\n\022\t\n\005OTHER\020\013\022\007\n\003CFP\020\014\022\014\n\010"
+  "CFP2_ACO\020\r\022\014\n\010CFP2_DCO\020\016\"\350\005\n\tComponent\022\014"
+  "\n\004name\030\001 \001(\t\022!\n\005class\030\002 \001(\0162\022.dmi.Compon"
+  "entType\022\023\n\013description\030\003 \001(\t\022\016\n\006parent\030\004"
+  " \001(\t\022\026\n\016parent_rel_pos\030\005 \001(\005\022 \n\010children"
+  "\030\006 \003(\0132\016.dmi.Component\022\024\n\014hardware_rev\030\007"
+  " \001(\t\022\024\n\014firmware_rev\030\010 \001(\t\022\024\n\014software_r"
+  "ev\030\t \001(\t\022\022\n\nserial_num\030\n \001(\t\022\020\n\010mfg_name"
+  "\030\013 \001(\t\022\022\n\nmodel_name\030\014 \001(\t\022\r\n\005alias\030\r \001("
+  "\t\022\020\n\010asset_id\030\016 \001(\t\022\016\n\006is_fru\030\017 \001(\010\022,\n\010m"
+  "fg_date\030\020 \001(\0132\032.google.protobuf.Timestam"
+  "p\022\025\n\003uri\030\021 \001(\0132\010.dmi.Uri\022\027\n\004uuid\030\022 \001(\0132\t"
+  ".dmi.Uuid\022\"\n\005state\030\023 \001(\0132\023.dmi.Component"
+  "State\022-\n\013sensor_data\030\024 \003(\0132\030.dmi.Compone"
+  "ntSensorData\0221\n\tport_attr\0302 \001(\0132\034.dmi.Po"
+  "rtComponentAttributesH\000\022;\n\016container_att"
+  "r\0303 \001(\0132!.dmi.ContainerComponentAttribut"
+  "esH\000\022/\n\010psu_attr\0304 \001(\0132\033.dmi.PsuComponen"
+  "tAttributesH\000\022@\n\020transceiver_attr\0305 \001(\0132"
+  "$.dmi.TransceiverComponentsAttributesH\000B"
+  "\n\n\010specific\"\212\001\n\010Hardware\022/\n\013last_change\030"
+  "\001 \001(\0132\032.google.protobuf.Timestamp\022\034\n\004roo"
+  "t\030\002 \001(\0132\016.dmi.Component\022/\n\013last_booted\030\003"
+  " \001(\0132\032.google.protobuf.Timestamp\"\351\002\n\023Mod"
+  "ifiableComponent\022\014\n\004name\030\001 \001(\t\022!\n\005class\030"
+  "\002 \001(\0162\022.dmi.ComponentType\022\036\n\006parent\030\003 \001("
+  "\0132\016.dmi.Component\022\026\n\016parent_rel_pos\030\004 \001("
+  "\005\022\r\n\005alias\030\005 \001(\t\022\020\n\010asset_id\030\006 \001(\t\022\025\n\003ur"
+  "i\030\007 \001(\0132\010.dmi.Uri\022-\n\013admin_state\030\010 \001(\0162\030"
+  ".dmi.ComponentAdminState\0227\n\tport_attr\0302 "
+  "\001(\0132\".dmi.PortComponentChangeAttributesH"
+  "\000\022=\n\010trx_attr\0303 \001(\0132).dmi.TransceiverCom"
+  "ponentChangeAttributesH\000B\n\n\010specific*\264\003\n"
+  "\rComponentType\022\034\n\030COMPONENT_TYPE_UNDEFIN"
+  "ED\020\000\022\032\n\026COMPONENT_TYPE_UNKNOWN\020\001\022\032\n\026COMP"
+  "ONENT_TYPE_CHASSIS\020\002\022\034\n\030COMPONENT_TYPE_B"
+  "ACKPLANE\020\003\022\034\n\030COMPONENT_TYPE_CONTAINER\020\004"
+  "\022\037\n\033COMPONENT_TYPE_POWER_SUPPLY\020\005\022\026\n\022COM"
+  "PONENT_TYPE_FAN\020\006\022\031\n\025COMPONENT_TYPE_SENS"
+  "OR\020\007\022\031\n\025COMPONENT_TYPE_MODULE\020\010\022\027\n\023COMPO"
+  "NENT_TYPE_PORT\020\t\022\026\n\022COMPONENT_TYPE_CPU\020\n"
+  "\022\032\n\026COMPONENT_TYPE_BATTERY\020\013\022\032\n\026COMPONEN"
+  "T_TYPE_STORAGE\020\014\022\031\n\025COMPONENT_TYPE_MEMOR"
+  "Y\020\r\022\036\n\032COMPONENT_TYPE_TRANSCEIVER\020\016*\263\001\n\023"
+  "ComponentAdminState\022\036\n\032COMP_ADMIN_STATE_"
+  "UNDEFINED\020\000\022\034\n\030COMP_ADMIN_STATE_UNKNOWN\020"
+  "\001\022\033\n\027COMP_ADMIN_STATE_LOCKED\020\002\022\"\n\036COMP_A"
+  "DMIN_STATE_SHUTTING_DOWN\020\003\022\035\n\031COMP_ADMIN"
+  "_STATE_UNLOCKED\020\004*\250\001\n\022ComponentOperState"
+  "\022\035\n\031COMP_OPER_STATE_UNDEFINED\020\000\022\033\n\027COMP_"
+  "OPER_STATE_UNKNOWN\020\001\022\034\n\030COMP_OPER_STATE_"
+  "DISABLED\020\002\022\033\n\027COMP_OPER_STATE_ENABLED\020\003\022"
+  "\033\n\027COMP_OPER_STATE_TESTING\020\004*\246\001\n\023Compone"
+  "ntUsageState\022\036\n\032COMP_USAGE_STATE_UNDEFIN"
+  "ED\020\000\022\034\n\030COMP_USAGE_STATE_UNKNOWN\020\001\022\031\n\025CO"
+  "MP_USAGE_STATE_IDLE\020\002\022\033\n\027COMP_USAGE_STAT"
+  "E_ACTIVE\020\003\022\031\n\025COMP_USAGE_STATE_BUSY\020\004*\217\002"
+  "\n\023ComponentAlarmState\022\036\n\032COMP_ALARM_STAT"
+  "E_UNDEFINED\020\000\022\034\n\030COMP_ALARM_STATE_UNKNOW"
+  "N\020\001\022!\n\035COMP_ALARM_STATE_UNDER_REPAIR\020\002\022\035"
+  "\n\031COMP_ALARM_STATE_CRITICAL\020\003\022\032\n\026COMP_AL"
+  "ARM_STATE_MAJOR\020\004\022\032\n\026COMP_ALARM_STATE_MI"
+  "NOR\020\005\022\034\n\030COMP_ALARM_STATE_WARNING\020\006\022\"\n\036C"
+  "OMP_ALARM_STATE_INDETERMINATE\020\007*\274\001\n\025Comp"
+  "onentStandbyState\022 \n\034COMP_STANDBY_STATE_"
+  "UNDEFINED\020\000\022\036\n\032COMP_STANDBY_STATE_UNKNOW"
+  "N\020\001\022\032\n\026COMP_STANDBY_STATE_HOT\020\002\022\033\n\027COMP_"
+  "STANDBY_STATE_COLD\020\003\022(\n$COMP_STANDBY_STA"
+  "TE_PROVIDING_SERVICE\020\004*\235\003\n\rDataValueType"
+  "\022\030\n\024VALUE_TYPE_UNDEFINED\020\000\022\024\n\020VALUE_TYPE"
+  "_OTHER\020\001\022\026\n\022VALUE_TYPE_UNKNOWN\020\002\022\027\n\023VALU"
+  "E_TYPE_VOLTS_AC\020\003\022\027\n\023VALUE_TYPE_VOLTS_DC"
+  "\020\004\022\026\n\022VALUE_TYPE_AMPERES\020\005\022\024\n\020VALUE_TYPE"
+  "_WATTS\020\006\022\024\n\020VALUE_TYPE_HERTZ\020\007\022\026\n\022VALUE_"
+  "TYPE_CELSIUS\020\010\022\031\n\025VALUE_TYPE_PERCENT_RH\020"
+  "\t\022\022\n\016VALUE_TYPE_RPM\020\n\022\022\n\016VALUE_TYPE_CMM\020"
+  "\013\022\032\n\026VALUE_TYPE_TRUTH_VALUE\020\014\022\026\n\022VALUE_T"
+  "YPE_PERCENT\020\r\022\025\n\021VALUE_TYPE_METERS\020\016\022\024\n\020"
+  "VALUE_TYPE_BYTES\020\017\022\022\n\016VALUE_TYPE_DBM\020\020*\244"
+  "\003\n\nValueScale\022\031\n\025VALUE_SCALE_UNDEFINED\020\000"
+  "\022\025\n\021VALUE_SCALE_YOCTO\020\001\022\025\n\021VALUE_SCALE_Z"
+  "EPTO\020\002\022\024\n\020VALUE_SCALE_ATTO\020\003\022\025\n\021VALUE_SC"
+  "ALE_FEMTO\020\004\022\024\n\020VALUE_SCALE_PICO\020\005\022\024\n\020VAL"
+  "UE_SCALE_NANO\020\006\022\025\n\021VALUE_SCALE_MICRO\020\007\022\025"
+  "\n\021VALUE_SCALE_MILLI\020\010\022\025\n\021VALUE_SCALE_UNI"
+  "TS\020\t\022\024\n\020VALUE_SCALE_KILO\020\n\022\024\n\020VALUE_SCAL"
+  "E_MEGA\020\013\022\024\n\020VALUE_SCALE_GIGA\020\014\022\024\n\020VALUE_"
+  "SCALE_TERA\020\r\022\024\n\020VALUE_SCALE_PETA\020\016\022\023\n\017VA"
+  "LUE_SCALE_EXA\020\017\022\025\n\021VALUE_SCALE_ZETTA\020\020\022\025"
+  "\n\021VALUE_SCALE_YOTTA\020\021*\202\001\n\014SensorStatus\022\033"
+  "\n\027SENSOR_STATUS_UNDEFINED\020\000\022\024\n\020SENSOR_ST"
+  "ATUS_OK\020\001\022\035\n\031SENSOR_STATUS_UNAVAILABLE\020\002"
+  "\022 \n\034SENSOR_STATUS_NONOPERATIONAL\020\003*\244\001\n\017T"
+  "ransceiverType\022\022\n\016TYPE_UNDEFINED\020\000\022\014\n\010ET"
+  "HERNET\020\001\022\010\n\004GPON\020\002\022\t\n\005XGPON\020\003\022\n\n\006XGSPON\020"
+  "\004\022\010\n\004CPON\020\005\022\013\n\007NG_PON2\020\006\022\010\n\004EPON\020\007\022\025\n\021CO"
+  "MBO_GPON_XGSPON\020\010\022\026\n\021TYPE_NOT_DETECTED\020\377"
+  "\001B;Z9github.com/opencord/device-manageme"
+  "nt-interface/v3/go/dmib\006proto3"
   ;
 ::google::protobuf::internal::DescriptorTable descriptor_table_dmi_2fhw_2eproto = {
   false, InitDefaults_dmi_2fhw_2eproto, 
   descriptor_table_protodef_dmi_2fhw_2eproto,
-  "dmi/hw.proto", &assign_descriptors_table_dmi_2fhw_2eproto, 6366,
+  "dmi/hw.proto", &assign_descriptors_table_dmi_2fhw_2eproto, 6510,
 };
 
 void AddDescriptors_dmi_2fhw_2eproto() {
@@ -3236,16 +3272,23 @@
 void PortComponentAttributes::InitAsDefaultInstance() {
   ::dmi::_PortComponentAttributes_default_instance_._instance.get_mutable()->pon_id_config_ = const_cast< ::dmi::PonIdConfig*>(
       ::dmi::PonIdConfig::internal_default_instance());
+  ::dmi::_PortComponentAttributes_default_instance_._instance.get_mutable()->distance_ = const_cast< ::dmi::PonDistance*>(
+      ::dmi::PonDistance::internal_default_instance());
 }
 class PortComponentAttributes::HasBitSetters {
  public:
   static const ::dmi::PonIdConfig& pon_id_config(const PortComponentAttributes* msg);
+  static const ::dmi::PonDistance& distance(const PortComponentAttributes* msg);
 };
 
 const ::dmi::PonIdConfig&
 PortComponentAttributes::HasBitSetters::pon_id_config(const PortComponentAttributes* msg) {
   return *msg->pon_id_config_;
 }
+const ::dmi::PonDistance&
+PortComponentAttributes::HasBitSetters::distance(const PortComponentAttributes* msg) {
+  return *msg->distance_;
+}
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int PortComponentAttributes::kConnectorTypeFieldNumber;
 const int PortComponentAttributes::kSpeedFieldNumber;
@@ -3254,6 +3297,7 @@
 const int PortComponentAttributes::kMappingLabelFieldNumber;
 const int PortComponentAttributes::kPonIdConfigFieldNumber;
 const int PortComponentAttributes::kSpeedAutonegotiationFieldNumber;
+const int PortComponentAttributes::kDistanceFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 PortComponentAttributes::PortComponentAttributes()
@@ -3278,6 +3322,11 @@
   } else {
     pon_id_config_ = nullptr;
   }
+  if (from.has_distance()) {
+    distance_ = new ::dmi::PonDistance(*from.distance_);
+  } else {
+    distance_ = nullptr;
+  }
   ::memcpy(&connector_type_, &from.connector_type_,
     static_cast<size_t>(reinterpret_cast<char*>(&speed_autonegotiation_) -
     reinterpret_cast<char*>(&connector_type_)) + sizeof(speed_autonegotiation_));
@@ -3303,6 +3352,7 @@
   physical_label_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   mapping_label_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   if (this != internal_default_instance()) delete pon_id_config_;
+  if (this != internal_default_instance()) delete distance_;
 }
 
 void PortComponentAttributes::SetCachedSize(int size) const {
@@ -3326,6 +3376,10 @@
     delete pon_id_config_;
   }
   pon_id_config_ = nullptr;
+  if (GetArenaNoVirtual() == nullptr && distance_ != nullptr) {
+    delete distance_;
+  }
+  distance_ = nullptr;
   ::memset(&connector_type_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&speed_autonegotiation_) -
       reinterpret_cast<char*>(&connector_type_)) + sizeof(speed_autonegotiation_));
@@ -3421,6 +3475,19 @@
         GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
         break;
       }
+      // .dmi.PonDistance distance = 8;
+      case 8: {
+        if (static_cast<::google::protobuf::uint8>(tag) != 66) goto handle_unusual;
+        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
+        parser_till_end = ::dmi::PonDistance::_InternalParse;
+        object = msg->mutable_distance();
+        if (size > end - ptr) goto len_delim_till_end;
+        ptr += size;
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange(
+            {parser_till_end, object}, ptr - size, ptr));
+        break;
+      }
       default: {
       handle_unusual:
         if ((tag & 7) == 4 || tag == 0) {
@@ -3551,6 +3618,17 @@
         break;
       }
 
+      // .dmi.PonDistance distance = 8;
+      case 8: {
+        if (static_cast< ::google::protobuf::uint8>(tag) == (66 & 0xFF)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_distance()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
       default: {
       handle_unusual:
         if (tag == 0) {
@@ -3627,6 +3705,12 @@
     ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->speed_autonegotiation(), output);
   }
 
+  // .dmi.PonDistance distance = 8;
+  if (this->has_distance()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      8, HasBitSetters::distance(this), output);
+  }
+
   if (_internal_metadata_.have_unknown_fields()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
         _internal_metadata_.unknown_fields(), output);
@@ -3692,6 +3776,13 @@
     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->speed_autonegotiation(), target);
   }
 
+  // .dmi.PonDistance distance = 8;
+  if (this->has_distance()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        8, HasBitSetters::distance(this), target);
+  }
+
   if (_internal_metadata_.have_unknown_fields()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields(), target);
@@ -3734,6 +3825,13 @@
         *pon_id_config_);
   }
 
+  // .dmi.PonDistance distance = 8;
+  if (this->has_distance()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *distance_);
+  }
+
   // .dmi.PortComponentAttributes.ConnectorType connector_type = 1;
   if (this->connector_type() != 0) {
     total_size += 1 +
@@ -3795,6 +3893,9 @@
   if (from.has_pon_id_config()) {
     mutable_pon_id_config()->::dmi::PonIdConfig::MergeFrom(from.pon_id_config());
   }
+  if (from.has_distance()) {
+    mutable_distance()->::dmi::PonDistance::MergeFrom(from.distance());
+  }
   if (from.connector_type() != 0) {
     set_connector_type(from.connector_type());
   }
@@ -3839,6 +3940,7 @@
   mapping_label_.Swap(&other->mapping_label_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
     GetArenaNoVirtual());
   swap(pon_id_config_, other->pon_id_config_);
+  swap(distance_, other->distance_);
   swap(connector_type_, other->connector_type_);
   swap(speed_, other->speed_);
   swap(protocol_, other->protocol_);
@@ -3853,21 +3955,337 @@
 
 // ===================================================================
 
+void PonDistance::InitAsDefaultInstance() {
+}
+class PonDistance::HasBitSetters {
+ public:
+};
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int PonDistance::kMaxDistanceFieldNumber;
+const int PonDistance::kMaxDifferentialDistanceFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+PonDistance::PonDistance()
+  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:dmi.PonDistance)
+}
+PonDistance::PonDistance(const PonDistance& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(nullptr) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::memcpy(&max_distance_, &from.max_distance_,
+    static_cast<size_t>(reinterpret_cast<char*>(&max_differential_distance_) -
+    reinterpret_cast<char*>(&max_distance_)) + sizeof(max_differential_distance_));
+  // @@protoc_insertion_point(copy_constructor:dmi.PonDistance)
+}
+
+void PonDistance::SharedCtor() {
+  ::memset(&max_distance_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&max_differential_distance_) -
+      reinterpret_cast<char*>(&max_distance_)) + sizeof(max_differential_distance_));
+}
+
+PonDistance::~PonDistance() {
+  // @@protoc_insertion_point(destructor:dmi.PonDistance)
+  SharedDtor();
+}
+
+void PonDistance::SharedDtor() {
+}
+
+void PonDistance::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
+}
+const PonDistance& PonDistance::default_instance() {
+  ::google::protobuf::internal::InitSCC(&::scc_info_PonDistance_dmi_2fhw_2eproto.base);
+  return *internal_default_instance();
+}
+
+
+void PonDistance::Clear() {
+// @@protoc_insertion_point(message_clear_start:dmi.PonDistance)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  ::memset(&max_distance_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&max_differential_distance_) -
+      reinterpret_cast<char*>(&max_distance_)) + sizeof(max_differential_distance_));
+  _internal_metadata_.Clear();
+}
+
+#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+const char* PonDistance::_InternalParse(const char* begin, const char* end, void* object,
+                  ::google::protobuf::internal::ParseContext* ctx) {
+  auto msg = static_cast<PonDistance*>(object);
+  ::google::protobuf::int32 size; (void)size;
+  int depth; (void)depth;
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
+  auto ptr = begin;
+  while (ptr < end) {
+    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
+    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
+    switch (tag >> 3) {
+      // uint32 max_distance = 1;
+      case 1: {
+        if (static_cast<::google::protobuf::uint8>(tag) != 8) goto handle_unusual;
+        msg->set_max_distance(::google::protobuf::internal::ReadVarint(&ptr));
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
+        break;
+      }
+      // uint32 max_differential_distance = 2;
+      case 2: {
+        if (static_cast<::google::protobuf::uint8>(tag) != 16) goto handle_unusual;
+        msg->set_max_differential_distance(::google::protobuf::internal::ReadVarint(&ptr));
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
+        break;
+      }
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->EndGroup(tag);
+          return ptr;
+        }
+        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
+          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
+        ptr = res.first;
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
+        if (res.second) return ptr;
+      }
+    }  // switch
+  }  // while
+  return ptr;
+}
+#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+bool PonDistance::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:dmi.PonDistance)
+  for (;;) {
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // uint32 max_distance = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) == (8 & 0xFF)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 input, &max_distance_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint32 max_differential_distance = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) == (16 & 0xFF)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 input, &max_differential_distance_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:dmi.PonDistance)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:dmi.PonDistance)
+  return false;
+#undef DO_
+}
+#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+
+void PonDistance::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:dmi.PonDistance)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // uint32 max_distance = 1;
+  if (this->max_distance() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->max_distance(), output);
+  }
+
+  // uint32 max_differential_distance = 2;
+  if (this->max_differential_distance() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->max_differential_distance(), output);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        _internal_metadata_.unknown_fields(), output);
+  }
+  // @@protoc_insertion_point(serialize_end:dmi.PonDistance)
+}
+
+::google::protobuf::uint8* PonDistance::InternalSerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // @@protoc_insertion_point(serialize_to_array_start:dmi.PonDistance)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // uint32 max_distance = 1;
+  if (this->max_distance() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->max_distance(), target);
+  }
+
+  // uint32 max_differential_distance = 2;
+  if (this->max_differential_distance() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->max_differential_distance(), target);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields(), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:dmi.PonDistance)
+  return target;
+}
+
+size_t PonDistance::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:dmi.PonDistance)
+  size_t total_size = 0;
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        _internal_metadata_.unknown_fields());
+  }
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  // uint32 max_distance = 1;
+  if (this->max_distance() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::UInt32Size(
+        this->max_distance());
+  }
+
+  // uint32 max_differential_distance = 2;
+  if (this->max_differential_distance() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::UInt32Size(
+        this->max_differential_distance());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
+}
+
+void PonDistance::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:dmi.PonDistance)
+  GOOGLE_DCHECK_NE(&from, this);
+  const PonDistance* source =
+      ::google::protobuf::DynamicCastToGenerated<PonDistance>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:dmi.PonDistance)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:dmi.PonDistance)
+    MergeFrom(*source);
+  }
+}
+
+void PonDistance::MergeFrom(const PonDistance& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:dmi.PonDistance)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.max_distance() != 0) {
+    set_max_distance(from.max_distance());
+  }
+  if (from.max_differential_distance() != 0) {
+    set_max_differential_distance(from.max_differential_distance());
+  }
+}
+
+void PonDistance::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:dmi.PonDistance)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void PonDistance::CopyFrom(const PonDistance& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:dmi.PonDistance)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool PonDistance::IsInitialized() const {
+  return true;
+}
+
+void PonDistance::Swap(PonDistance* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void PonDistance::InternalSwap(PonDistance* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(max_distance_, other->max_distance_);
+  swap(max_differential_distance_, other->max_differential_distance_);
+}
+
+::google::protobuf::Metadata PonDistance::GetMetadata() const {
+  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_dmi_2fhw_2eproto);
+  return ::file_level_metadata_dmi_2fhw_2eproto[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
 void PortComponentChangeAttributes::InitAsDefaultInstance() {
   ::dmi::_PortComponentChangeAttributes_default_instance_._instance.get_mutable()->pon_id_config_ = const_cast< ::dmi::PonIdConfig*>(
       ::dmi::PonIdConfig::internal_default_instance());
+  ::dmi::_PortComponentChangeAttributes_default_instance_._instance.get_mutable()->distance_ = const_cast< ::dmi::PonDistance*>(
+      ::dmi::PonDistance::internal_default_instance());
 }
 class PortComponentChangeAttributes::HasBitSetters {
  public:
   static const ::dmi::PonIdConfig& pon_id_config(const PortComponentChangeAttributes* msg);
+  static const ::dmi::PonDistance& distance(const PortComponentChangeAttributes* msg);
 };
 
 const ::dmi::PonIdConfig&
 PortComponentChangeAttributes::HasBitSetters::pon_id_config(const PortComponentChangeAttributes* msg) {
   return *msg->pon_id_config_;
 }
+const ::dmi::PonDistance&
+PortComponentChangeAttributes::HasBitSetters::distance(const PortComponentChangeAttributes* msg) {
+  return *msg->distance_;
+}
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int PortComponentChangeAttributes::kPonIdConfigFieldNumber;
+const int PortComponentChangeAttributes::kDistanceFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 PortComponentChangeAttributes::PortComponentChangeAttributes()
@@ -3884,13 +4302,20 @@
   } else {
     pon_id_config_ = nullptr;
   }
+  if (from.has_distance()) {
+    distance_ = new ::dmi::PonDistance(*from.distance_);
+  } else {
+    distance_ = nullptr;
+  }
   // @@protoc_insertion_point(copy_constructor:dmi.PortComponentChangeAttributes)
 }
 
 void PortComponentChangeAttributes::SharedCtor() {
   ::google::protobuf::internal::InitSCC(
       &scc_info_PortComponentChangeAttributes_dmi_2fhw_2eproto.base);
-  pon_id_config_ = nullptr;
+  ::memset(&pon_id_config_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&distance_) -
+      reinterpret_cast<char*>(&pon_id_config_)) + sizeof(distance_));
 }
 
 PortComponentChangeAttributes::~PortComponentChangeAttributes() {
@@ -3900,6 +4325,7 @@
 
 void PortComponentChangeAttributes::SharedDtor() {
   if (this != internal_default_instance()) delete pon_id_config_;
+  if (this != internal_default_instance()) delete distance_;
 }
 
 void PortComponentChangeAttributes::SetCachedSize(int size) const {
@@ -3921,6 +4347,10 @@
     delete pon_id_config_;
   }
   pon_id_config_ = nullptr;
+  if (GetArenaNoVirtual() == nullptr && distance_ != nullptr) {
+    delete distance_;
+  }
+  distance_ = nullptr;
   _internal_metadata_.Clear();
 }
 
@@ -3950,6 +4380,19 @@
             {parser_till_end, object}, ptr - size, ptr));
         break;
       }
+      // .dmi.PonDistance distance = 2;
+      case 2: {
+        if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual;
+        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
+        parser_till_end = ::dmi::PonDistance::_InternalParse;
+        object = msg->mutable_distance();
+        if (size > end - ptr) goto len_delim_till_end;
+        ptr += size;
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange(
+            {parser_till_end, object}, ptr - size, ptr));
+        break;
+      }
       default: {
       handle_unusual:
         if ((tag & 7) == 4 || tag == 0) {
@@ -3991,6 +4434,17 @@
         break;
       }
 
+      // .dmi.PonDistance distance = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_distance()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
       default: {
       handle_unusual:
         if (tag == 0) {
@@ -4024,6 +4478,12 @@
       1, HasBitSetters::pon_id_config(this), output);
   }
 
+  // .dmi.PonDistance distance = 2;
+  if (this->has_distance()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      2, HasBitSetters::distance(this), output);
+  }
+
   if (_internal_metadata_.have_unknown_fields()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
         _internal_metadata_.unknown_fields(), output);
@@ -4044,6 +4504,13 @@
         1, HasBitSetters::pon_id_config(this), target);
   }
 
+  // .dmi.PonDistance distance = 2;
+  if (this->has_distance()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        2, HasBitSetters::distance(this), target);
+  }
+
   if (_internal_metadata_.have_unknown_fields()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields(), target);
@@ -4072,6 +4539,13 @@
         *pon_id_config_);
   }
 
+  // .dmi.PonDistance distance = 2;
+  if (this->has_distance()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *distance_);
+  }
+
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
   SetCachedSize(cached_size);
   return total_size;
@@ -4102,6 +4576,9 @@
   if (from.has_pon_id_config()) {
     mutable_pon_id_config()->::dmi::PonIdConfig::MergeFrom(from.pon_id_config());
   }
+  if (from.has_distance()) {
+    mutable_distance()->::dmi::PonDistance::MergeFrom(from.distance());
+  }
 }
 
 void PortComponentChangeAttributes::CopyFrom(const ::google::protobuf::Message& from) {
@@ -4130,6 +4607,7 @@
   using std::swap;
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(pon_id_config_, other->pon_id_config_);
+  swap(distance_, other->distance_);
 }
 
 ::google::protobuf::Metadata PortComponentChangeAttributes::GetMetadata() const {
@@ -9284,6 +9762,9 @@
 template<> PROTOBUF_NOINLINE ::dmi::PortComponentAttributes* Arena::CreateMaybeMessage< ::dmi::PortComponentAttributes >(Arena* arena) {
   return Arena::CreateInternal< ::dmi::PortComponentAttributes >(arena);
 }
+template<> PROTOBUF_NOINLINE ::dmi::PonDistance* Arena::CreateMaybeMessage< ::dmi::PonDistance >(Arena* arena) {
+  return Arena::CreateInternal< ::dmi::PonDistance >(arena);
+}
 template<> PROTOBUF_NOINLINE ::dmi::PortComponentChangeAttributes* Arena::CreateMaybeMessage< ::dmi::PortComponentChangeAttributes >(Arena* arena) {
   return Arena::CreateInternal< ::dmi::PortComponentChangeAttributes >(arena);
 }
diff --git a/cpp/dmi/hw.pb.h b/cpp/dmi/hw.pb.h
index cff4653..78ebca2 100644
--- a/cpp/dmi/hw.pb.h
+++ b/cpp/dmi/hw.pb.h
@@ -43,7 +43,7 @@
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
   static const ::google::protobuf::internal::AuxillaryParseTableField aux[]
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::google::protobuf::internal::ParseTable schema[15]
+  static const ::google::protobuf::internal::ParseTable schema[16]
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
   static const ::google::protobuf::internal::FieldMetadata field_metadata[];
   static const ::google::protobuf::internal::SerializationTable serialization_table[];
@@ -72,6 +72,9 @@
 class ModifiableComponent;
 class ModifiableComponentDefaultTypeInternal;
 extern ModifiableComponentDefaultTypeInternal _ModifiableComponent_default_instance_;
+class PonDistance;
+class PonDistanceDefaultTypeInternal;
+extern PonDistanceDefaultTypeInternal _PonDistance_default_instance_;
 class PonIdConfig;
 class PonIdConfigDefaultTypeInternal;
 extern PonIdConfigDefaultTypeInternal _PonIdConfig_default_instance_;
@@ -106,6 +109,7 @@
 template<> ::dmi::Hardware* Arena::CreateMaybeMessage<::dmi::Hardware>(Arena*);
 template<> ::dmi::HardwareID* Arena::CreateMaybeMessage<::dmi::HardwareID>(Arena*);
 template<> ::dmi::ModifiableComponent* Arena::CreateMaybeMessage<::dmi::ModifiableComponent>(Arena*);
+template<> ::dmi::PonDistance* Arena::CreateMaybeMessage<::dmi::PonDistance>(Arena*);
 template<> ::dmi::PonIdConfig* Arena::CreateMaybeMessage<::dmi::PonIdConfig>(Arena*);
 template<> ::dmi::PortComponentAttributes* Arena::CreateMaybeMessage<::dmi::PortComponentAttributes>(Arena*);
 template<> ::dmi::PortComponentChangeAttributes* Arena::CreateMaybeMessage<::dmi::PortComponentChangeAttributes>(Arena*);
@@ -1481,6 +1485,15 @@
   ::dmi::PonIdConfig* mutable_pon_id_config();
   void set_allocated_pon_id_config(::dmi::PonIdConfig* pon_id_config);
 
+  // .dmi.PonDistance distance = 8;
+  bool has_distance() const;
+  void clear_distance();
+  static const int kDistanceFieldNumber = 8;
+  const ::dmi::PonDistance& distance() const;
+  ::dmi::PonDistance* release_distance();
+  ::dmi::PonDistance* mutable_distance();
+  void set_allocated_distance(::dmi::PonDistance* distance);
+
   // .dmi.PortComponentAttributes.ConnectorType connector_type = 1;
   void clear_connector_type();
   static const int kConnectorTypeFieldNumber = 1;
@@ -1513,6 +1526,7 @@
   ::google::protobuf::internal::ArenaStringPtr physical_label_;
   ::google::protobuf::internal::ArenaStringPtr mapping_label_;
   ::dmi::PonIdConfig* pon_id_config_;
+  ::dmi::PonDistance* distance_;
   int connector_type_;
   int speed_;
   int protocol_;
@@ -1522,6 +1536,125 @@
 };
 // -------------------------------------------------------------------
 
+class PonDistance final :
+    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:dmi.PonDistance) */ {
+ public:
+  PonDistance();
+  virtual ~PonDistance();
+
+  PonDistance(const PonDistance& from);
+
+  inline PonDistance& operator=(const PonDistance& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  PonDistance(PonDistance&& from) noexcept
+    : PonDistance() {
+    *this = ::std::move(from);
+  }
+
+  inline PonDistance& operator=(PonDistance&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor() {
+    return default_instance().GetDescriptor();
+  }
+  static const PonDistance& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const PonDistance* internal_default_instance() {
+    return reinterpret_cast<const PonDistance*>(
+               &_PonDistance_default_instance_);
+  }
+  static constexpr int kIndexInFileMessages =
+    6;
+
+  void Swap(PonDistance* other);
+  friend void swap(PonDistance& a, PonDistance& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline PonDistance* New() const final {
+    return CreateMaybeMessage<PonDistance>(nullptr);
+  }
+
+  PonDistance* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<PonDistance>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
+  void CopyFrom(const PonDistance& from);
+  void MergeFrom(const PonDistance& from);
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
+  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
+  #else
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) final;
+  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const final;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(PonDistance* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return nullptr;
+  }
+  inline void* MaybeArenaPtr() const {
+    return nullptr;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const final;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // uint32 max_distance = 1;
+  void clear_max_distance();
+  static const int kMaxDistanceFieldNumber = 1;
+  ::google::protobuf::uint32 max_distance() const;
+  void set_max_distance(::google::protobuf::uint32 value);
+
+  // uint32 max_differential_distance = 2;
+  void clear_max_differential_distance();
+  static const int kMaxDifferentialDistanceFieldNumber = 2;
+  ::google::protobuf::uint32 max_differential_distance() const;
+  void set_max_differential_distance(::google::protobuf::uint32 value);
+
+  // @@protoc_insertion_point(class_scope:dmi.PonDistance)
+ private:
+  class HasBitSetters;
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::uint32 max_distance_;
+  ::google::protobuf::uint32 max_differential_distance_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
+  friend struct ::TableStruct_dmi_2fhw_2eproto;
+};
+// -------------------------------------------------------------------
+
 class PortComponentChangeAttributes final :
     public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:dmi.PortComponentChangeAttributes) */ {
  public:
@@ -1560,7 +1693,7 @@
                &_PortComponentChangeAttributes_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    6;
+    7;
 
   void Swap(PortComponentChangeAttributes* other);
   friend void swap(PortComponentChangeAttributes& a, PortComponentChangeAttributes& b) {
@@ -1626,12 +1759,22 @@
   ::dmi::PonIdConfig* mutable_pon_id_config();
   void set_allocated_pon_id_config(::dmi::PonIdConfig* pon_id_config);
 
+  // .dmi.PonDistance distance = 2;
+  bool has_distance() const;
+  void clear_distance();
+  static const int kDistanceFieldNumber = 2;
+  const ::dmi::PonDistance& distance() const;
+  ::dmi::PonDistance* release_distance();
+  ::dmi::PonDistance* mutable_distance();
+  void set_allocated_distance(::dmi::PonDistance* distance);
+
   // @@protoc_insertion_point(class_scope:dmi.PortComponentChangeAttributes)
  private:
   class HasBitSetters;
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::dmi::PonIdConfig* pon_id_config_;
+  ::dmi::PonDistance* distance_;
   mutable ::google::protobuf::internal::CachedSize _cached_size_;
   friend struct ::TableStruct_dmi_2fhw_2eproto;
 };
@@ -1675,7 +1818,7 @@
                &_TransceiverComponentChangeAttributes_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    7;
+    8;
 
   void Swap(TransceiverComponentChangeAttributes* other);
   friend void swap(TransceiverComponentChangeAttributes& a, TransceiverComponentChangeAttributes& b) {
@@ -1787,7 +1930,7 @@
                &_PonIdConfig_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    8;
+    9;
 
   void Swap(PonIdConfig* other);
   friend void swap(PonIdConfig& a, PonIdConfig& b) {
@@ -1914,7 +2057,7 @@
                &_ContainerComponentAttributes_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    9;
+    10;
 
   void Swap(ContainerComponentAttributes* other);
   friend void swap(ContainerComponentAttributes& a, ContainerComponentAttributes& b) {
@@ -2034,7 +2177,7 @@
                &_PsuComponentAttributes_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    10;
+    11;
 
   void Swap(PsuComponentAttributes* other);
   friend void swap(PsuComponentAttributes& a, PsuComponentAttributes& b) {
@@ -2176,7 +2319,7 @@
                &_TransceiverComponentsAttributes_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    11;
+    12;
 
   void Swap(TransceiverComponentsAttributes* other);
   friend void swap(TransceiverComponentsAttributes& a, TransceiverComponentsAttributes& b) {
@@ -2425,7 +2568,7 @@
                &_Component_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    12;
+    13;
 
   void Swap(Component* other);
   friend void swap(Component& a, Component& b) {
@@ -2836,7 +2979,7 @@
                &_Hardware_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    13;
+    14;
 
   void Swap(Hardware* other);
   friend void swap(Hardware& a, Hardware& b) {
@@ -2977,7 +3120,7 @@
                &_ModifiableComponent_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    14;
+    15;
 
   void Swap(ModifiableComponent* other);
   friend void swap(ModifiableComponent& a, ModifiableComponent& b) {
@@ -3913,6 +4056,89 @@
   // @@protoc_insertion_point(field_set:dmi.PortComponentAttributes.speed_autonegotiation)
 }
 
+// .dmi.PonDistance distance = 8;
+inline bool PortComponentAttributes::has_distance() const {
+  return this != internal_default_instance() && distance_ != nullptr;
+}
+inline void PortComponentAttributes::clear_distance() {
+  if (GetArenaNoVirtual() == nullptr && distance_ != nullptr) {
+    delete distance_;
+  }
+  distance_ = nullptr;
+}
+inline const ::dmi::PonDistance& PortComponentAttributes::distance() const {
+  const ::dmi::PonDistance* p = distance_;
+  // @@protoc_insertion_point(field_get:dmi.PortComponentAttributes.distance)
+  return p != nullptr ? *p : *reinterpret_cast<const ::dmi::PonDistance*>(
+      &::dmi::_PonDistance_default_instance_);
+}
+inline ::dmi::PonDistance* PortComponentAttributes::release_distance() {
+  // @@protoc_insertion_point(field_release:dmi.PortComponentAttributes.distance)
+  
+  ::dmi::PonDistance* temp = distance_;
+  distance_ = nullptr;
+  return temp;
+}
+inline ::dmi::PonDistance* PortComponentAttributes::mutable_distance() {
+  
+  if (distance_ == nullptr) {
+    auto* p = CreateMaybeMessage<::dmi::PonDistance>(GetArenaNoVirtual());
+    distance_ = p;
+  }
+  // @@protoc_insertion_point(field_mutable:dmi.PortComponentAttributes.distance)
+  return distance_;
+}
+inline void PortComponentAttributes::set_allocated_distance(::dmi::PonDistance* distance) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == nullptr) {
+    delete distance_;
+  }
+  if (distance) {
+    ::google::protobuf::Arena* submessage_arena = nullptr;
+    if (message_arena != submessage_arena) {
+      distance = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, distance, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  distance_ = distance;
+  // @@protoc_insertion_point(field_set_allocated:dmi.PortComponentAttributes.distance)
+}
+
+// -------------------------------------------------------------------
+
+// PonDistance
+
+// uint32 max_distance = 1;
+inline void PonDistance::clear_max_distance() {
+  max_distance_ = 0u;
+}
+inline ::google::protobuf::uint32 PonDistance::max_distance() const {
+  // @@protoc_insertion_point(field_get:dmi.PonDistance.max_distance)
+  return max_distance_;
+}
+inline void PonDistance::set_max_distance(::google::protobuf::uint32 value) {
+  
+  max_distance_ = value;
+  // @@protoc_insertion_point(field_set:dmi.PonDistance.max_distance)
+}
+
+// uint32 max_differential_distance = 2;
+inline void PonDistance::clear_max_differential_distance() {
+  max_differential_distance_ = 0u;
+}
+inline ::google::protobuf::uint32 PonDistance::max_differential_distance() const {
+  // @@protoc_insertion_point(field_get:dmi.PonDistance.max_differential_distance)
+  return max_differential_distance_;
+}
+inline void PonDistance::set_max_differential_distance(::google::protobuf::uint32 value) {
+  
+  max_differential_distance_ = value;
+  // @@protoc_insertion_point(field_set:dmi.PonDistance.max_differential_distance)
+}
+
 // -------------------------------------------------------------------
 
 // PortComponentChangeAttributes
@@ -3968,6 +4194,57 @@
   // @@protoc_insertion_point(field_set_allocated:dmi.PortComponentChangeAttributes.pon_id_config)
 }
 
+// .dmi.PonDistance distance = 2;
+inline bool PortComponentChangeAttributes::has_distance() const {
+  return this != internal_default_instance() && distance_ != nullptr;
+}
+inline void PortComponentChangeAttributes::clear_distance() {
+  if (GetArenaNoVirtual() == nullptr && distance_ != nullptr) {
+    delete distance_;
+  }
+  distance_ = nullptr;
+}
+inline const ::dmi::PonDistance& PortComponentChangeAttributes::distance() const {
+  const ::dmi::PonDistance* p = distance_;
+  // @@protoc_insertion_point(field_get:dmi.PortComponentChangeAttributes.distance)
+  return p != nullptr ? *p : *reinterpret_cast<const ::dmi::PonDistance*>(
+      &::dmi::_PonDistance_default_instance_);
+}
+inline ::dmi::PonDistance* PortComponentChangeAttributes::release_distance() {
+  // @@protoc_insertion_point(field_release:dmi.PortComponentChangeAttributes.distance)
+  
+  ::dmi::PonDistance* temp = distance_;
+  distance_ = nullptr;
+  return temp;
+}
+inline ::dmi::PonDistance* PortComponentChangeAttributes::mutable_distance() {
+  
+  if (distance_ == nullptr) {
+    auto* p = CreateMaybeMessage<::dmi::PonDistance>(GetArenaNoVirtual());
+    distance_ = p;
+  }
+  // @@protoc_insertion_point(field_mutable:dmi.PortComponentChangeAttributes.distance)
+  return distance_;
+}
+inline void PortComponentChangeAttributes::set_allocated_distance(::dmi::PonDistance* distance) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == nullptr) {
+    delete distance_;
+  }
+  if (distance) {
+    ::google::protobuf::Arena* submessage_arena = nullptr;
+    if (message_arena != submessage_arena) {
+      distance = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, distance, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  distance_ = distance;
+  // @@protoc_insertion_point(field_set_allocated:dmi.PortComponentChangeAttributes.distance)
+}
+
 // -------------------------------------------------------------------
 
 // TransceiverComponentChangeAttributes
@@ -5947,6 +6224,8 @@
 
 // -------------------------------------------------------------------
 
+// -------------------------------------------------------------------
+
 
 // @@protoc_insertion_point(namespace_scope)
 
diff --git a/dmi.pb b/dmi.pb
index 0b9440f..8149550 100644
--- a/dmi.pb
+++ b/dmi.pb
Binary files differ
diff --git a/go/dmi/hw.pb.go b/go/dmi/hw.pb.go
index c41bac2..e65e7c9 100644
--- a/go/dmi/hw.pb.go
+++ b/go/dmi/hw.pb.go
@@ -648,7 +648,7 @@
 }
 
 func (PsuComponentAttributes_SupportedVoltage) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{10, 0}
+	return fileDescriptor_d7c33d745c4ab367, []int{11, 0}
 }
 
 type TransceiverComponentsAttributes_FormFactor int32
@@ -712,7 +712,7 @@
 }
 
 func (TransceiverComponentsAttributes_FormFactor) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{11, 0}
+	return fileDescriptor_d7c33d745c4ab367, []int{12, 0}
 }
 
 type Uuid struct {
@@ -1026,6 +1026,7 @@
 	MappingLabel         string       `protobuf:"bytes,5,opt,name=mapping_label,json=mappingLabel,proto3" json:"mapping_label,omitempty"`
 	PonIdConfig          *PonIdConfig `protobuf:"bytes,6,opt,name=pon_id_config,json=ponIdConfig,proto3" json:"pon_id_config,omitempty"`
 	SpeedAutonegotiation bool         `protobuf:"varint,7,opt,name=speed_autonegotiation,json=speedAutonegotiation,proto3" json:"speed_autonegotiation,omitempty"`
+	Distance             *PonDistance `protobuf:"bytes,8,opt,name=distance,proto3" json:"distance,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
 	XXX_unrecognized     []byte       `json:"-"`
 	XXX_sizecache        int32        `json:"-"`
@@ -1105,8 +1106,73 @@
 	return false
 }
 
+func (m *PortComponentAttributes) GetDistance() *PonDistance {
+	if m != nil {
+		return m.Distance
+	}
+	return nil
+}
+
+type PonDistance struct {
+	//
+	// The ITU-T G.987.x series of Recommendations addresses the linear extent parameters of XG-PON
+	// using the single concept of fibre distance. An ONU is characterized by its fibre distance, and for
+	// each pair of ONUs on the same OLT PON interface, the differential fibre distance is the difference
+	// between the two individual fibre distances. Each specific PMD layer parameter set contains a
+	// provision to support a specific maximum fibre distance. The XG-PON TC layer specification
+	// contains a provision to support specific ranges of maximum fibre distance and maximum
+	// differential fibre distance. These ranges can be configurable for a given system. One can expect that
+	// for each XG-PON deployment, the configured TC layer maximum fibre distance will match the
+	// maximum fibre distance supported by the selected PMD layer parameter set.
+	MaxDistance             uint32   `protobuf:"varint,1,opt,name=max_distance,json=maxDistance,proto3" json:"max_distance,omitempty"`
+	MaxDifferentialDistance uint32   `protobuf:"varint,2,opt,name=max_differential_distance,json=maxDifferentialDistance,proto3" json:"max_differential_distance,omitempty"`
+	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
+	XXX_unrecognized        []byte   `json:"-"`
+	XXX_sizecache           int32    `json:"-"`
+}
+
+func (m *PonDistance) Reset()         { *m = PonDistance{} }
+func (m *PonDistance) String() string { return proto.CompactTextString(m) }
+func (*PonDistance) ProtoMessage()    {}
+func (*PonDistance) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{6}
+}
+
+func (m *PonDistance) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PonDistance.Unmarshal(m, b)
+}
+func (m *PonDistance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PonDistance.Marshal(b, m, deterministic)
+}
+func (m *PonDistance) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PonDistance.Merge(m, src)
+}
+func (m *PonDistance) XXX_Size() int {
+	return xxx_messageInfo_PonDistance.Size(m)
+}
+func (m *PonDistance) XXX_DiscardUnknown() {
+	xxx_messageInfo_PonDistance.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PonDistance proto.InternalMessageInfo
+
+func (m *PonDistance) GetMaxDistance() uint32 {
+	if m != nil {
+		return m.MaxDistance
+	}
+	return 0
+}
+
+func (m *PonDistance) GetMaxDifferentialDistance() uint32 {
+	if m != nil {
+		return m.MaxDifferentialDistance
+	}
+	return 0
+}
+
 type PortComponentChangeAttributes struct {
 	PonIdConfig          *PonIdConfig `protobuf:"bytes,1,opt,name=pon_id_config,json=ponIdConfig,proto3" json:"pon_id_config,omitempty"`
+	Distance             *PonDistance `protobuf:"bytes,2,opt,name=distance,proto3" json:"distance,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
 	XXX_unrecognized     []byte       `json:"-"`
 	XXX_sizecache        int32        `json:"-"`
@@ -1116,7 +1182,7 @@
 func (m *PortComponentChangeAttributes) String() string { return proto.CompactTextString(m) }
 func (*PortComponentChangeAttributes) ProtoMessage()    {}
 func (*PortComponentChangeAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{6}
+	return fileDescriptor_d7c33d745c4ab367, []int{7}
 }
 
 func (m *PortComponentChangeAttributes) XXX_Unmarshal(b []byte) error {
@@ -1144,6 +1210,13 @@
 	return nil
 }
 
+func (m *PortComponentChangeAttributes) GetDistance() *PonDistance {
+	if m != nil {
+		return m.Distance
+	}
+	return nil
+}
+
 type TransceiverComponentChangeAttributes struct {
 	TransType            TransceiverType `protobuf:"varint,1,opt,name=trans_type,json=transType,proto3,enum=dmi.TransceiverType" json:"trans_type,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
@@ -1155,7 +1228,7 @@
 func (m *TransceiverComponentChangeAttributes) String() string { return proto.CompactTextString(m) }
 func (*TransceiverComponentChangeAttributes) ProtoMessage()    {}
 func (*TransceiverComponentChangeAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{7}
+	return fileDescriptor_d7c33d745c4ab367, []int{8}
 }
 
 func (m *TransceiverComponentChangeAttributes) XXX_Unmarshal(b []byte) error {
@@ -1198,7 +1271,7 @@
 func (m *PonIdConfig) String() string { return proto.CompactTextString(m) }
 func (*PonIdConfig) ProtoMessage()    {}
 func (*PonIdConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{8}
+	return fileDescriptor_d7c33d745c4ab367, []int{9}
 }
 
 func (m *PonIdConfig) XXX_Unmarshal(b []byte) error {
@@ -1244,7 +1317,7 @@
 func (m *ContainerComponentAttributes) String() string { return proto.CompactTextString(m) }
 func (*ContainerComponentAttributes) ProtoMessage()    {}
 func (*ContainerComponentAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{9}
+	return fileDescriptor_d7c33d745c4ab367, []int{10}
 }
 
 func (m *ContainerComponentAttributes) XXX_Unmarshal(b []byte) error {
@@ -1283,7 +1356,7 @@
 func (m *PsuComponentAttributes) String() string { return proto.CompactTextString(m) }
 func (*PsuComponentAttributes) ProtoMessage()    {}
 func (*PsuComponentAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{10}
+	return fileDescriptor_d7c33d745c4ab367, []int{11}
 }
 
 func (m *PsuComponentAttributes) XXX_Unmarshal(b []byte) error {
@@ -1335,7 +1408,7 @@
 func (m *TransceiverComponentsAttributes) String() string { return proto.CompactTextString(m) }
 func (*TransceiverComponentsAttributes) ProtoMessage()    {}
 func (*TransceiverComponentsAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{11}
+	return fileDescriptor_d7c33d745c4ab367, []int{12}
 }
 
 func (m *TransceiverComponentsAttributes) XXX_Unmarshal(b []byte) error {
@@ -1462,7 +1535,7 @@
 func (m *Component) String() string { return proto.CompactTextString(m) }
 func (*Component) ProtoMessage()    {}
 func (*Component) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{12}
+	return fileDescriptor_d7c33d745c4ab367, []int{13}
 }
 
 func (m *Component) XXX_Unmarshal(b []byte) error {
@@ -1713,7 +1786,7 @@
 func (m *Hardware) String() string { return proto.CompactTextString(m) }
 func (*Hardware) ProtoMessage()    {}
 func (*Hardware) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{13}
+	return fileDescriptor_d7c33d745c4ab367, []int{14}
 }
 
 func (m *Hardware) XXX_Unmarshal(b []byte) error {
@@ -1782,7 +1855,7 @@
 func (m *ModifiableComponent) String() string { return proto.CompactTextString(m) }
 func (*ModifiableComponent) ProtoMessage()    {}
 func (*ModifiableComponent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{14}
+	return fileDescriptor_d7c33d745c4ab367, []int{15}
 }
 
 func (m *ModifiableComponent) XXX_Unmarshal(b []byte) error {
@@ -1926,6 +1999,7 @@
 	proto.RegisterType((*ComponentState)(nil), "dmi.ComponentState")
 	proto.RegisterType((*ComponentSensorData)(nil), "dmi.ComponentSensorData")
 	proto.RegisterType((*PortComponentAttributes)(nil), "dmi.PortComponentAttributes")
+	proto.RegisterType((*PonDistance)(nil), "dmi.PonDistance")
 	proto.RegisterType((*PortComponentChangeAttributes)(nil), "dmi.PortComponentChangeAttributes")
 	proto.RegisterType((*TransceiverComponentChangeAttributes)(nil), "dmi.TransceiverComponentChangeAttributes")
 	proto.RegisterType((*PonIdConfig)(nil), "dmi.PonIdConfig")
@@ -1940,184 +2014,188 @@
 func init() { proto.RegisterFile("dmi/hw.proto", fileDescriptor_d7c33d745c4ab367) }
 
 var fileDescriptor_d7c33d745c4ab367 = []byte{
-	// 2864 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4f, 0x93, 0xdb, 0xc6,
-	0xb1, 0x17, 0x97, 0xff, 0x9b, 0xe4, 0xee, 0xec, 0xe8, 0x1f, 0xad, 0x3f, 0xb6, 0xcc, 0x27, 0xbb,
-	0xe4, 0x7d, 0xcf, 0xbb, 0xab, 0x95, 0xf4, 0x4a, 0x7e, 0x2e, 0xd7, 0x2b, 0x10, 0x04, 0x77, 0x61,
-	0x91, 0x00, 0x3c, 0x00, 0x57, 0x5a, 0xe7, 0x80, 0xc2, 0x92, 0x58, 0x0a, 0x55, 0x24, 0x80, 0x02,
-	0xc0, 0xd5, 0xaa, 0x2a, 0xa7, 0x54, 0xee, 0xf9, 0x04, 0xb9, 0x39, 0x29, 0x9f, 0x72, 0x49, 0x8e,
-	0x39, 0x38, 0x87, 0x7c, 0x88, 0x7c, 0x86, 0x7c, 0x88, 0xa4, 0x66, 0x06, 0x20, 0x41, 0x10, 0x92,
-	0xe5, 0xaa, 0xdc, 0x66, 0xba, 0x7f, 0xdd, 0xd3, 0xd3, 0xdd, 0xd3, 0x33, 0x3d, 0xd0, 0x9c, 0xcc,
-	0x9d, 0x83, 0xd7, 0x6f, 0xf6, 0xfd, 0xc0, 0x8b, 0x3c, 0x5c, 0x9c, 0xcc, 0x9d, 0x3b, 0x9f, 0x4c,
-	0x3d, 0x6f, 0x3a, 0xb3, 0x0f, 0x18, 0xe9, 0x7c, 0x71, 0x71, 0x10, 0x39, 0x73, 0x3b, 0x8c, 0xac,
-	0xb9, 0xcf, 0x51, 0x9d, 0x3b, 0x50, 0x1a, 0x2d, 0x9c, 0x09, 0xc6, 0x50, 0x5a, 0x2c, 0x9c, 0x49,
-	0xbb, 0xf0, 0xa0, 0xf0, 0xa8, 0x4e, 0xd8, 0xb8, 0xf3, 0xdf, 0x00, 0x27, 0x56, 0x30, 0x79, 0x63,
-	0x05, 0xb6, 0xdc, 0xc3, 0xf7, 0x53, 0x88, 0xc6, 0x51, 0x7d, 0x7f, 0x32, 0x77, 0xf6, 0xa9, 0x68,
-	0x0c, 0xbe, 0x0d, 0xc5, 0x51, 0xe0, 0x60, 0x04, 0xc5, 0x45, 0xe0, 0xc4, 0x6a, 0xe8, 0xb0, 0xf3,
-	0xdb, 0x22, 0x6c, 0x8b, 0xde, 0xdc, 0xf7, 0x5c, 0xdb, 0x8d, 0xf4, 0xc8, 0x8a, 0x6c, 0x7c, 0x02,
-	0x38, 0xa4, 0x03, 0x73, 0x66, 0x85, 0x91, 0x39, 0x7e, 0x6d, 0xb9, 0x53, 0x3b, 0x51, 0x7c, 0x67,
-	0x9f, 0x9b, 0xbc, 0x9f, 0x98, 0xbc, 0x6f, 0x24, 0x26, 0x13, 0xc4, 0xa4, 0x06, 0x56, 0x18, 0x89,
-	0x5c, 0x06, 0x7f, 0x05, 0x0d, 0x6b, 0x32, 0x77, 0x5c, 0x93, 0x71, 0xda, 0x5b, 0x0f, 0x0a, 0x8f,
-	0xb6, 0x8f, 0xda, 0xcc, 0xb6, 0xe5, 0x9a, 0x02, 0x05, 0xb0, 0x85, 0x09, 0x58, 0xcb, 0x31, 0xfe,
-	0x5f, 0x00, 0xcf, 0xb7, 0x83, 0x58, 0xb2, 0xc8, 0x24, 0x6f, 0xaf, 0x4b, 0xaa, 0xbe, 0x1d, 0x70,
-	0xc1, 0xba, 0x97, 0x0c, 0xe9, 0x92, 0x8b, 0xd0, 0x9a, 0xda, 0xb1, 0x60, 0x29, 0x6f, 0xc9, 0x11,
-	0x05, 0xc4, 0x4b, 0x2e, 0x96, 0x63, 0x66, 0xed, 0xcc, 0x0a, 0xe6, 0xb1, 0x68, 0x39, 0xd7, 0x5a,
-	0x0a, 0x48, 0xac, 0x5d, 0x8e, 0xf1, 0xff, 0x43, 0x2b, 0x8c, 0x2c, 0x77, 0x72, 0xfe, 0x36, 0x16,
-	0xae, 0x30, 0xe1, 0x3b, 0xeb, 0xc2, 0x3a, 0x87, 0x70, 0xf1, 0x66, 0x98, 0x9a, 0x75, 0xfe, 0xb9,
-	0x05, 0xd7, 0x57, 0x38, 0xdb, 0x0d, 0xbd, 0xa0, 0x67, 0x45, 0x16, 0xbe, 0x01, 0xe5, 0x4b, 0x6b,
-	0xb6, 0xb0, 0x99, 0xfb, 0xcb, 0x84, 0x4f, 0xf0, 0xe7, 0x50, 0x8a, 0xde, 0xfa, 0x89, 0x43, 0x31,
-	0x5b, 0x85, 0xc2, 0x4f, 0x29, 0xd7, 0x78, 0xeb, 0xdb, 0x84, 0xf1, 0xf1, 0x67, 0x50, 0x0e, 0xc7,
-	0xd6, 0x2c, 0xf1, 0xdf, 0x0e, 0x03, 0x32, 0x90, 0x4e, 0xc9, 0x84, 0x73, 0xf1, 0x3d, 0xa8, 0xfb,
-	0x81, 0x3d, 0x76, 0x42, 0xc7, 0x73, 0x99, 0xc7, 0xca, 0x64, 0x45, 0xc0, 0x5f, 0x40, 0x85, 0xee,
-	0x69, 0x11, 0xc6, 0x1e, 0xd9, 0x65, 0x5a, 0xb8, 0x8d, 0x3a, 0x63, 0x90, 0x18, 0x80, 0xff, 0x0b,
-	0x5a, 0x0b, 0xd7, 0x89, 0x42, 0x73, 0xe2, 0x84, 0xfe, 0xcc, 0x7a, 0xcb, 0xdc, 0x50, 0x27, 0x4d,
-	0x46, 0xec, 0x71, 0x1a, 0x7e, 0x0e, 0xf5, 0x65, 0x9a, 0xb7, 0xab, 0x3f, 0x9b, 0x55, 0x2b, 0x30,
-	0xde, 0x83, 0x5d, 0xb6, 0x7f, 0x73, 0xe1, 0x4f, 0x68, 0x7e, 0x06, 0xd4, 0xd3, 0xb5, 0x07, 0x85,
-	0x47, 0x2d, 0xb2, 0xc3, 0x18, 0x23, 0x46, 0x27, 0x34, 0x22, 0x77, 0xa1, 0x3e, 0xb1, 0x22, 0xcb,
-	0x64, 0x7e, 0xaa, 0x33, 0x33, 0x6a, 0x94, 0x40, 0xbd, 0xd3, 0xf9, 0x5b, 0x05, 0x6e, 0x6b, 0x5e,
-	0x10, 0xad, 0xc2, 0x1a, 0x45, 0x81, 0x73, 0xbe, 0x88, 0xec, 0x10, 0x7f, 0x07, 0xdb, 0x63, 0xcf,
-	0x75, 0xed, 0x71, 0xe4, 0x05, 0x5c, 0xba, 0xc0, 0xb6, 0xbd, 0xc7, 0xb6, 0xfd, 0x0e, 0xa9, 0x7d,
-	0x31, 0x11, 0x61, 0xde, 0x6f, 0x8d, 0xd3, 0x53, 0xfc, 0x1c, 0xca, 0xa1, 0x6f, 0xdb, 0x93, 0x38,
-	0x5e, 0x9d, 0xf7, 0x6a, 0xd2, 0x29, 0x92, 0x70, 0x01, 0x2c, 0x40, 0x8d, 0xb9, 0x64, 0xec, 0xcd,
-	0xe2, 0x18, 0x7e, 0xf6, 0x5e, 0x61, 0x2d, 0x06, 0x93, 0xa5, 0x18, 0xfe, 0x0c, 0xb6, 0xfd, 0xd7,
-	0x6f, 0x43, 0x67, 0x6c, 0xcd, 0xcc, 0x99, 0x75, 0x6e, 0xcf, 0x58, 0x84, 0xeb, 0xa4, 0x95, 0x50,
-	0x07, 0x94, 0x48, 0x43, 0x37, 0xb7, 0x7c, 0xdf, 0x71, 0xa7, 0x31, 0xaa, 0xcc, 0x43, 0x17, 0x13,
-	0x39, 0xe8, 0x29, 0xb4, 0x7c, 0xcf, 0x35, 0x9d, 0x89, 0x39, 0xf6, 0xdc, 0x0b, 0x67, 0xca, 0xe2,
-	0xdb, 0x38, 0x42, 0xb1, 0x4d, 0xae, 0x3c, 0x11, 0x19, 0x9d, 0x34, 0xfc, 0xd5, 0x04, 0x3f, 0x81,
-	0x9b, 0x6c, 0x37, 0xa6, 0xb5, 0x88, 0x3c, 0xd7, 0x9e, 0x7a, 0x91, 0x63, 0x45, 0x34, 0xd5, 0x68,
-	0xf0, 0x6b, 0xe4, 0x06, 0x63, 0x0a, 0xeb, 0xbc, 0x8e, 0x0f, 0xad, 0x35, 0x9f, 0xe2, 0x7b, 0xd0,
-	0x16, 0x55, 0x45, 0x91, 0x44, 0x43, 0x25, 0xa6, 0x71, 0xa6, 0x49, 0xe6, 0x48, 0xe9, 0x49, 0x7d,
-	0x59, 0x91, 0x7a, 0xe8, 0x1a, 0xae, 0x41, 0x89, 0x7c, 0xfb, 0xf4, 0x19, 0x2a, 0xe0, 0x26, 0xd4,
-	0xfa, 0x72, 0x57, 0x22, 0xe6, 0x40, 0x44, 0x5b, 0x78, 0x07, 0x1a, 0x7c, 0xa6, 0x8b, 0xa6, 0x26,
-	0xa2, 0x22, 0x6e, 0x41, 0x9d, 0x13, 0x86, 0x9a, 0x8a, 0x4a, 0xb8, 0x0e, 0x65, 0xa2, 0x1f, 0x3d,
-	0x39, 0x42, 0xe5, 0xce, 0x9f, 0x0a, 0x50, 0x66, 0xce, 0xc7, 0xd7, 0x61, 0x47, 0xd7, 0x24, 0xa9,
-	0xb7, 0xb6, 0x42, 0x03, 0xaa, 0xbd, 0x33, 0x45, 0x18, 0xca, 0x22, 0x2a, 0x50, 0x2d, 0xc7, 0xf2,
-	0xb1, 0xd0, 0x95, 0x0d, 0xf3, 0x31, 0xda, 0xc2, 0xdb, 0x00, 0xcb, 0xe9, 0x21, 0x2a, 0xa6, 0xe7,
-	0x47, 0xcf, 0x50, 0x29, 0x3d, 0x7f, 0x7a, 0x88, 0xca, 0xd4, 0xaa, 0x15, 0xfe, 0x10, 0x55, 0xd2,
-	0x84, 0xa7, 0x87, 0x87, 0xa8, 0x8a, 0x11, 0x34, 0x87, 0x52, 0xa2, 0xe1, 0xf0, 0x10, 0xd5, 0xd2,
-	0x94, 0xc7, 0x47, 0xcf, 0x0e, 0x51, 0xbd, 0xf3, 0x6b, 0xa8, 0x25, 0xf1, 0xc6, 0xb7, 0x00, 0x6b,
-	0x44, 0x35, 0x54, 0x51, 0x1d, 0xac, 0x59, 0xdd, 0x84, 0x9a, 0x64, 0x9c, 0x48, 0x44, 0x91, 0x0c,
-	0x54, 0xa0, 0x5e, 0x3a, 0xd6, 0x54, 0x05, 0x6d, 0xd1, 0x7d, 0xbf, 0x62, 0xc3, 0x22, 0x06, 0xa8,
-	0xbc, 0x3a, 0xd6, 0xe9, 0x98, 0xb9, 0xe3, 0xb8, 0x2f, 0xe8, 0x06, 0x2a, 0x53, 0xb2, 0x2e, 0x11,
-	0x59, 0x18, 0xa0, 0x0a, 0x95, 0x93, 0x28, 0xa0, 0x4a, 0x47, 0x5d, 0xd9, 0xd0, 0x51, 0xad, 0x33,
-	0x82, 0xfb, 0x6b, 0x59, 0xc8, 0x6b, 0x7e, 0xea, 0x20, 0x6d, 0x24, 0x4b, 0xe1, 0x03, 0x92, 0xa5,
-	0xf3, 0x2b, 0x78, 0x68, 0x04, 0x96, 0x1b, 0x8e, 0x6d, 0xe7, 0xd2, 0x0e, 0xde, 0xad, 0xfd, 0x09,
-	0x40, 0x44, 0x71, 0xe9, 0x23, 0x7a, 0x83, 0xa9, 0x4e, 0x89, 0xb3, 0xc3, 0x58, 0x67, 0x38, 0x76,
-	0xee, 0xc7, 0xd0, 0x48, 0x2d, 0x8c, 0x6f, 0x42, 0x85, 0x5b, 0xc8, 0xe4, 0x9b, 0xa4, 0xcc, 0x0c,
-	0xc1, 0xdf, 0xc0, 0xdd, 0xd8, 0x70, 0x26, 0x39, 0x77, 0x22, 0xd3, 0xb7, 0x03, 0xc7, 0x9b, 0x38,
-	0x63, 0x27, 0x7a, 0xcb, 0x0e, 0x71, 0x8b, 0xb4, 0x19, 0xd6, 0x88, 0x01, 0xda, 0x8a, 0xdf, 0x91,
-	0xe0, 0x9e, 0xe8, 0xb9, 0x91, 0xe5, 0xb8, 0x29, 0xfb, 0x53, 0x96, 0x6f, 0x1e, 0xc8, 0x42, 0xce,
-	0x81, 0xec, 0xfc, 0xbd, 0x00, 0xb7, 0xb4, 0x70, 0x91, 0xa7, 0xe1, 0x0c, 0x76, 0xc3, 0x85, 0xef,
-	0x7b, 0x41, 0x64, 0x4f, 0xcc, 0x4b, 0x6f, 0x16, 0x59, 0xd3, 0xc4, 0x05, 0xff, 0xc3, 0xbd, 0x9b,
-	0x2b, 0xb7, 0xaf, 0x27, 0x42, 0xa7, 0x5c, 0x86, 0xa0, 0x30, 0x43, 0xe9, 0x68, 0x80, 0xb2, 0x28,
-	0xfc, 0x09, 0xdc, 0xd5, 0x47, 0x9a, 0xa6, 0x12, 0x43, 0xea, 0x99, 0xa7, 0xea, 0xc0, 0x10, 0x8e,
-	0xd7, 0x0f, 0x5f, 0x15, 0x8a, 0xa7, 0x4f, 0x9f, 0xf3, 0xfc, 0x3a, 0x3d, 0x7a, 0x72, 0x88, 0xb6,
-	0xd8, 0xe8, 0xf1, 0xe3, 0x67, 0xa8, 0xd8, 0xf9, 0x43, 0x19, 0x3e, 0xc9, 0x8b, 0x68, 0x98, 0xda,
-	0x90, 0x06, 0x8d, 0x0b, 0x2f, 0x98, 0x9b, 0x17, 0x16, 0x3d, 0xee, 0xf1, 0x56, 0x0e, 0xb2, 0xd1,
-	0xcc, 0x13, 0xdd, 0xef, 0x7b, 0xc1, 0xbc, 0xcf, 0xc4, 0x08, 0x5c, 0x2c, 0xc7, 0x99, 0xf4, 0xd8,
-	0xfa, 0xa0, 0xf4, 0xc0, 0x9f, 0x42, 0x73, 0x6e, 0x5d, 0xd1, 0xcb, 0x2b, 0xb2, 0xdc, 0x31, 0xbf,
-	0x35, 0x5b, 0xa4, 0x31, 0xb7, 0xae, 0x7a, 0x31, 0x09, 0x7f, 0x03, 0x38, 0x0d, 0x31, 0xf9, 0xf5,
-	0x5a, 0xca, 0xbf, 0x5e, 0x51, 0x4a, 0x92, 0x51, 0x68, 0x95, 0x0d, 0xae, 0xcc, 0x37, 0xd6, 0xa5,
-	0x3d, 0xb3, 0xdd, 0x69, 0xf4, 0xba, 0x5d, 0x7e, 0x50, 0x7c, 0xd4, 0x22, 0xcd, 0xe0, 0xea, 0xe5,
-	0x92, 0x46, 0x41, 0xd1, 0x1a, 0xa8, 0xc2, 0x41, 0x51, 0x1a, 0xf4, 0x7f, 0x80, 0x56, 0x88, 0xd8,
-	0x8c, 0x6a, 0xbe, 0x19, 0x3b, 0x2b, 0x20, 0xb7, 0xe2, 0x23, 0xa8, 0x45, 0x57, 0xa6, 0xef, 0xbd,
-	0xb1, 0x83, 0x76, 0xed, 0x41, 0xf1, 0x51, 0x99, 0x54, 0xa3, 0x2b, 0x8d, 0x4e, 0xf1, 0x33, 0xd8,
-	0x4e, 0x58, 0xb1, 0xd2, 0x7a, 0xbe, 0xd2, 0x66, 0x2c, 0xc1, 0x66, 0x9d, 0x9f, 0x0a, 0x00, 0xab,
-	0x48, 0xe0, 0xdb, 0x70, 0xbd, 0xaf, 0x92, 0xa1, 0xd9, 0x17, 0x58, 0xb5, 0x1e, 0x29, 0x2f, 0x14,
-	0xf5, 0xa5, 0xc2, 0xcb, 0xf4, 0x77, 0x7a, 0x5f, 0xe3, 0x15, 0x94, 0x8e, 0x4c, 0x6d, 0x30, 0xd2,
-	0xd1, 0x16, 0xad, 0x36, 0x74, 0x7a, 0xf4, 0x1c, 0x15, 0x69, 0x3a, 0x51, 0x4c, 0x89, 0x16, 0xaf,
-	0x25, 0xa4, 0x4c, 0xc9, 0xaf, 0xfa, 0x1a, 0xaf, 0x46, 0x62, 0x5f, 0x7b, 0xca, 0xab, 0x91, 0xd8,
-	0xd7, 0x8e, 0x50, 0x8d, 0x8d, 0x34, 0xe1, 0x05, 0xaa, 0xe3, 0x0a, 0x6c, 0xbd, 0x3a, 0x42, 0x40,
-	0x4b, 0x99, 0x4a, 0x2b, 0x1f, 0x6a, 0x50, 0x49, 0xb1, 0xaf, 0xa1, 0x26, 0x55, 0x48, 0xf1, 0xa6,
-	0x20, 0xaa, 0xa8, 0xb5, 0x9c, 0xf5, 0x44, 0x15, 0x6d, 0x77, 0xfe, 0x51, 0x85, 0xfa, 0x32, 0xc3,
-	0xe8, 0x83, 0xdb, 0xb5, 0xe6, 0x76, 0xf2, 0xe0, 0xa6, 0x63, 0xfc, 0x08, 0xca, 0xe3, 0x99, 0x15,
-	0x86, 0x6b, 0xcf, 0xae, 0xa5, 0x08, 0x4b, 0x26, 0x0e, 0xc0, 0x0f, 0xa0, 0x31, 0xb1, 0xc3, 0x71,
-	0xe0, 0xf8, 0xec, 0x9e, 0x2b, 0x32, 0x25, 0x69, 0x12, 0xbe, 0x05, 0x15, 0xdf, 0x0a, 0x6c, 0x37,
-	0x8a, 0x6f, 0xe3, 0x78, 0x86, 0x1f, 0xc2, 0x36, 0x1f, 0x99, 0x81, 0x3d, 0x33, 0x7d, 0x8f, 0x3f,
-	0xba, 0xca, 0xa4, 0xc9, 0xa9, 0xc4, 0x9e, 0x69, 0x5e, 0x88, 0xf7, 0xa0, 0x36, 0x7e, 0xed, 0xcc,
-	0x26, 0x81, 0xed, 0xb2, 0xe4, 0x68, 0x1c, 0x6d, 0xaf, 0x1b, 0x43, 0x96, 0x7c, 0x9a, 0xd4, 0xaf,
-	0xe3, 0x36, 0xc1, 0x0c, 0xec, 0x4b, 0x96, 0x24, 0x75, 0xd2, 0x48, 0x68, 0xc4, 0xbe, 0xa4, 0x90,
-	0x0b, 0x27, 0x98, 0x2f, 0x21, 0x35, 0x0e, 0x49, 0x68, 0x31, 0x24, 0xf4, 0x2e, 0xa2, 0x25, 0x84,
-	0xbf, 0xa8, 0x1a, 0x09, 0x8d, 0x42, 0xee, 0x03, 0x84, 0x76, 0xe0, 0x58, 0x33, 0xd3, 0x5d, 0xcc,
-	0xdb, 0xc0, 0x00, 0x75, 0x4e, 0x51, 0x16, 0x73, 0x9a, 0x74, 0xf3, 0x8b, 0xa9, 0xc9, 0xbc, 0xda,
-	0x60, 0xcc, 0xea, 0xfc, 0x62, 0xaa, 0x50, 0xc7, 0xde, 0x07, 0x98, 0x7b, 0x13, 0x7b, 0xc6, 0x99,
-	0x4d, 0x2e, 0xc9, 0x28, 0x8c, 0x7d, 0x03, 0xca, 0xd6, 0xcc, 0xb1, 0xc2, 0x76, 0x8b, 0x71, 0xf8,
-	0x84, 0xea, 0xb3, 0xc2, 0xd0, 0x8e, 0x68, 0xf9, 0xde, 0xe6, 0xfa, 0xd8, 0x5c, 0x9e, 0xd0, 0xba,
-	0xee, 0x84, 0xe6, 0x45, 0xb0, 0x68, 0xef, 0xb0, 0x17, 0x46, 0xd9, 0x09, 0xfb, 0xc1, 0x02, 0x3f,
-	0xe3, 0x16, 0xd0, 0x27, 0x62, 0x1b, 0xfd, 0xec, 0xbb, 0x93, 0x5a, 0xd7, 0xa3, 0x2f, 0xc9, 0x3b,
-	0xbc, 0x67, 0xda, 0x65, 0x12, 0x35, 0xde, 0x58, 0x05, 0x0e, 0xeb, 0x9e, 0x96, 0x5d, 0x17, 0xce,
-	0xed, 0xba, 0xf0, 0x17, 0x50, 0xe6, 0xed, 0xc0, 0x75, 0xc6, 0xbf, 0xbe, 0xd1, 0x0e, 0x44, 0xf4,
-	0x0d, 0x9e, 0x34, 0x1f, 0x21, 0x7b, 0x52, 0x53, 0xfb, 0xac, 0xf6, 0x0d, 0x16, 0xd5, 0x4c, 0xf3,
-	0xb1, 0xea, 0x0b, 0x08, 0x84, 0xab, 0x1e, 0xe1, 0x6b, 0xa8, 0xd3, 0x82, 0x6d, 0x5a, 0x51, 0x14,
-	0xb4, 0x8f, 0xd8, 0x4a, 0xf7, 0xde, 0xf7, 0x4a, 0x3c, 0xb9, 0x46, 0x6a, 0x54, 0x80, 0x52, 0xf0,
-	0xb7, 0xec, 0xb9, 0xcb, 0x6f, 0x2b, 0xae, 0xe1, 0x09, 0xd3, 0xf0, 0x69, 0xbc, 0xf4, 0xbb, 0x2f,
-	0xb2, 0x93, 0x6b, 0xec, 0x9d, 0xcb, 0xf9, 0x4c, 0xd7, 0x73, 0xa8, 0xf9, 0xe1, 0x82, 0x6b, 0x79,
-	0xca, 0xb4, 0xdc, 0x7d, 0xcf, 0x75, 0x74, 0x72, 0x8d, 0x54, 0xfd, 0x70, 0xc1, 0x24, 0xbf, 0x03,
-	0x14, 0xad, 0xea, 0x32, 0xd7, 0xf0, 0x8c, 0x69, 0x78, 0xf8, 0x21, 0xb7, 0xc0, 0xc9, 0x35, 0xb2,
-	0x93, 0x92, 0xa7, 0x8c, 0x2e, 0x40, 0x2d, 0xf4, 0xed, 0xb1, 0x73, 0xe1, 0x8c, 0x3b, 0x3f, 0x16,
-	0xa0, 0x96, 0xf4, 0xca, 0xf8, 0x6b, 0x68, 0xa4, 0x1a, 0xdb, 0x0f, 0xe8, 0x6b, 0x61, 0xb6, 0x6c,
-	0x69, 0x71, 0x07, 0x4a, 0x81, 0xe7, 0x45, 0xac, 0x04, 0x6c, 0x9e, 0x3a, 0xc6, 0x5b, 0x2e, 0x70,
-	0xee, 0x79, 0x91, 0x3d, 0x61, 0xa7, 0xff, 0x03, 0x16, 0xe8, 0x32, 0x74, 0xe7, 0xa7, 0x22, 0x5c,
-	0x1f, 0x7a, 0x13, 0xe7, 0xc2, 0xb1, 0xce, 0x67, 0xf6, 0x7f, 0xaa, 0x20, 0x7d, 0xbe, 0x2c, 0x37,
-	0xc5, 0x5c, 0xc3, 0xdf, 0x5d, 0x7e, 0x4a, 0x39, 0xe5, 0x67, 0x79, 0x20, 0xcb, 0xef, 0x3a, 0x90,
-	0x95, 0xf5, 0x03, 0x19, 0x1f, 0xa1, 0x6a, 0xde, 0x11, 0xca, 0xfc, 0x11, 0xd4, 0x7e, 0xc1, 0x1f,
-	0x81, 0xb0, 0x99, 0xf8, 0x39, 0xbd, 0x55, 0xf6, 0xe9, 0xb8, 0x96, 0xfe, 0x7d, 0xa8, 0x45, 0xc1,
-	0x55, 0x3a, 0xf1, 0xbf, 0x78, 0x67, 0xc2, 0xe5, 0x28, 0xaa, 0x46, 0xc1, 0x55, 0x36, 0xdb, 0xf6,
-	0xfe, 0x52, 0xa4, 0xbd, 0x4b, 0x2a, 0x0a, 0xbc, 0x77, 0x19, 0x6a, 0xaa, 0x22, 0x29, 0xc6, 0x66,
-	0xef, 0x72, 0x07, 0x6e, 0x6d, 0x70, 0xf9, 0x85, 0x59, 0xc8, 0xe1, 0x89, 0x27, 0x82, 0xae, 0xcb,
-	0xf4, 0xce, 0xdc, 0xd4, 0xda, 0x15, 0xc4, 0x17, 0xda, 0x40, 0x50, 0x24, 0x54, 0xcc, 0xe1, 0x8a,
-	0xaa, 0x62, 0x08, 0xb2, 0x22, 0x11, 0x54, 0xa2, 0x6f, 0xba, 0x0c, 0x57, 0x53, 0x5f, 0xd2, 0x36,
-	0x69, 0xa4, 0x69, 0x83, 0x33, 0x54, 0xa6, 0x0d, 0x45, 0x06, 0xd0, 0x17, 0x14, 0x54, 0xc1, 0x1f,
-	0xc1, 0xcd, 0x0c, 0x5d, 0x97, 0x14, 0x5d, 0x25, 0xa8, 0x9a, 0xc3, 0x1a, 0xaa, 0xbd, 0xd1, 0x40,
-	0x42, 0x35, 0xfa, 0x20, 0xd8, 0x58, 0x8e, 0x18, 0xa8, 0x9e, 0xb3, 0x8c, 0xa8, 0x8d, 0x10, 0xe4,
-	0xec, 0xbb, 0x2b, 0x18, 0x86, 0x44, 0xce, 0x50, 0x23, 0x87, 0xa7, 0x1b, 0x2a, 0x11, 0x8e, 0x25,
-	0xd4, 0xcc, 0xb3, 0x41, 0x1a, 0xaa, 0xe4, 0x0c, 0xb5, 0xf0, 0xc7, 0x70, 0x27, 0xc3, 0x32, 0x88,
-	0xa0, 0xe8, 0xa2, 0x24, 0x9f, 0x4a, 0x04, 0x6d, 0xef, 0xfd, 0xb9, 0x90, 0xfa, 0x82, 0x59, 0x65,
-	0x5c, 0x22, 0x67, 0x0a, 0xbd, 0xa1, 0xac, 0x98, 0xba, 0x21, 0x18, 0xeb, 0xe1, 0x8b, 0x1d, 0x9d,
-	0xe1, 0x27, 0x01, 0xbc, 0x0b, 0xb7, 0x37, 0xb8, 0x03, 0x55, 0x7c, 0x21, 0xf5, 0xd0, 0x16, 0xee,
-	0xc0, 0xc7, 0x1b, 0x4c, 0xfd, 0x64, 0x64, 0x18, 0xb2, 0x72, 0x6c, 0xf6, 0xa8, 0x82, 0x22, 0xbe,
-	0x0f, 0x1f, 0xe5, 0xa8, 0x8f, 0x55, 0x94, 0xf6, 0x7e, 0x2c, 0x00, 0xde, 0xfc, 0x11, 0x5b, 0x4a,
-	0xa9, 0x1a, 0x0d, 0xea, 0x86, 0xcd, 0x89, 0x55, 0x6b, 0xec, 0xc4, 0xe4, 0x64, 0x43, 0x29, 0x66,
-	0x4f, 0xd6, 0x85, 0xee, 0x80, 0xd9, 0x9c, 0x23, 0x2a, 0x29, 0x9c, 0x59, 0xcc, 0x63, 0x1a, 0x92,
-	0x4e, 0xb7, 0x83, 0x4a, 0x7b, 0x7f, 0x4c, 0x3b, 0x78, 0xf5, 0x07, 0xb7, 0x74, 0xf0, 0x48, 0xa7,
-	0x8d, 0xc5, 0xbb, 0x1d, 0xbc, 0xce, 0x4f, 0xac, 0x8d, 0x23, 0xbe, 0xc6, 0x95, 0x7b, 0x03, 0x29,
-	0x65, 0x6a, 0x9a, 0x25, 0x88, 0x86, 0x7c, 0x4a, 0xcf, 0x47, 0x9e, 0x5c, 0x77, 0xa4, 0x9f, 0xa1,
-	0xd2, 0xde, 0xef, 0xd2, 0x9f, 0x71, 0xab, 0x1f, 0xbf, 0x55, 0x26, 0x0c, 0x04, 0x32, 0x7c, 0x5f,
-	0x26, 0xac, 0xf1, 0x13, 0x43, 0x3f, 0x85, 0xfb, 0xb9, 0xd2, 0xc4, 0x24, 0x92, 0x26, 0xc8, 0x04,
-	0x6d, 0xad, 0x62, 0x9d, 0x82, 0x88, 0x44, 0x36, 0x64, 0x51, 0x18, 0xa0, 0x62, 0x92, 0xf8, 0x6b,
-	0xec, 0xa1, 0xf0, 0xad, 0x4a, 0x0f, 0x74, 0x2e, 0x4f, 0x56, 0x54, 0x82, 0xca, 0xb9, 0x76, 0xbd,
-	0x14, 0x88, 0x42, 0xc3, 0x52, 0x59, 0x25, 0x61, 0x8a, 0x2b, 0x2b, 0x3d, 0xc9, 0x90, 0xc8, 0x50,
-	0x56, 0x04, 0x43, 0x42, 0xd5, 0xbd, 0xbf, 0x16, 0xe0, 0x66, 0xee, 0x37, 0x26, 0x7e, 0x00, 0xf7,
-	0x98, 0xb4, 0x6e, 0x08, 0x4a, 0xaf, 0x7b, 0x96, 0xe3, 0x95, 0xc4, 0x6b, 0x59, 0x44, 0xa6, 0xc4,
-	0x65, 0xf8, 0x27, 0xaa, 0x91, 0x8a, 0xe0, 0x3a, 0x4f, 0x54, 0x07, 0x34, 0xd9, 0x1e, 0xc1, 0xc3,
-	0x1c, 0xa6, 0x46, 0xd4, 0x53, 0xb9, 0x47, 0x0f, 0x90, 0x2e, 0x91, 0x53, 0x59, 0x94, 0x50, 0x69,
-	0xef, 0xf7, 0x45, 0x68, 0xad, 0xfd, 0x8f, 0xe2, 0x36, 0xdc, 0x38, 0x15, 0x06, 0x23, 0x69, 0xb3,
-	0x1a, 0xdf, 0x00, 0x94, 0xe2, 0xf0, 0x16, 0xa2, 0x40, 0xeb, 0xd4, 0x1a, 0x9e, 0x1b, 0xbf, 0x45,
-	0x0b, 0x5b, 0x8a, 0x4e, 0x9b, 0x63, 0xdd, 0x14, 0x44, 0x54, 0xcc, 0x65, 0xf4, 0x44, 0x54, 0xca,
-	0x68, 0x12, 0x86, 0x9a, 0x44, 0x24, 0xda, 0xde, 0xac, 0xaf, 0xfb, 0x52, 0x30, 0x0c, 0x1d, 0x55,
-	0x32, 0xd4, 0x13, 0x89, 0x18, 0xdf, 0xa3, 0x6a, 0x46, 0x87, 0x28, 0x0d, 0x74, 0x79, 0xa4, 0xa3,
-	0x1a, 0xcd, 0xe9, 0x14, 0x5d, 0x93, 0x88, 0x48, 0x6b, 0x1d, 0x39, 0x41, 0x75, 0x8c, 0x61, 0x3b,
-	0xc5, 0x22, 0xda, 0x10, 0x41, 0x86, 0x26, 0x0e, 0x87, 0xbc, 0xb8, 0xa6, 0x68, 0x06, 0x19, 0x19,
-	0x27, 0x26, 0x23, 0xa0, 0x66, 0x66, 0xd9, 0x58, 0x3d, 0x6a, 0xe1, 0x9b, 0xb0, 0x9b, 0xa2, 0x0f,
-	0x69, 0xe6, 0xe8, 0x68, 0x3b, 0x63, 0x7b, 0xf7, 0xcc, 0x90, 0x74, 0xb4, 0x93, 0x59, 0xb4, 0xd7,
-	0x1d, 0x22, 0xb4, 0xf7, 0x43, 0x11, 0x60, 0xd5, 0x5b, 0xae, 0xb6, 0xa1, 0x8b, 0xc2, 0x60, 0x3d,
-	0x3a, 0xcb, 0xa5, 0x38, 0xeb, 0x4c, 0x15, 0x0d, 0x15, 0x15, 0xb2, 0xe4, 0xef, 0x25, 0xcd, 0x50,
-	0xd1, 0xd6, 0xca, 0x02, 0x4e, 0x16, 0x0c, 0x43, 0x45, 0xc5, 0x2c, 0xb8, 0x2f, 0x0d, 0x0d, 0x15,
-	0x95, 0xb2, 0x60, 0x4d, 0x16, 0xd5, 0x74, 0x58, 0x38, 0x55, 0x11, 0x14, 0x15, 0x55, 0xb2, 0x2a,
-	0x86, 0xb2, 0x48, 0x54, 0x54, 0xdd, 0x24, 0x0f, 0x06, 0x32, 0xaa, 0x65, 0xc9, 0x23, 0x45, 0x36,
-	0x74, 0x54, 0xcf, 0xaa, 0x7e, 0x21, 0x0f, 0x54, 0x04, 0x59, 0xea, 0x50, 0x3a, 0x16, 0x50, 0x23,
-	0x4b, 0x3d, 0x96, 0x8f, 0x05, 0xd4, 0xcc, 0x52, 0x0d, 0x89, 0x08, 0xa8, 0xb5, 0xb1, 0x11, 0xc9,
-	0x10, 0xd0, 0x36, 0xbe, 0x0e, 0x3b, 0x69, 0xaa, 0xf4, 0x4a, 0x40, 0x3b, 0x9b, 0x7e, 0x33, 0x0c,
-	0x01, 0xa1, 0x4d, 0x2f, 0x53, 0xf2, 0xee, 0xde, 0x6f, 0x0a, 0xd0, 0x4c, 0xff, 0xfb, 0xd3, 0xe3,
-	0xc9, 0x6f, 0x7f, 0x76, 0xf6, 0x46, 0x7a, 0xf6, 0x20, 0xad, 0x33, 0xd5, 0x17, 0xa8, 0x40, 0x4b,
-	0x5c, 0x56, 0x44, 0x38, 0x15, 0xe4, 0x01, 0xbd, 0x41, 0xd0, 0x16, 0x2d, 0x27, 0xeb, 0x6c, 0x45,
-	0x55, 0xe8, 0x65, 0x22, 0x18, 0xb2, 0xaa, 0xd0, 0x22, 0xb8, 0xf7, 0x43, 0x01, 0x76, 0x32, 0x7f,
-	0x38, 0x34, 0xa7, 0x36, 0xce, 0xf1, 0x2f, 0xfc, 0xf9, 0x64, 0x1f, 0x08, 0xaa, 0x82, 0xca, 0xb8,
-	0x01, 0x55, 0xe5, 0xd8, 0xd4, 0x54, 0xe5, 0x68, 0xed, 0xe7, 0xf3, 0x26, 0xec, 0x8a, 0xea, 0xb0,
-	0xab, 0x9a, 0x54, 0xd8, 0x8c, 0xe5, 0x6a, 0xf8, 0x16, 0xec, 0xb2, 0xa5, 0x15, 0xd5, 0x30, 0x69,
-	0xcd, 0x14, 0x0d, 0xa9, 0x87, 0xfe, 0x55, 0xe8, 0x7e, 0xfd, 0xfd, 0x57, 0x53, 0x27, 0x7a, 0xbd,
-	0x38, 0xdf, 0x1f, 0x7b, 0xf3, 0x03, 0xcf, 0xb7, 0xdd, 0xb1, 0x17, 0x4c, 0x0e, 0x26, 0xf6, 0xa5,
-	0x33, 0xb6, 0xbf, 0x9c, 0x5b, 0xae, 0x35, 0xb5, 0xe7, 0xb6, 0x1b, 0x7d, 0xe9, 0xb8, 0x91, 0x1d,
-	0x5c, 0x58, 0x63, 0xfb, 0xe0, 0xf2, 0xc9, 0xc1, 0xd4, 0x3b, 0x98, 0xcc, 0x9d, 0xf3, 0x0a, 0x6b,
-	0x12, 0x9e, 0xfc, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xd9, 0xff, 0x19, 0x03, 0x33, 0x1c, 0x00, 0x00,
+	// 2916 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0xcd, 0x92, 0xdb, 0xc6,
+	0x11, 0x16, 0xff, 0xc9, 0x26, 0xb9, 0x3b, 0x3b, 0xfa, 0xa3, 0xfe, 0x6c, 0x99, 0x91, 0x5d, 0xf2,
+	0xc6, 0xde, 0x5d, 0xad, 0xa4, 0x94, 0x6c, 0x97, 0x2b, 0x85, 0x05, 0xc1, 0x5d, 0x58, 0x24, 0x00,
+	0x0f, 0xc0, 0x95, 0xd6, 0x39, 0xa0, 0xb0, 0x24, 0x48, 0xa1, 0x8a, 0x24, 0x58, 0x00, 0xb8, 0x5a,
+	0x55, 0xe5, 0x94, 0xe4, 0x9e, 0x27, 0xc8, 0xcd, 0x49, 0xf9, 0x94, 0x4b, 0x72, 0xcc, 0xc1, 0x97,
+	0x3c, 0x44, 0x9e, 0x21, 0x87, 0x3c, 0x42, 0x52, 0x33, 0x03, 0x80, 0x20, 0x08, 0xc9, 0x72, 0x55,
+	0x6e, 0x33, 0xdd, 0x5f, 0xf7, 0xf4, 0x74, 0xf7, 0xf4, 0x4c, 0x03, 0xd0, 0x18, 0xcd, 0x9c, 0xfd,
+	0x57, 0xaf, 0xf7, 0x16, 0x9e, 0x1b, 0xb8, 0xb8, 0x30, 0x9a, 0x39, 0xb7, 0x3f, 0x9c, 0xb8, 0xee,
+	0x64, 0x6a, 0xef, 0x33, 0xd2, 0xf9, 0x72, 0xbc, 0x1f, 0x38, 0x33, 0xdb, 0x0f, 0xac, 0xd9, 0x82,
+	0xa3, 0xda, 0xb7, 0xa1, 0x38, 0x58, 0x3a, 0x23, 0x8c, 0xa1, 0xb8, 0x5c, 0x3a, 0xa3, 0x56, 0xee,
+	0x7e, 0xee, 0x61, 0x8d, 0xb0, 0x71, 0xfb, 0x97, 0x00, 0x27, 0x96, 0x37, 0x7a, 0x6d, 0x79, 0xb6,
+	0xdc, 0xc1, 0xf7, 0x12, 0x88, 0xfa, 0x61, 0x6d, 0x6f, 0x34, 0x73, 0xf6, 0xa8, 0x68, 0x08, 0xbe,
+	0x09, 0x85, 0x81, 0xe7, 0x60, 0x04, 0x85, 0xa5, 0xe7, 0x84, 0x6a, 0xe8, 0xb0, 0xfd, 0x87, 0x02,
+	0x6c, 0x89, 0xee, 0x6c, 0xe1, 0xce, 0xed, 0x79, 0xa0, 0x07, 0x56, 0x60, 0xe3, 0x13, 0xc0, 0x3e,
+	0x1d, 0x98, 0x53, 0xcb, 0x0f, 0xcc, 0xe1, 0x2b, 0x6b, 0x3e, 0xb1, 0x23, 0xc5, 0xb7, 0xf7, 0xb8,
+	0xc9, 0x7b, 0x91, 0xc9, 0x7b, 0x46, 0x64, 0x32, 0x41, 0x4c, 0xaa, 0x67, 0xf9, 0x81, 0xc8, 0x65,
+	0xf0, 0x17, 0x50, 0xb7, 0x46, 0x33, 0x67, 0x6e, 0x32, 0x4e, 0x2b, 0x7f, 0x3f, 0xf7, 0x70, 0xeb,
+	0xb0, 0xc5, 0x6c, 0x8b, 0xd7, 0x14, 0x28, 0x80, 0x2d, 0x4c, 0xc0, 0x8a, 0xc7, 0xf8, 0x57, 0x00,
+	0xee, 0xc2, 0xf6, 0x42, 0xc9, 0x02, 0x93, 0xbc, 0xb9, 0x2e, 0xa9, 0x2e, 0x6c, 0x8f, 0x0b, 0xd6,
+	0xdc, 0x68, 0x48, 0x97, 0x5c, 0xfa, 0xd6, 0xc4, 0x0e, 0x05, 0x8b, 0x59, 0x4b, 0x0e, 0x28, 0x20,
+	0x5c, 0x72, 0x19, 0x8f, 0x99, 0xb5, 0x53, 0xcb, 0x9b, 0x85, 0xa2, 0xa5, 0x4c, 0x6b, 0x29, 0x20,
+	0xb2, 0x36, 0x1e, 0xe3, 0x5f, 0x43, 0xd3, 0x0f, 0xac, 0xf9, 0xe8, 0xfc, 0x4d, 0x28, 0x5c, 0x66,
+	0xc2, 0xb7, 0xd7, 0x85, 0x75, 0x0e, 0xe1, 0xe2, 0x0d, 0x3f, 0x31, 0x6b, 0xff, 0x3b, 0x0f, 0x57,
+	0x57, 0x38, 0x7b, 0xee, 0xbb, 0x5e, 0xc7, 0x0a, 0x2c, 0x7c, 0x0d, 0x4a, 0x17, 0xd6, 0x74, 0x69,
+	0x33, 0xf7, 0x97, 0x08, 0x9f, 0xe0, 0x4f, 0xa0, 0x18, 0xbc, 0x59, 0x44, 0x0e, 0xc5, 0x6c, 0x15,
+	0x0a, 0x3f, 0xa5, 0x5c, 0xe3, 0xcd, 0xc2, 0x26, 0x8c, 0x8f, 0x3f, 0x86, 0x92, 0x3f, 0xb4, 0xa6,
+	0x91, 0xff, 0xb6, 0x19, 0x90, 0x81, 0x74, 0x4a, 0x26, 0x9c, 0x8b, 0xef, 0x42, 0x6d, 0xe1, 0xd9,
+	0x43, 0xc7, 0x77, 0xdc, 0x39, 0xf3, 0x58, 0x89, 0xac, 0x08, 0xf8, 0x53, 0x28, 0xd3, 0x3d, 0x2d,
+	0xfd, 0xd0, 0x23, 0x3b, 0x4c, 0x0b, 0xb7, 0x51, 0x67, 0x0c, 0x12, 0x02, 0xf0, 0x2f, 0xa0, 0xb9,
+	0x9c, 0x3b, 0x81, 0x6f, 0x8e, 0x1c, 0x7f, 0x31, 0xb5, 0xde, 0x30, 0x37, 0xd4, 0x48, 0x83, 0x11,
+	0x3b, 0x9c, 0x86, 0x9f, 0x41, 0x2d, 0x4e, 0xf3, 0x56, 0xe5, 0x27, 0xb3, 0x6a, 0x05, 0xc6, 0xbb,
+	0xb0, 0xc3, 0xf6, 0x6f, 0x2e, 0x17, 0x23, 0x9a, 0x9f, 0x1e, 0xf5, 0x74, 0xf5, 0x7e, 0xee, 0x61,
+	0x93, 0x6c, 0x33, 0xc6, 0x80, 0xd1, 0x09, 0x8d, 0xc8, 0x1d, 0xa8, 0x8d, 0xac, 0xc0, 0x32, 0x99,
+	0x9f, 0x6a, 0xcc, 0x8c, 0x2a, 0x25, 0x50, 0xef, 0xb4, 0xff, 0x53, 0x86, 0x9b, 0x9a, 0xeb, 0x05,
+	0xab, 0xb0, 0x06, 0x81, 0xe7, 0x9c, 0x2f, 0x03, 0xdb, 0xc7, 0xdf, 0xc2, 0xd6, 0xd0, 0x9d, 0xcf,
+	0xed, 0x61, 0xe0, 0x7a, 0x5c, 0x3a, 0xc7, 0xb6, 0xbd, 0xcb, 0xb6, 0xfd, 0x16, 0xa9, 0x3d, 0x31,
+	0x12, 0x61, 0xde, 0x6f, 0x0e, 0x93, 0x53, 0xfc, 0x0c, 0x4a, 0xfe, 0xc2, 0xb6, 0x47, 0x61, 0xbc,
+	0xda, 0xef, 0xd4, 0xa4, 0x53, 0x24, 0xe1, 0x02, 0x58, 0x80, 0x2a, 0x73, 0xc9, 0xd0, 0x9d, 0x86,
+	0x31, 0xfc, 0xf8, 0x9d, 0xc2, 0x5a, 0x08, 0x26, 0xb1, 0x18, 0xfe, 0x18, 0xb6, 0x16, 0xaf, 0xde,
+	0xf8, 0xce, 0xd0, 0x9a, 0x9a, 0x53, 0xeb, 0xdc, 0x9e, 0xb2, 0x08, 0xd7, 0x48, 0x33, 0xa2, 0xf6,
+	0x28, 0x91, 0x86, 0x6e, 0x66, 0x2d, 0x16, 0xce, 0x7c, 0x12, 0xa2, 0x4a, 0x3c, 0x74, 0x21, 0x91,
+	0x83, 0x9e, 0x40, 0x73, 0xe1, 0xce, 0x4d, 0x67, 0x64, 0x0e, 0xdd, 0xf9, 0xd8, 0x99, 0xb0, 0xf8,
+	0xd6, 0x0f, 0x51, 0x68, 0xd3, 0x5c, 0x1e, 0x89, 0x8c, 0x4e, 0xea, 0x8b, 0xd5, 0x04, 0x3f, 0x86,
+	0xeb, 0x6c, 0x37, 0xa6, 0xb5, 0x0c, 0xdc, 0xb9, 0x3d, 0x71, 0x03, 0xc7, 0x0a, 0x68, 0xaa, 0xd1,
+	0xe0, 0x57, 0xc9, 0x35, 0xc6, 0x14, 0xd6, 0x79, 0xf8, 0x33, 0xa8, 0x8e, 0x1c, 0x7a, 0x44, 0x86,
+	0x3c, 0xc4, 0x89, 0x55, 0x3a, 0x21, 0x9d, 0xc4, 0x88, 0xf6, 0x02, 0x9a, 0x6b, 0x11, 0xc0, 0x77,
+	0xa1, 0x25, 0xaa, 0x8a, 0x22, 0x89, 0x86, 0x4a, 0x4c, 0xe3, 0x4c, 0x93, 0xcc, 0x81, 0xd2, 0x91,
+	0xba, 0xb2, 0x22, 0x75, 0xd0, 0x15, 0x5c, 0x85, 0x22, 0xf9, 0xe6, 0xc9, 0x53, 0x94, 0xc3, 0x0d,
+	0xa8, 0x76, 0xe5, 0x23, 0x89, 0x98, 0x3d, 0x11, 0xe5, 0xf1, 0x36, 0xd4, 0xf9, 0x4c, 0x17, 0x4d,
+	0x4d, 0x44, 0x05, 0xdc, 0x84, 0x1a, 0x27, 0xf4, 0x35, 0x15, 0x15, 0x71, 0x0d, 0x4a, 0x44, 0x3f,
+	0x7c, 0x7c, 0x88, 0x4a, 0xed, 0xbf, 0xe6, 0xa0, 0xc4, 0x42, 0x85, 0xaf, 0xc2, 0xb6, 0xae, 0x49,
+	0x52, 0x67, 0x6d, 0x85, 0x3a, 0x54, 0x3a, 0x67, 0x8a, 0xd0, 0x97, 0x45, 0x94, 0xa3, 0x5a, 0x8e,
+	0xe5, 0x63, 0xe1, 0x48, 0x36, 0xcc, 0x47, 0x28, 0x8f, 0xb7, 0x00, 0xe2, 0xe9, 0x01, 0x2a, 0x24,
+	0xe7, 0x87, 0x4f, 0x51, 0x31, 0x39, 0x7f, 0x72, 0x80, 0x4a, 0xd4, 0xaa, 0x15, 0xfe, 0x00, 0x95,
+	0x93, 0x84, 0x27, 0x07, 0x07, 0xa8, 0x82, 0x11, 0x34, 0xfa, 0x52, 0xa4, 0xe1, 0xe0, 0x00, 0x55,
+	0x93, 0x94, 0x47, 0x87, 0x4f, 0x0f, 0x50, 0xad, 0xfd, 0x5b, 0xa8, 0x46, 0xd9, 0x81, 0x6f, 0x00,
+	0xd6, 0x88, 0x6a, 0xa8, 0xa2, 0xda, 0x5b, 0xb3, 0xba, 0x01, 0x55, 0xc9, 0x38, 0x91, 0x88, 0x22,
+	0x19, 0x28, 0x47, 0xbd, 0x74, 0xac, 0xa9, 0x0a, 0xca, 0xd3, 0x7d, 0xbf, 0x64, 0xc3, 0x02, 0x06,
+	0x28, 0xbf, 0x3c, 0xd6, 0xe9, 0x98, 0xb9, 0xe3, 0xb8, 0x2b, 0xe8, 0x06, 0x2a, 0x51, 0xb2, 0x2e,
+	0x11, 0x59, 0xe8, 0xa1, 0x32, 0x95, 0x93, 0x28, 0xa0, 0x42, 0x47, 0x47, 0xb2, 0xa1, 0xa3, 0x6a,
+	0x7b, 0x0a, 0xf5, 0x44, 0xe4, 0xf0, 0x47, 0xd0, 0x98, 0x59, 0x97, 0x66, 0x1c, 0xe1, 0x1c, 0x3b,
+	0xc4, 0xf5, 0x99, 0x75, 0x19, 0x43, 0xbe, 0x84, 0x5b, 0x1c, 0x32, 0x1e, 0xdb, 0x9e, 0x3d, 0x0f,
+	0x1c, 0x6b, 0xba, 0xc2, 0xe7, 0x19, 0xfe, 0x26, 0xc3, 0xaf, 0xf8, 0x91, 0x6c, 0xfb, 0xf7, 0x39,
+	0xb8, 0xb7, 0x76, 0x44, 0xf8, 0x85, 0x94, 0x38, 0xe5, 0x1b, 0x99, 0x9c, 0x7b, 0x9f, 0x4c, 0x4e,
+	0x26, 0x65, 0xfe, 0x27, 0x93, 0xf2, 0x37, 0xf0, 0xc0, 0xf0, 0xac, 0xb9, 0x3f, 0xb4, 0x9d, 0x0b,
+	0xdb, 0x7b, 0xbb, 0x2d, 0x8f, 0x01, 0x02, 0x8a, 0x4b, 0x56, 0x9b, 0x6b, 0x4c, 0x6f, 0x42, 0x9c,
+	0xd5, 0x95, 0x1a, 0xc3, 0xb1, 0x12, 0x36, 0x64, 0x0e, 0x8d, 0x2d, 0xbb, 0x0e, 0x65, 0xbe, 0x1f,
+	0x26, 0xdf, 0x20, 0x25, 0x66, 0x36, 0xfe, 0x1a, 0xee, 0x84, 0xdb, 0x64, 0x92, 0x33, 0x27, 0x30,
+	0x17, 0xb6, 0xe7, 0xb8, 0x23, 0x67, 0xe8, 0x04, 0x6f, 0x42, 0x37, 0xb6, 0x18, 0xd6, 0x08, 0x01,
+	0xda, 0x8a, 0xdf, 0x96, 0xe0, 0xae, 0xe8, 0xce, 0x03, 0xcb, 0x99, 0x27, 0xec, 0x4f, 0x58, 0xbe,
+	0x59, 0x5b, 0x72, 0x19, 0xb5, 0xa5, 0xfd, 0xcf, 0x1c, 0xdc, 0xd0, 0xfc, 0x65, 0x96, 0x86, 0x33,
+	0xd8, 0xf1, 0x97, 0x8b, 0x85, 0xeb, 0x05, 0xf6, 0xc8, 0xbc, 0x70, 0xa7, 0x81, 0x35, 0x89, 0x5c,
+	0xf0, 0x19, 0x77, 0x6d, 0xa6, 0xdc, 0x9e, 0x1e, 0x09, 0x9d, 0x72, 0x19, 0x82, 0xfc, 0x14, 0xa5,
+	0xad, 0x01, 0x4a, 0xa3, 0xf0, 0x87, 0x70, 0x47, 0x1f, 0x68, 0x9a, 0x4a, 0x0c, 0xa9, 0x63, 0x9e,
+	0xaa, 0x3d, 0x43, 0x38, 0x5e, 0xaf, 0x0c, 0x15, 0x28, 0x9c, 0x3e, 0x79, 0xc6, 0x93, 0xff, 0xf4,
+	0xf0, 0xf1, 0x01, 0xca, 0xb3, 0xd1, 0xa3, 0x47, 0x4f, 0x51, 0xa1, 0xfd, 0xe7, 0x12, 0x7c, 0x98,
+	0x15, 0x51, 0x3f, 0xb1, 0x21, 0x0d, 0xea, 0x63, 0xd7, 0x9b, 0x99, 0x63, 0x8b, 0xd6, 0xa2, 0x70,
+	0x2b, 0xfb, 0xe9, 0x68, 0x66, 0x89, 0xee, 0x75, 0x5d, 0x6f, 0xd6, 0x65, 0x62, 0x04, 0xc6, 0xf1,
+	0x38, 0x95, 0x1e, 0xf9, 0xf7, 0x4a, 0x8f, 0x8d, 0x03, 0x56, 0xd8, 0x3c, 0x60, 0x5f, 0x03, 0x4e,
+	0x42, 0x4c, 0xfe, 0x52, 0x28, 0x66, 0xbf, 0x14, 0x50, 0x42, 0x92, 0x51, 0xe8, 0x85, 0xe1, 0x5d,
+	0x9a, 0xaf, 0xad, 0x0b, 0x7b, 0x6a, 0xcf, 0x27, 0xc1, 0xab, 0x56, 0xe9, 0x7e, 0xe1, 0x61, 0x93,
+	0x34, 0xbc, 0xcb, 0x17, 0x31, 0x8d, 0x82, 0x82, 0x35, 0x50, 0x99, 0x83, 0x82, 0x24, 0xe8, 0x4b,
+	0x40, 0x2b, 0x44, 0x68, 0x46, 0x25, 0xdb, 0x8c, 0xed, 0x15, 0x90, 0x5b, 0x71, 0x0b, 0xaa, 0xc1,
+	0xa5, 0xb9, 0x70, 0x5f, 0xdb, 0x5e, 0xab, 0x7a, 0xbf, 0xf0, 0xb0, 0x44, 0x2a, 0xc1, 0xa5, 0x46,
+	0xa7, 0xf8, 0x29, 0x6c, 0x45, 0xac, 0x50, 0x69, 0x2d, 0x5b, 0x69, 0x23, 0x94, 0x60, 0xb3, 0xf6,
+	0x8f, 0x39, 0x80, 0x55, 0x24, 0xf0, 0x4d, 0xb8, 0xda, 0x55, 0x49, 0xdf, 0xec, 0x0a, 0xec, 0x2a,
+	0x19, 0x28, 0xcf, 0x15, 0xf5, 0x85, 0xc2, 0xef, 0x90, 0x6f, 0xf5, 0xae, 0xc6, 0xcb, 0x3b, 0x1d,
+	0x99, 0x5a, 0x6f, 0xa0, 0xa3, 0x3c, 0x2d, 0x85, 0x74, 0x7a, 0xf8, 0x0c, 0x15, 0x68, 0x3a, 0x51,
+	0x4c, 0x91, 0x56, 0xd6, 0x18, 0x52, 0xa2, 0xe4, 0x97, 0x5d, 0x8d, 0x97, 0x4a, 0xb1, 0xab, 0x3d,
+	0xe1, 0xa5, 0x52, 0xec, 0x6a, 0x87, 0xa8, 0xca, 0x46, 0x9a, 0xf0, 0x1c, 0xd5, 0x70, 0x19, 0xf2,
+	0x2f, 0x0f, 0x11, 0xd0, 0x3a, 0xab, 0xd2, 0xb2, 0x8c, 0xea, 0x54, 0x52, 0xec, 0x6a, 0xa8, 0x41,
+	0x15, 0x52, 0xbc, 0x29, 0x88, 0x2a, 0x6a, 0xc6, 0xb3, 0x8e, 0xa8, 0xa2, 0xad, 0xf6, 0xbf, 0x2a,
+	0x50, 0x8b, 0x33, 0x8c, 0xf6, 0x0e, 0x73, 0x6b, 0x66, 0x47, 0xbd, 0x03, 0x1d, 0xe3, 0x87, 0x50,
+	0x1a, 0x4e, 0x2d, 0xdf, 0x5f, 0x7b, 0x41, 0xc6, 0x22, 0x2c, 0x99, 0x38, 0x00, 0xdf, 0x87, 0xfa,
+	0xc8, 0xf6, 0x87, 0x9e, 0xb3, 0x60, 0x57, 0x76, 0x81, 0x29, 0x49, 0x92, 0xf0, 0x0d, 0x28, 0x2f,
+	0x2c, 0x5a, 0x81, 0xc3, 0x87, 0x45, 0x38, 0xc3, 0x0f, 0x60, 0x8b, 0x8f, 0x4c, 0xcf, 0x9e, 0x9a,
+	0x0b, 0x97, 0xbf, 0x1f, 0x4b, 0xa4, 0xc1, 0xa9, 0xc4, 0x9e, 0x6a, 0xae, 0x8f, 0x77, 0xa1, 0x3a,
+	0x7c, 0xe5, 0x4c, 0x47, 0x9e, 0x3d, 0x67, 0xc9, 0x51, 0x3f, 0xdc, 0x5a, 0x37, 0x86, 0xc4, 0x7c,
+	0x9a, 0xd4, 0xaf, 0xc2, 0x8e, 0xc7, 0xf4, 0xec, 0x0b, 0x96, 0x24, 0x35, 0x52, 0x8f, 0x68, 0xc4,
+	0xbe, 0xa0, 0x90, 0xb1, 0xe3, 0xcd, 0x62, 0x48, 0x95, 0x43, 0x22, 0x5a, 0x08, 0xf1, 0xdd, 0x71,
+	0x10, 0x43, 0xf8, 0xe3, 0xb0, 0x1e, 0xd1, 0x28, 0xe4, 0x1e, 0x80, 0x6f, 0x7b, 0xf4, 0xc6, 0x99,
+	0x2f, 0x67, 0x2d, 0x60, 0x80, 0x1a, 0xa7, 0x28, 0xcb, 0x19, 0x4d, 0xba, 0xd9, 0x78, 0x62, 0x32,
+	0xaf, 0xd6, 0x19, 0xb3, 0x32, 0x1b, 0x4f, 0x14, 0xea, 0xd8, 0x7b, 0x00, 0x33, 0x77, 0x64, 0x4f,
+	0x39, 0xb3, 0xc1, 0x25, 0x19, 0x85, 0xb1, 0xaf, 0x41, 0xc9, 0x9a, 0x3a, 0x96, 0xdf, 0x6a, 0x32,
+	0x0e, 0x9f, 0x50, 0x7d, 0x96, 0xef, 0xdb, 0x01, 0x2d, 0xdf, 0x5b, 0x5c, 0x1f, 0x9b, 0xcb, 0x23,
+	0x5a, 0xd7, 0x1d, 0xdf, 0x1c, 0x7b, 0xcb, 0xd6, 0x36, 0x7b, 0x2c, 0x95, 0x1c, 0xbf, 0xeb, 0x2d,
+	0xf1, 0x53, 0x6e, 0x01, 0x7d, 0xed, 0xb6, 0xd0, 0x4f, 0x3e, 0xa1, 0xa9, 0x75, 0x1d, 0xfa, 0x28,
+	0xbe, 0xcd, 0xdb, 0xbf, 0x1d, 0x26, 0x51, 0xe5, 0x3d, 0xa2, 0xe7, 0xb0, 0x46, 0x30, 0x6e, 0x20,
+	0x71, 0x66, 0x03, 0x89, 0x3f, 0x85, 0x12, 0xef, 0x6c, 0xae, 0x32, 0xfe, 0xd5, 0x8d, 0xce, 0x26,
+	0xa0, 0xed, 0x44, 0xd4, 0x47, 0xf9, 0xac, 0x3b, 0xa0, 0xf6, 0x59, 0xad, 0x6b, 0x2c, 0xaa, 0xa9,
+	0x3e, 0x6a, 0xd5, 0xe2, 0x10, 0xf0, 0x57, 0xed, 0xce, 0x57, 0x50, 0xa3, 0x05, 0xdb, 0xb4, 0x82,
+	0xc0, 0x6b, 0x1d, 0xb2, 0x95, 0xee, 0xbe, 0xeb, 0xc1, 0x7b, 0x72, 0x85, 0x54, 0xa9, 0x00, 0xa5,
+	0xe0, 0x6f, 0xd8, 0xcb, 0x9d, 0xdf, 0x56, 0x5c, 0xc3, 0x63, 0xa6, 0xe1, 0xa3, 0x70, 0xe9, 0xb7,
+	0x5f, 0x64, 0x27, 0x57, 0xd8, 0x93, 0x9d, 0xf3, 0x99, 0xae, 0x67, 0x50, 0x5d, 0xf8, 0x4b, 0xae,
+	0xe5, 0x09, 0xd3, 0x72, 0xe7, 0x1d, 0xd7, 0xd1, 0xc9, 0x15, 0x52, 0x59, 0xf8, 0x4b, 0x26, 0xf9,
+	0x2d, 0xa0, 0x60, 0x55, 0x97, 0xb9, 0x86, 0xa7, 0x4c, 0xc3, 0x83, 0xf7, 0xb9, 0x05, 0x4e, 0xae,
+	0x90, 0xed, 0x84, 0x3c, 0x65, 0x1c, 0x01, 0x54, 0xfd, 0x85, 0x3d, 0x74, 0xc6, 0xce, 0xb0, 0xfd,
+	0x43, 0x0e, 0xaa, 0x51, 0xdb, 0x8f, 0xbf, 0x82, 0x7a, 0xa2, 0x47, 0x7f, 0x8f, 0x16, 0x1d, 0xa6,
+	0x71, 0x77, 0x8e, 0xdb, 0x50, 0xf4, 0x5c, 0x37, 0x08, 0x1f, 0x32, 0xe9, 0x53, 0xc7, 0x78, 0xf1,
+	0x02, 0xe7, 0xae, 0x1b, 0xd8, 0x23, 0x76, 0xfa, 0xdf, 0x63, 0x81, 0x23, 0x86, 0x6e, 0xff, 0x58,
+	0x80, 0xab, 0x7d, 0x77, 0xe4, 0x8c, 0x1d, 0xeb, 0x7c, 0x6a, 0xff, 0xbf, 0x0a, 0xd2, 0x27, 0x71,
+	0xb9, 0x29, 0x64, 0x1a, 0xfe, 0xf6, 0xf2, 0x53, 0xcc, 0x28, 0x3f, 0xf1, 0x81, 0x2c, 0xbd, 0xed,
+	0x40, 0x96, 0xd7, 0x0f, 0x64, 0x78, 0x84, 0x2a, 0x59, 0x47, 0x28, 0xf5, 0xb9, 0xa3, 0xfa, 0x33,
+	0x3e, 0x77, 0x08, 0x9b, 0x89, 0x9f, 0xd1, 0x26, 0xa6, 0x9f, 0x8e, 0x6b, 0xe9, 0xdf, 0x85, 0x6a,
+	0xe0, 0x5d, 0x26, 0x13, 0xff, 0xd3, 0xb7, 0x26, 0x5c, 0x86, 0xa2, 0x4a, 0xe0, 0x5d, 0xa6, 0xb3,
+	0x6d, 0xf7, 0xef, 0x05, 0xda, 0x58, 0x25, 0xa2, 0xc0, 0x1b, 0xab, 0xbe, 0xa6, 0x2a, 0x92, 0x62,
+	0x6c, 0x36, 0x56, 0xb7, 0xe1, 0xc6, 0x06, 0x97, 0x5f, 0x98, 0xb9, 0x0c, 0x9e, 0x78, 0x22, 0xe8,
+	0xba, 0x4c, 0xef, 0xcc, 0x4d, 0xad, 0x47, 0x82, 0xf8, 0x5c, 0xeb, 0x09, 0x8a, 0x84, 0x0a, 0x19,
+	0x5c, 0x51, 0x55, 0x0c, 0x41, 0x56, 0x24, 0x82, 0x8a, 0xf4, 0x4d, 0x97, 0xe2, 0x6a, 0xea, 0x0b,
+	0xda, 0xc3, 0x0d, 0x34, 0xad, 0x77, 0x86, 0x4a, 0xb4, 0xdb, 0x49, 0x01, 0xba, 0x82, 0x82, 0xca,
+	0xf8, 0x16, 0x5c, 0x4f, 0xd1, 0x75, 0x49, 0xd1, 0x55, 0x82, 0x2a, 0x19, 0xac, 0xbe, 0xda, 0x19,
+	0xf4, 0x24, 0x54, 0xa5, 0x0f, 0x82, 0x8d, 0xe5, 0x88, 0x81, 0x6a, 0x19, 0xcb, 0x88, 0xda, 0x00,
+	0x41, 0xc6, 0xbe, 0x8f, 0x04, 0xc3, 0x90, 0xc8, 0x19, 0xaa, 0x67, 0xf0, 0x74, 0x43, 0x25, 0xc2,
+	0xb1, 0x84, 0x1a, 0x59, 0x36, 0x48, 0x7d, 0x95, 0x9c, 0xa1, 0x26, 0xfe, 0x00, 0x6e, 0xa7, 0x58,
+	0x06, 0x11, 0x14, 0x5d, 0x94, 0xe4, 0x53, 0x89, 0xa0, 0xad, 0xdd, 0xbf, 0xe5, 0x12, 0x5f, 0x93,
+	0x56, 0x19, 0x17, 0xc9, 0x99, 0x42, 0xa7, 0x2f, 0x2b, 0xa6, 0x6e, 0x08, 0xc6, 0x7a, 0xf8, 0x42,
+	0x47, 0xa7, 0xf8, 0x51, 0x00, 0xef, 0xc0, 0xcd, 0x0d, 0x6e, 0x4f, 0x15, 0x9f, 0x4b, 0x1d, 0x94,
+	0xc7, 0x6d, 0xf8, 0x60, 0x83, 0xa9, 0x9f, 0x0c, 0x0c, 0x43, 0x56, 0x8e, 0xcd, 0x0e, 0x55, 0x50,
+	0xc0, 0xf7, 0xe0, 0x56, 0x86, 0xfa, 0x50, 0x45, 0x71, 0xf7, 0x87, 0x1c, 0xe0, 0xcd, 0x8f, 0x7b,
+	0xb1, 0x94, 0xaa, 0xd1, 0xa0, 0x6e, 0xd8, 0x1c, 0x59, 0xb5, 0xc6, 0x8e, 0x4c, 0x8e, 0x36, 0x94,
+	0x60, 0x76, 0x64, 0x5d, 0x38, 0xea, 0x31, 0x9b, 0x33, 0x44, 0x25, 0x85, 0x33, 0x0b, 0x59, 0x4c,
+	0x43, 0xd2, 0xe9, 0x76, 0x50, 0x71, 0xf7, 0x2f, 0x49, 0x07, 0xaf, 0x3e, 0x27, 0xc6, 0x0e, 0x1e,
+	0xe8, 0xb4, 0xb1, 0x78, 0xbb, 0x83, 0xd7, 0xf9, 0x91, 0xb5, 0x61, 0xc4, 0xd7, 0xb8, 0x72, 0xa7,
+	0x27, 0x25, 0x4c, 0x4d, 0xb2, 0x04, 0xd1, 0x90, 0x4f, 0xe9, 0xf9, 0xc8, 0x92, 0x3b, 0x1a, 0xe8,
+	0x67, 0xa8, 0xb8, 0xfb, 0xc7, 0xe4, 0x77, 0xc5, 0xd5, 0xc7, 0xcb, 0x55, 0x26, 0xf4, 0x04, 0xd2,
+	0x7f, 0x57, 0x26, 0xac, 0xf1, 0x23, 0x43, 0x3f, 0x82, 0x7b, 0x99, 0xd2, 0xc4, 0x24, 0x92, 0x26,
+	0xc8, 0x04, 0xe5, 0x57, 0xb1, 0x4e, 0x40, 0x44, 0x22, 0x1b, 0xb2, 0x28, 0xf4, 0x50, 0x21, 0x4a,
+	0xfc, 0x35, 0x76, 0x5f, 0xf8, 0x46, 0xa5, 0x07, 0x3a, 0x93, 0x27, 0x2b, 0x2a, 0x41, 0xa5, 0x4c,
+	0xbb, 0x5e, 0x08, 0x44, 0xa1, 0x61, 0x29, 0xaf, 0x92, 0x30, 0xc1, 0x95, 0x95, 0x8e, 0x64, 0x48,
+	0xa4, 0x2f, 0x2b, 0x82, 0x21, 0xa1, 0xca, 0xee, 0x3f, 0x72, 0x70, 0x3d, 0xf3, 0x8b, 0x2c, 0xbe,
+	0x0f, 0x77, 0x99, 0xb4, 0x6e, 0x08, 0x4a, 0xe7, 0xe8, 0x2c, 0xc3, 0x2b, 0x91, 0xd7, 0xd2, 0x88,
+	0x54, 0x89, 0x4b, 0xf1, 0x4f, 0x54, 0x23, 0x11, 0xc1, 0x75, 0x9e, 0xa8, 0xf6, 0x68, 0xb2, 0x3d,
+	0x84, 0x07, 0x19, 0x4c, 0x8d, 0xa8, 0xa7, 0x72, 0x87, 0x1e, 0x20, 0x5d, 0x22, 0xa7, 0xb2, 0x28,
+	0xa1, 0xe2, 0xee, 0x9f, 0x0a, 0xd0, 0x5c, 0xfb, 0xd4, 0x8b, 0x5b, 0x70, 0xed, 0x54, 0xe8, 0x0d,
+	0xa4, 0xcd, 0x6a, 0x7c, 0x0d, 0x50, 0x82, 0xc3, 0x5b, 0x88, 0x1c, 0xad, 0x53, 0x6b, 0x78, 0x6e,
+	0x7c, 0x9e, 0x16, 0xb6, 0x04, 0x9d, 0x36, 0xc7, 0xba, 0x29, 0x88, 0xa8, 0x90, 0xc9, 0xe8, 0x88,
+	0xa8, 0x98, 0xd2, 0x24, 0xf4, 0x35, 0x89, 0x48, 0xb4, 0xbd, 0x59, 0x5f, 0xf7, 0x85, 0x60, 0x18,
+	0x3a, 0x2a, 0xa7, 0xa8, 0x27, 0x12, 0x31, 0xbe, 0x43, 0x95, 0x94, 0x0e, 0x51, 0xea, 0xe9, 0xf2,
+	0x40, 0x47, 0x55, 0x9a, 0xd3, 0x09, 0xba, 0x26, 0x11, 0x91, 0xd6, 0x3a, 0x72, 0x82, 0x6a, 0x18,
+	0xc3, 0x56, 0x82, 0x45, 0xb4, 0x3e, 0x82, 0x14, 0x4d, 0xec, 0xf7, 0x79, 0x71, 0x4d, 0xd0, 0x0c,
+	0x32, 0x30, 0x4e, 0x4c, 0x46, 0x40, 0x8d, 0xd4, 0xb2, 0xa1, 0x7a, 0xd4, 0xc4, 0xd7, 0x61, 0x27,
+	0x41, 0xef, 0xd3, 0xcc, 0xd1, 0xd1, 0x56, 0xca, 0xf6, 0xa3, 0x33, 0x43, 0xd2, 0xd1, 0x76, 0x6a,
+	0xd1, 0xce, 0x51, 0x1f, 0xa1, 0xdd, 0xef, 0x0b, 0x00, 0xab, 0xde, 0x72, 0xb5, 0x0d, 0x5d, 0x14,
+	0x7a, 0xeb, 0xd1, 0x89, 0x97, 0xe2, 0xac, 0x33, 0x55, 0x34, 0x54, 0x94, 0x4b, 0x93, 0xbf, 0x93,
+	0x34, 0x43, 0x45, 0xf9, 0x95, 0x05, 0x9c, 0x2c, 0x18, 0x86, 0x8a, 0x0a, 0x69, 0x70, 0x57, 0xea,
+	0x1b, 0x2a, 0x2a, 0xa6, 0xc1, 0x9a, 0x2c, 0xaa, 0xc9, 0xb0, 0x70, 0xaa, 0x22, 0x28, 0x2a, 0x2a,
+	0xa7, 0x55, 0xf4, 0x65, 0x91, 0xa8, 0xa8, 0xb2, 0x49, 0xee, 0xf5, 0x64, 0x54, 0x4d, 0x93, 0x07,
+	0x8a, 0x6c, 0xe8, 0xa8, 0x96, 0x56, 0xfd, 0x5c, 0xee, 0xa9, 0x08, 0xd2, 0xd4, 0xbe, 0x74, 0x2c,
+	0xa0, 0x7a, 0x9a, 0x7a, 0x2c, 0x1f, 0x0b, 0xa8, 0x91, 0xa6, 0x1a, 0x12, 0x11, 0x50, 0x73, 0x63,
+	0x23, 0x92, 0x21, 0xa0, 0x2d, 0x7c, 0x15, 0xb6, 0x93, 0x54, 0xe9, 0xa5, 0x80, 0xb6, 0x37, 0xfd,
+	0x66, 0x18, 0x02, 0x42, 0x9b, 0x5e, 0xa6, 0xe4, 0x9d, 0xdd, 0xdf, 0xe5, 0xa0, 0x91, 0xfc, 0x85,
+	0x41, 0x8f, 0x27, 0xbf, 0xfd, 0xd9, 0xd9, 0x1b, 0xe8, 0xe9, 0x83, 0xb4, 0xce, 0x54, 0x9f, 0xa3,
+	0x1c, 0x2d, 0x71, 0x69, 0x11, 0xe1, 0x54, 0x90, 0x7b, 0xf4, 0x06, 0x41, 0x79, 0x5a, 0x4e, 0xd6,
+	0xd9, 0x8a, 0xaa, 0xd0, 0xcb, 0x44, 0x30, 0x64, 0x55, 0xa1, 0x45, 0x70, 0xf7, 0xfb, 0x1c, 0x6c,
+	0xa7, 0xbe, 0xe1, 0xd0, 0x9c, 0xda, 0x38, 0xc7, 0x3f, 0xf3, 0xb3, 0x2c, 0xfb, 0x80, 0xa0, 0x2a,
+	0xa8, 0x84, 0xeb, 0x50, 0x51, 0x8e, 0x4d, 0x4d, 0x55, 0x0e, 0xd7, 0x3e, 0xcb, 0x5e, 0x87, 0x1d,
+	0x51, 0xed, 0x1f, 0xa9, 0x26, 0x15, 0x36, 0x43, 0xb9, 0x2a, 0xbe, 0x01, 0x3b, 0x6c, 0x69, 0x45,
+	0x35, 0x4c, 0x5a, 0x33, 0x45, 0x43, 0xea, 0xa0, 0xff, 0xe6, 0x8e, 0xbe, 0xfa, 0xee, 0x8b, 0x89,
+	0x13, 0xbc, 0x5a, 0x9e, 0xef, 0x0d, 0xdd, 0xd9, 0xbe, 0xbb, 0xb0, 0xe7, 0x43, 0xd7, 0x1b, 0xed,
+	0x8f, 0xec, 0x0b, 0x67, 0x68, 0x7f, 0x3e, 0xb3, 0xe6, 0xd6, 0xc4, 0x9e, 0xd9, 0xf3, 0xe0, 0x73,
+	0x67, 0x1e, 0xd8, 0xde, 0xd8, 0x1a, 0xda, 0xfb, 0x17, 0x8f, 0xf7, 0x27, 0xee, 0xfe, 0x68, 0xe6,
+	0x9c, 0x97, 0x59, 0x93, 0xf0, 0xf8, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x3c, 0xcb, 0xef,
+	0xfe, 0x1c, 0x00, 0x00,
 }
diff --git a/protos/dmi/hw.proto b/protos/dmi/hw.proto
index c41d8a2..f7f15b3 100644
--- a/protos/dmi/hw.proto
+++ b/protos/dmi/hw.proto
@@ -208,10 +208,27 @@
     string mapping_label = 5;
     PonIdConfig pon_id_config = 6;
     bool speed_autonegotiation = 7; //Only valid for ethernet type port components. True if enabled, false otherwise.
+    PonDistance  distance = 8; //Pon max distance and max differential reach distance.
 }
 
+message PonDistance {
+    /*
+     * The ITU-T G.987.x series of Recommendations addresses the linear extent parameters of XG-PON
+     * using the single concept of fibre distance. An ONU is characterized by its fibre distance, and for
+     * each pair of ONUs on the same OLT PON interface, the differential fibre distance is the difference
+     * between the two individual fibre distances. Each specific PMD layer parameter set contains a
+     * provision to support a specific maximum fibre distance. The XG-PON TC layer specification
+     * contains a provision to support specific ranges of maximum fibre distance and maximum
+     * differential fibre distance. These ranges can be configurable for a given system. One can expect that
+     * for each XG-PON deployment, the configured TC layer maximum fibre distance will match the
+     * maximum fibre distance supported by the selected PMD layer parameter set.
+    */
+    uint32 max_distance = 1;  //Distance in kilometers the maximum logical distance on an ONU on the PON
+    uint32 max_differential_distance = 2;  // maximum distance between the closest ONU to the farthest ONU in km.
+}
 message PortComponentChangeAttributes {
     PonIdConfig pon_id_config = 1;
+    PonDistance  distance = 2; //Pon max distance and max differential reach distance.
 }
 
 message TransceiverComponentChangeAttributes {
diff --git a/python/dmi/hw_pb2.py b/python/dmi/hw_pb2.py
index d838136..43657e9 100644
--- a/python/dmi/hw_pb2.py
+++ b/python/dmi/hw_pb2.py
@@ -16,7 +16,7 @@
 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x64mi/hw.proto\x12\x03\x64mi\x1a\x1fgoogle/protobuf/timestamp.proto\"\x14\n\x04Uuid\x12\x0c\n\x04uuid\x18\x01 \x01(\t\"%\n\nHardwareID\x12\x17\n\x04uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"\x12\n\x03Uri\x12\x0b\n\x03uri\x18\x01 \x01(\t\"\xb5\x02\n\x0e\x43omponentState\x12\x36\n\x12state_last_changed\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\x0b\x61\x64min_state\x18\x02 \x01(\x0e\x32\x18.dmi.ComponentAdminState\x12+\n\noper_state\x18\x03 \x01(\x0e\x32\x17.dmi.ComponentOperState\x12-\n\x0busage_state\x18\x04 \x01(\x0e\x32\x18.dmi.ComponentUsageState\x12-\n\x0b\x61larm_state\x18\x05 \x01(\x0e\x32\x18.dmi.ComponentAlarmState\x12\x31\n\rstandby_state\x18\x06 \x01(\x0e\x32\x1a.dmi.ComponentStandbyState\"\x90\x02\n\x13\x43omponentSensorData\x12\r\n\x05value\x18\x01 \x01(\x05\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.dmi.DataValueType\x12\x1e\n\x05scale\x18\x03 \x01(\x0e\x32\x0f.dmi.ValueScale\x12\x11\n\tprecision\x18\x04 \x01(\x05\x12!\n\x06status\x18\x05 \x01(\x0e\x32\x11.dmi.SensorStatus\x12\x15\n\runits_display\x18\x06 \x01(\t\x12-\n\ttimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11value_update_rate\x18\x08 \x01(\r\x12\x11\n\tdata_type\x18\t \x01(\t\"\xe1\x05\n\x17PortComponentAttributes\x12\x42\n\x0e\x63onnector_type\x18\x01 \x01(\x0e\x32*.dmi.PortComponentAttributes.ConnectorType\x12\x31\n\x05speed\x18\x02 \x01(\x0e\x32\".dmi.PortComponentAttributes.Speed\x12\x37\n\x08protocol\x18\x03 \x01(\x0e\x32%.dmi.PortComponentAttributes.Protocol\x12\x16\n\x0ephysical_label\x18\x04 \x01(\t\x12\x15\n\rmapping_label\x18\x05 \x01(\t\x12\'\n\rpon_id_config\x18\x06 \x01(\x0b\x32\x10.dmi.PonIdConfig\x12\x1d\n\x15speed_autonegotiation\x18\x07 \x01(\x08\"p\n\rConnectorType\x12\x1c\n\x18\x43ONNECTOR_TYPE_UNDEFINED\x10\x00\x12\x08\n\x04RJ45\x10\x01\x12\x0c\n\x08\x46IBER_LC\x10\x02\x12\x0f\n\x0b\x46IBER_SC_PC\x10\x03\x12\r\n\tFIBER_MPO\x10\x04\x12\t\n\x05RS232\x10\x05\"\xae\x01\n\x05Speed\x12\x13\n\x0fSPEED_UNDEFINED\x10\x00\x12\x0b\n\x07\x44YNAMIC\x10\x01\x12\r\n\tGIGABIT_1\x10\x02\x12\x0e\n\nGIGABIT_10\x10\x03\x12\x0e\n\nGIGABIT_25\x10\x04\x12\x0e\n\nGIGABIT_40\x10\x05\x12\x0f\n\x0bGIGABIT_100\x10\x06\x12\x0f\n\x0bGIGABIT_400\x10\x07\x12\x10\n\x0cMEGABIT_2500\x10\x08\x12\x10\n\x0cMEGABIT_1250\x10\t\"|\n\x08Protocol\x12\x16\n\x12PROTOCOL_UNDEFINED\x10\x00\x12\x0c\n\x08\x45THERNET\x10\x01\x12\x08\n\x04GPON\x10\x02\x12\t\n\x05XGPON\x10\x03\x12\n\n\x06XGSPON\x10\x04\x12\t\n\x05GFAST\x10\x05\x12\n\n\x06SERIAL\x10\x06\x12\x08\n\x04\x45PON\x10\x07\x12\x08\n\x04\x42ITS\x10\x08\"H\n\x1dPortComponentChangeAttributes\x12\'\n\rpon_id_config\x18\x01 \x01(\x0b\x32\x10.dmi.PonIdConfig\"P\n$TransceiverComponentChangeAttributes\x12(\n\ntrans_type\x18\x01 \x01(\x0e\x32\x14.dmi.TransceiverType\"B\n\x0bPonIdConfig\x12\x0e\n\x06pon_id\x18\x01 \x01(\x0c\x12#\n\x1bpon_id_transmit_periodicity\x18\x02 \x01(\r\"6\n\x1c\x43ontainerComponentAttributes\x12\x16\n\x0ephysical_label\x18\x01 \x01(\t\"\xb3\x01\n\x16PsuComponentAttributes\x12G\n\x11supported_voltage\x18\x01 \x01(\x0e\x32,.dmi.PsuComponentAttributes.SupportedVoltage\"P\n\x10SupportedVoltage\x12\x1f\n\x1bSUPPORTED_VOLTAGE_UNDEFINED\x10\x00\x12\x07\n\x03V48\x10\x01\x12\x08\n\x04V230\x10\x02\x12\x08\n\x04V115\x10\x03\"\xab\x04\n\x1fTransceiverComponentsAttributes\x12\x44\n\x0b\x66orm_factor\x18\x01 \x01(\x0e\x32/.dmi.TransceiverComponentsAttributes.FormFactor\x12(\n\ntrans_type\x18\x02 \x01(\x0e\x32\x14.dmi.TransceiverType\x12\x14\n\x0cmax_distance\x18\x03 \x01(\r\x12+\n\x12max_distance_scale\x18\x04 \x01(\x0e\x32\x0f.dmi.ValueScale\x12\x15\n\rrx_wavelength\x18\x05 \x03(\r\x12\x15\n\rtx_wavelength\x18\x06 \x03(\r\x12)\n\x10wavelength_scale\x18\x07 \x01(\x0e\x32\x0f.dmi.ValueScale\x12\x10\n\x08tx_power\x18\x08 \x03(\x05\x12\'\n\x0etx_power_scale\x18\t \x01(\x0e\x32\x0f.dmi.ValueScale\"\xc0\x01\n\nFormFactor\x12\x17\n\x13\x46ORM_FACTOR_UNKNOWN\x10\x00\x12\x08\n\x04QSFP\x10\x01\x12\r\n\tQSFP_PLUS\x10\x02\x12\n\n\x06QSFP28\x10\x03\x12\x07\n\x03SFP\x10\x04\x12\x0c\n\x08SFP_PLUS\x10\x05\x12\x07\n\x03XFP\x10\x06\x12\x08\n\x04\x43\x46P4\x10\x07\x12\x08\n\x04\x43\x46P2\x10\x08\x12\x08\n\x04\x43PAK\x10\t\x12\x06\n\x02X2\x10\n\x12\t\n\x05OTHER\x10\x0b\x12\x07\n\x03\x43\x46P\x10\x0c\x12\x0c\n\x08\x43\x46P2_ACO\x10\r\x12\x0c\n\x08\x43\x46P2_DCO\x10\x0e\"\xe8\x05\n\tComponent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12!\n\x05\x63lass\x18\x02 \x01(\x0e\x32\x12.dmi.ComponentType\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0e\n\x06parent\x18\x04 \x01(\t\x12\x16\n\x0eparent_rel_pos\x18\x05 \x01(\x05\x12 \n\x08\x63hildren\x18\x06 \x03(\x0b\x32\x0e.dmi.Component\x12\x14\n\x0chardware_rev\x18\x07 \x01(\t\x12\x14\n\x0c\x66irmware_rev\x18\x08 \x01(\t\x12\x14\n\x0csoftware_rev\x18\t \x01(\t\x12\x12\n\nserial_num\x18\n \x01(\t\x12\x10\n\x08mfg_name\x18\x0b \x01(\t\x12\x12\n\nmodel_name\x18\x0c \x01(\t\x12\r\n\x05\x61lias\x18\r \x01(\t\x12\x10\n\x08\x61sset_id\x18\x0e \x01(\t\x12\x0e\n\x06is_fru\x18\x0f \x01(\x08\x12,\n\x08mfg_date\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\x03uri\x18\x11 \x01(\x0b\x32\x08.dmi.Uri\x12\x17\n\x04uuid\x18\x12 \x01(\x0b\x32\t.dmi.Uuid\x12\"\n\x05state\x18\x13 \x01(\x0b\x32\x13.dmi.ComponentState\x12-\n\x0bsensor_data\x18\x14 \x03(\x0b\x32\x18.dmi.ComponentSensorData\x12\x31\n\tport_attr\x18\x32 \x01(\x0b\x32\x1c.dmi.PortComponentAttributesH\x00\x12;\n\x0e\x63ontainer_attr\x18\x33 \x01(\x0b\x32!.dmi.ContainerComponentAttributesH\x00\x12/\n\x08psu_attr\x18\x34 \x01(\x0b\x32\x1b.dmi.PsuComponentAttributesH\x00\x12@\n\x10transceiver_attr\x18\x35 \x01(\x0b\x32$.dmi.TransceiverComponentsAttributesH\x00\x42\n\n\x08specific\"\x8a\x01\n\x08Hardware\x12/\n\x0blast_change\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1c\n\x04root\x18\x02 \x01(\x0b\x32\x0e.dmi.Component\x12/\n\x0blast_booted\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe9\x02\n\x13ModifiableComponent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12!\n\x05\x63lass\x18\x02 \x01(\x0e\x32\x12.dmi.ComponentType\x12\x1e\n\x06parent\x18\x03 \x01(\x0b\x32\x0e.dmi.Component\x12\x16\n\x0eparent_rel_pos\x18\x04 \x01(\x05\x12\r\n\x05\x61lias\x18\x05 \x01(\t\x12\x10\n\x08\x61sset_id\x18\x06 \x01(\t\x12\x15\n\x03uri\x18\x07 \x01(\x0b\x32\x08.dmi.Uri\x12-\n\x0b\x61\x64min_state\x18\x08 \x01(\x0e\x32\x18.dmi.ComponentAdminState\x12\x37\n\tport_attr\x18\x32 \x01(\x0b\x32\".dmi.PortComponentChangeAttributesH\x00\x12=\n\x08trx_attr\x18\x33 \x01(\x0b\x32).dmi.TransceiverComponentChangeAttributesH\x00\x42\n\n\x08specific*\xb4\x03\n\rComponentType\x12\x1c\n\x18\x43OMPONENT_TYPE_UNDEFINED\x10\x00\x12\x1a\n\x16\x43OMPONENT_TYPE_UNKNOWN\x10\x01\x12\x1a\n\x16\x43OMPONENT_TYPE_CHASSIS\x10\x02\x12\x1c\n\x18\x43OMPONENT_TYPE_BACKPLANE\x10\x03\x12\x1c\n\x18\x43OMPONENT_TYPE_CONTAINER\x10\x04\x12\x1f\n\x1b\x43OMPONENT_TYPE_POWER_SUPPLY\x10\x05\x12\x16\n\x12\x43OMPONENT_TYPE_FAN\x10\x06\x12\x19\n\x15\x43OMPONENT_TYPE_SENSOR\x10\x07\x12\x19\n\x15\x43OMPONENT_TYPE_MODULE\x10\x08\x12\x17\n\x13\x43OMPONENT_TYPE_PORT\x10\t\x12\x16\n\x12\x43OMPONENT_TYPE_CPU\x10\n\x12\x1a\n\x16\x43OMPONENT_TYPE_BATTERY\x10\x0b\x12\x1a\n\x16\x43OMPONENT_TYPE_STORAGE\x10\x0c\x12\x19\n\x15\x43OMPONENT_TYPE_MEMORY\x10\r\x12\x1e\n\x1a\x43OMPONENT_TYPE_TRANSCEIVER\x10\x0e*\xb3\x01\n\x13\x43omponentAdminState\x12\x1e\n\x1a\x43OMP_ADMIN_STATE_UNDEFINED\x10\x00\x12\x1c\n\x18\x43OMP_ADMIN_STATE_UNKNOWN\x10\x01\x12\x1b\n\x17\x43OMP_ADMIN_STATE_LOCKED\x10\x02\x12\"\n\x1e\x43OMP_ADMIN_STATE_SHUTTING_DOWN\x10\x03\x12\x1d\n\x19\x43OMP_ADMIN_STATE_UNLOCKED\x10\x04*\xa8\x01\n\x12\x43omponentOperState\x12\x1d\n\x19\x43OMP_OPER_STATE_UNDEFINED\x10\x00\x12\x1b\n\x17\x43OMP_OPER_STATE_UNKNOWN\x10\x01\x12\x1c\n\x18\x43OMP_OPER_STATE_DISABLED\x10\x02\x12\x1b\n\x17\x43OMP_OPER_STATE_ENABLED\x10\x03\x12\x1b\n\x17\x43OMP_OPER_STATE_TESTING\x10\x04*\xa6\x01\n\x13\x43omponentUsageState\x12\x1e\n\x1a\x43OMP_USAGE_STATE_UNDEFINED\x10\x00\x12\x1c\n\x18\x43OMP_USAGE_STATE_UNKNOWN\x10\x01\x12\x19\n\x15\x43OMP_USAGE_STATE_IDLE\x10\x02\x12\x1b\n\x17\x43OMP_USAGE_STATE_ACTIVE\x10\x03\x12\x19\n\x15\x43OMP_USAGE_STATE_BUSY\x10\x04*\x8f\x02\n\x13\x43omponentAlarmState\x12\x1e\n\x1a\x43OMP_ALARM_STATE_UNDEFINED\x10\x00\x12\x1c\n\x18\x43OMP_ALARM_STATE_UNKNOWN\x10\x01\x12!\n\x1d\x43OMP_ALARM_STATE_UNDER_REPAIR\x10\x02\x12\x1d\n\x19\x43OMP_ALARM_STATE_CRITICAL\x10\x03\x12\x1a\n\x16\x43OMP_ALARM_STATE_MAJOR\x10\x04\x12\x1a\n\x16\x43OMP_ALARM_STATE_MINOR\x10\x05\x12\x1c\n\x18\x43OMP_ALARM_STATE_WARNING\x10\x06\x12\"\n\x1e\x43OMP_ALARM_STATE_INDETERMINATE\x10\x07*\xbc\x01\n\x15\x43omponentStandbyState\x12 \n\x1c\x43OMP_STANDBY_STATE_UNDEFINED\x10\x00\x12\x1e\n\x1a\x43OMP_STANDBY_STATE_UNKNOWN\x10\x01\x12\x1a\n\x16\x43OMP_STANDBY_STATE_HOT\x10\x02\x12\x1b\n\x17\x43OMP_STANDBY_STATE_COLD\x10\x03\x12(\n$COMP_STANDBY_STATE_PROVIDING_SERVICE\x10\x04*\x9d\x03\n\rDataValueType\x12\x18\n\x14VALUE_TYPE_UNDEFINED\x10\x00\x12\x14\n\x10VALUE_TYPE_OTHER\x10\x01\x12\x16\n\x12VALUE_TYPE_UNKNOWN\x10\x02\x12\x17\n\x13VALUE_TYPE_VOLTS_AC\x10\x03\x12\x17\n\x13VALUE_TYPE_VOLTS_DC\x10\x04\x12\x16\n\x12VALUE_TYPE_AMPERES\x10\x05\x12\x14\n\x10VALUE_TYPE_WATTS\x10\x06\x12\x14\n\x10VALUE_TYPE_HERTZ\x10\x07\x12\x16\n\x12VALUE_TYPE_CELSIUS\x10\x08\x12\x19\n\x15VALUE_TYPE_PERCENT_RH\x10\t\x12\x12\n\x0eVALUE_TYPE_RPM\x10\n\x12\x12\n\x0eVALUE_TYPE_CMM\x10\x0b\x12\x1a\n\x16VALUE_TYPE_TRUTH_VALUE\x10\x0c\x12\x16\n\x12VALUE_TYPE_PERCENT\x10\r\x12\x15\n\x11VALUE_TYPE_METERS\x10\x0e\x12\x14\n\x10VALUE_TYPE_BYTES\x10\x0f\x12\x12\n\x0eVALUE_TYPE_DBM\x10\x10*\xa4\x03\n\nValueScale\x12\x19\n\x15VALUE_SCALE_UNDEFINED\x10\x00\x12\x15\n\x11VALUE_SCALE_YOCTO\x10\x01\x12\x15\n\x11VALUE_SCALE_ZEPTO\x10\x02\x12\x14\n\x10VALUE_SCALE_ATTO\x10\x03\x12\x15\n\x11VALUE_SCALE_FEMTO\x10\x04\x12\x14\n\x10VALUE_SCALE_PICO\x10\x05\x12\x14\n\x10VALUE_SCALE_NANO\x10\x06\x12\x15\n\x11VALUE_SCALE_MICRO\x10\x07\x12\x15\n\x11VALUE_SCALE_MILLI\x10\x08\x12\x15\n\x11VALUE_SCALE_UNITS\x10\t\x12\x14\n\x10VALUE_SCALE_KILO\x10\n\x12\x14\n\x10VALUE_SCALE_MEGA\x10\x0b\x12\x14\n\x10VALUE_SCALE_GIGA\x10\x0c\x12\x14\n\x10VALUE_SCALE_TERA\x10\r\x12\x14\n\x10VALUE_SCALE_PETA\x10\x0e\x12\x13\n\x0fVALUE_SCALE_EXA\x10\x0f\x12\x15\n\x11VALUE_SCALE_ZETTA\x10\x10\x12\x15\n\x11VALUE_SCALE_YOTTA\x10\x11*\x82\x01\n\x0cSensorStatus\x12\x1b\n\x17SENSOR_STATUS_UNDEFINED\x10\x00\x12\x14\n\x10SENSOR_STATUS_OK\x10\x01\x12\x1d\n\x19SENSOR_STATUS_UNAVAILABLE\x10\x02\x12 \n\x1cSENSOR_STATUS_NONOPERATIONAL\x10\x03*\xa4\x01\n\x0fTransceiverType\x12\x12\n\x0eTYPE_UNDEFINED\x10\x00\x12\x0c\n\x08\x45THERNET\x10\x01\x12\x08\n\x04GPON\x10\x02\x12\t\n\x05XGPON\x10\x03\x12\n\n\x06XGSPON\x10\x04\x12\x08\n\x04\x43PON\x10\x05\x12\x0b\n\x07NG_PON2\x10\x06\x12\x08\n\x04\x45PON\x10\x07\x12\x15\n\x11\x43OMBO_GPON_XGSPON\x10\x08\x12\x16\n\x11TYPE_NOT_DETECTED\x10\xff\x01\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x64mi/hw.proto\x12\x03\x64mi\x1a\x1fgoogle/protobuf/timestamp.proto\"\x14\n\x04Uuid\x12\x0c\n\x04uuid\x18\x01 \x01(\t\"%\n\nHardwareID\x12\x17\n\x04uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"\x12\n\x03Uri\x12\x0b\n\x03uri\x18\x01 \x01(\t\"\xb5\x02\n\x0e\x43omponentState\x12\x36\n\x12state_last_changed\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\x0b\x61\x64min_state\x18\x02 \x01(\x0e\x32\x18.dmi.ComponentAdminState\x12+\n\noper_state\x18\x03 \x01(\x0e\x32\x17.dmi.ComponentOperState\x12-\n\x0busage_state\x18\x04 \x01(\x0e\x32\x18.dmi.ComponentUsageState\x12-\n\x0b\x61larm_state\x18\x05 \x01(\x0e\x32\x18.dmi.ComponentAlarmState\x12\x31\n\rstandby_state\x18\x06 \x01(\x0e\x32\x1a.dmi.ComponentStandbyState\"\x90\x02\n\x13\x43omponentSensorData\x12\r\n\x05value\x18\x01 \x01(\x05\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.dmi.DataValueType\x12\x1e\n\x05scale\x18\x03 \x01(\x0e\x32\x0f.dmi.ValueScale\x12\x11\n\tprecision\x18\x04 \x01(\x05\x12!\n\x06status\x18\x05 \x01(\x0e\x32\x11.dmi.SensorStatus\x12\x15\n\runits_display\x18\x06 \x01(\t\x12-\n\ttimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11value_update_rate\x18\x08 \x01(\r\x12\x11\n\tdata_type\x18\t \x01(\t\"\x85\x06\n\x17PortComponentAttributes\x12\x42\n\x0e\x63onnector_type\x18\x01 \x01(\x0e\x32*.dmi.PortComponentAttributes.ConnectorType\x12\x31\n\x05speed\x18\x02 \x01(\x0e\x32\".dmi.PortComponentAttributes.Speed\x12\x37\n\x08protocol\x18\x03 \x01(\x0e\x32%.dmi.PortComponentAttributes.Protocol\x12\x16\n\x0ephysical_label\x18\x04 \x01(\t\x12\x15\n\rmapping_label\x18\x05 \x01(\t\x12\'\n\rpon_id_config\x18\x06 \x01(\x0b\x32\x10.dmi.PonIdConfig\x12\x1d\n\x15speed_autonegotiation\x18\x07 \x01(\x08\x12\"\n\x08\x64istance\x18\x08 \x01(\x0b\x32\x10.dmi.PonDistance\"p\n\rConnectorType\x12\x1c\n\x18\x43ONNECTOR_TYPE_UNDEFINED\x10\x00\x12\x08\n\x04RJ45\x10\x01\x12\x0c\n\x08\x46IBER_LC\x10\x02\x12\x0f\n\x0b\x46IBER_SC_PC\x10\x03\x12\r\n\tFIBER_MPO\x10\x04\x12\t\n\x05RS232\x10\x05\"\xae\x01\n\x05Speed\x12\x13\n\x0fSPEED_UNDEFINED\x10\x00\x12\x0b\n\x07\x44YNAMIC\x10\x01\x12\r\n\tGIGABIT_1\x10\x02\x12\x0e\n\nGIGABIT_10\x10\x03\x12\x0e\n\nGIGABIT_25\x10\x04\x12\x0e\n\nGIGABIT_40\x10\x05\x12\x0f\n\x0bGIGABIT_100\x10\x06\x12\x0f\n\x0bGIGABIT_400\x10\x07\x12\x10\n\x0cMEGABIT_2500\x10\x08\x12\x10\n\x0cMEGABIT_1250\x10\t\"|\n\x08Protocol\x12\x16\n\x12PROTOCOL_UNDEFINED\x10\x00\x12\x0c\n\x08\x45THERNET\x10\x01\x12\x08\n\x04GPON\x10\x02\x12\t\n\x05XGPON\x10\x03\x12\n\n\x06XGSPON\x10\x04\x12\t\n\x05GFAST\x10\x05\x12\n\n\x06SERIAL\x10\x06\x12\x08\n\x04\x45PON\x10\x07\x12\x08\n\x04\x42ITS\x10\x08\"F\n\x0bPonDistance\x12\x14\n\x0cmax_distance\x18\x01 \x01(\r\x12!\n\x19max_differential_distance\x18\x02 \x01(\r\"l\n\x1dPortComponentChangeAttributes\x12\'\n\rpon_id_config\x18\x01 \x01(\x0b\x32\x10.dmi.PonIdConfig\x12\"\n\x08\x64istance\x18\x02 \x01(\x0b\x32\x10.dmi.PonDistance\"P\n$TransceiverComponentChangeAttributes\x12(\n\ntrans_type\x18\x01 \x01(\x0e\x32\x14.dmi.TransceiverType\"B\n\x0bPonIdConfig\x12\x0e\n\x06pon_id\x18\x01 \x01(\x0c\x12#\n\x1bpon_id_transmit_periodicity\x18\x02 \x01(\r\"6\n\x1c\x43ontainerComponentAttributes\x12\x16\n\x0ephysical_label\x18\x01 \x01(\t\"\xb3\x01\n\x16PsuComponentAttributes\x12G\n\x11supported_voltage\x18\x01 \x01(\x0e\x32,.dmi.PsuComponentAttributes.SupportedVoltage\"P\n\x10SupportedVoltage\x12\x1f\n\x1bSUPPORTED_VOLTAGE_UNDEFINED\x10\x00\x12\x07\n\x03V48\x10\x01\x12\x08\n\x04V230\x10\x02\x12\x08\n\x04V115\x10\x03\"\xab\x04\n\x1fTransceiverComponentsAttributes\x12\x44\n\x0b\x66orm_factor\x18\x01 \x01(\x0e\x32/.dmi.TransceiverComponentsAttributes.FormFactor\x12(\n\ntrans_type\x18\x02 \x01(\x0e\x32\x14.dmi.TransceiverType\x12\x14\n\x0cmax_distance\x18\x03 \x01(\r\x12+\n\x12max_distance_scale\x18\x04 \x01(\x0e\x32\x0f.dmi.ValueScale\x12\x15\n\rrx_wavelength\x18\x05 \x03(\r\x12\x15\n\rtx_wavelength\x18\x06 \x03(\r\x12)\n\x10wavelength_scale\x18\x07 \x01(\x0e\x32\x0f.dmi.ValueScale\x12\x10\n\x08tx_power\x18\x08 \x03(\x05\x12\'\n\x0etx_power_scale\x18\t \x01(\x0e\x32\x0f.dmi.ValueScale\"\xc0\x01\n\nFormFactor\x12\x17\n\x13\x46ORM_FACTOR_UNKNOWN\x10\x00\x12\x08\n\x04QSFP\x10\x01\x12\r\n\tQSFP_PLUS\x10\x02\x12\n\n\x06QSFP28\x10\x03\x12\x07\n\x03SFP\x10\x04\x12\x0c\n\x08SFP_PLUS\x10\x05\x12\x07\n\x03XFP\x10\x06\x12\x08\n\x04\x43\x46P4\x10\x07\x12\x08\n\x04\x43\x46P2\x10\x08\x12\x08\n\x04\x43PAK\x10\t\x12\x06\n\x02X2\x10\n\x12\t\n\x05OTHER\x10\x0b\x12\x07\n\x03\x43\x46P\x10\x0c\x12\x0c\n\x08\x43\x46P2_ACO\x10\r\x12\x0c\n\x08\x43\x46P2_DCO\x10\x0e\"\xe8\x05\n\tComponent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12!\n\x05\x63lass\x18\x02 \x01(\x0e\x32\x12.dmi.ComponentType\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0e\n\x06parent\x18\x04 \x01(\t\x12\x16\n\x0eparent_rel_pos\x18\x05 \x01(\x05\x12 \n\x08\x63hildren\x18\x06 \x03(\x0b\x32\x0e.dmi.Component\x12\x14\n\x0chardware_rev\x18\x07 \x01(\t\x12\x14\n\x0c\x66irmware_rev\x18\x08 \x01(\t\x12\x14\n\x0csoftware_rev\x18\t \x01(\t\x12\x12\n\nserial_num\x18\n \x01(\t\x12\x10\n\x08mfg_name\x18\x0b \x01(\t\x12\x12\n\nmodel_name\x18\x0c \x01(\t\x12\r\n\x05\x61lias\x18\r \x01(\t\x12\x10\n\x08\x61sset_id\x18\x0e \x01(\t\x12\x0e\n\x06is_fru\x18\x0f \x01(\x08\x12,\n\x08mfg_date\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\x03uri\x18\x11 \x01(\x0b\x32\x08.dmi.Uri\x12\x17\n\x04uuid\x18\x12 \x01(\x0b\x32\t.dmi.Uuid\x12\"\n\x05state\x18\x13 \x01(\x0b\x32\x13.dmi.ComponentState\x12-\n\x0bsensor_data\x18\x14 \x03(\x0b\x32\x18.dmi.ComponentSensorData\x12\x31\n\tport_attr\x18\x32 \x01(\x0b\x32\x1c.dmi.PortComponentAttributesH\x00\x12;\n\x0e\x63ontainer_attr\x18\x33 \x01(\x0b\x32!.dmi.ContainerComponentAttributesH\x00\x12/\n\x08psu_attr\x18\x34 \x01(\x0b\x32\x1b.dmi.PsuComponentAttributesH\x00\x12@\n\x10transceiver_attr\x18\x35 \x01(\x0b\x32$.dmi.TransceiverComponentsAttributesH\x00\x42\n\n\x08specific\"\x8a\x01\n\x08Hardware\x12/\n\x0blast_change\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1c\n\x04root\x18\x02 \x01(\x0b\x32\x0e.dmi.Component\x12/\n\x0blast_booted\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe9\x02\n\x13ModifiableComponent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12!\n\x05\x63lass\x18\x02 \x01(\x0e\x32\x12.dmi.ComponentType\x12\x1e\n\x06parent\x18\x03 \x01(\x0b\x32\x0e.dmi.Component\x12\x16\n\x0eparent_rel_pos\x18\x04 \x01(\x05\x12\r\n\x05\x61lias\x18\x05 \x01(\t\x12\x10\n\x08\x61sset_id\x18\x06 \x01(\t\x12\x15\n\x03uri\x18\x07 \x01(\x0b\x32\x08.dmi.Uri\x12-\n\x0b\x61\x64min_state\x18\x08 \x01(\x0e\x32\x18.dmi.ComponentAdminState\x12\x37\n\tport_attr\x18\x32 \x01(\x0b\x32\".dmi.PortComponentChangeAttributesH\x00\x12=\n\x08trx_attr\x18\x33 \x01(\x0b\x32).dmi.TransceiverComponentChangeAttributesH\x00\x42\n\n\x08specific*\xb4\x03\n\rComponentType\x12\x1c\n\x18\x43OMPONENT_TYPE_UNDEFINED\x10\x00\x12\x1a\n\x16\x43OMPONENT_TYPE_UNKNOWN\x10\x01\x12\x1a\n\x16\x43OMPONENT_TYPE_CHASSIS\x10\x02\x12\x1c\n\x18\x43OMPONENT_TYPE_BACKPLANE\x10\x03\x12\x1c\n\x18\x43OMPONENT_TYPE_CONTAINER\x10\x04\x12\x1f\n\x1b\x43OMPONENT_TYPE_POWER_SUPPLY\x10\x05\x12\x16\n\x12\x43OMPONENT_TYPE_FAN\x10\x06\x12\x19\n\x15\x43OMPONENT_TYPE_SENSOR\x10\x07\x12\x19\n\x15\x43OMPONENT_TYPE_MODULE\x10\x08\x12\x17\n\x13\x43OMPONENT_TYPE_PORT\x10\t\x12\x16\n\x12\x43OMPONENT_TYPE_CPU\x10\n\x12\x1a\n\x16\x43OMPONENT_TYPE_BATTERY\x10\x0b\x12\x1a\n\x16\x43OMPONENT_TYPE_STORAGE\x10\x0c\x12\x19\n\x15\x43OMPONENT_TYPE_MEMORY\x10\r\x12\x1e\n\x1a\x43OMPONENT_TYPE_TRANSCEIVER\x10\x0e*\xb3\x01\n\x13\x43omponentAdminState\x12\x1e\n\x1a\x43OMP_ADMIN_STATE_UNDEFINED\x10\x00\x12\x1c\n\x18\x43OMP_ADMIN_STATE_UNKNOWN\x10\x01\x12\x1b\n\x17\x43OMP_ADMIN_STATE_LOCKED\x10\x02\x12\"\n\x1e\x43OMP_ADMIN_STATE_SHUTTING_DOWN\x10\x03\x12\x1d\n\x19\x43OMP_ADMIN_STATE_UNLOCKED\x10\x04*\xa8\x01\n\x12\x43omponentOperState\x12\x1d\n\x19\x43OMP_OPER_STATE_UNDEFINED\x10\x00\x12\x1b\n\x17\x43OMP_OPER_STATE_UNKNOWN\x10\x01\x12\x1c\n\x18\x43OMP_OPER_STATE_DISABLED\x10\x02\x12\x1b\n\x17\x43OMP_OPER_STATE_ENABLED\x10\x03\x12\x1b\n\x17\x43OMP_OPER_STATE_TESTING\x10\x04*\xa6\x01\n\x13\x43omponentUsageState\x12\x1e\n\x1a\x43OMP_USAGE_STATE_UNDEFINED\x10\x00\x12\x1c\n\x18\x43OMP_USAGE_STATE_UNKNOWN\x10\x01\x12\x19\n\x15\x43OMP_USAGE_STATE_IDLE\x10\x02\x12\x1b\n\x17\x43OMP_USAGE_STATE_ACTIVE\x10\x03\x12\x19\n\x15\x43OMP_USAGE_STATE_BUSY\x10\x04*\x8f\x02\n\x13\x43omponentAlarmState\x12\x1e\n\x1a\x43OMP_ALARM_STATE_UNDEFINED\x10\x00\x12\x1c\n\x18\x43OMP_ALARM_STATE_UNKNOWN\x10\x01\x12!\n\x1d\x43OMP_ALARM_STATE_UNDER_REPAIR\x10\x02\x12\x1d\n\x19\x43OMP_ALARM_STATE_CRITICAL\x10\x03\x12\x1a\n\x16\x43OMP_ALARM_STATE_MAJOR\x10\x04\x12\x1a\n\x16\x43OMP_ALARM_STATE_MINOR\x10\x05\x12\x1c\n\x18\x43OMP_ALARM_STATE_WARNING\x10\x06\x12\"\n\x1e\x43OMP_ALARM_STATE_INDETERMINATE\x10\x07*\xbc\x01\n\x15\x43omponentStandbyState\x12 \n\x1c\x43OMP_STANDBY_STATE_UNDEFINED\x10\x00\x12\x1e\n\x1a\x43OMP_STANDBY_STATE_UNKNOWN\x10\x01\x12\x1a\n\x16\x43OMP_STANDBY_STATE_HOT\x10\x02\x12\x1b\n\x17\x43OMP_STANDBY_STATE_COLD\x10\x03\x12(\n$COMP_STANDBY_STATE_PROVIDING_SERVICE\x10\x04*\x9d\x03\n\rDataValueType\x12\x18\n\x14VALUE_TYPE_UNDEFINED\x10\x00\x12\x14\n\x10VALUE_TYPE_OTHER\x10\x01\x12\x16\n\x12VALUE_TYPE_UNKNOWN\x10\x02\x12\x17\n\x13VALUE_TYPE_VOLTS_AC\x10\x03\x12\x17\n\x13VALUE_TYPE_VOLTS_DC\x10\x04\x12\x16\n\x12VALUE_TYPE_AMPERES\x10\x05\x12\x14\n\x10VALUE_TYPE_WATTS\x10\x06\x12\x14\n\x10VALUE_TYPE_HERTZ\x10\x07\x12\x16\n\x12VALUE_TYPE_CELSIUS\x10\x08\x12\x19\n\x15VALUE_TYPE_PERCENT_RH\x10\t\x12\x12\n\x0eVALUE_TYPE_RPM\x10\n\x12\x12\n\x0eVALUE_TYPE_CMM\x10\x0b\x12\x1a\n\x16VALUE_TYPE_TRUTH_VALUE\x10\x0c\x12\x16\n\x12VALUE_TYPE_PERCENT\x10\r\x12\x15\n\x11VALUE_TYPE_METERS\x10\x0e\x12\x14\n\x10VALUE_TYPE_BYTES\x10\x0f\x12\x12\n\x0eVALUE_TYPE_DBM\x10\x10*\xa4\x03\n\nValueScale\x12\x19\n\x15VALUE_SCALE_UNDEFINED\x10\x00\x12\x15\n\x11VALUE_SCALE_YOCTO\x10\x01\x12\x15\n\x11VALUE_SCALE_ZEPTO\x10\x02\x12\x14\n\x10VALUE_SCALE_ATTO\x10\x03\x12\x15\n\x11VALUE_SCALE_FEMTO\x10\x04\x12\x14\n\x10VALUE_SCALE_PICO\x10\x05\x12\x14\n\x10VALUE_SCALE_NANO\x10\x06\x12\x15\n\x11VALUE_SCALE_MICRO\x10\x07\x12\x15\n\x11VALUE_SCALE_MILLI\x10\x08\x12\x15\n\x11VALUE_SCALE_UNITS\x10\t\x12\x14\n\x10VALUE_SCALE_KILO\x10\n\x12\x14\n\x10VALUE_SCALE_MEGA\x10\x0b\x12\x14\n\x10VALUE_SCALE_GIGA\x10\x0c\x12\x14\n\x10VALUE_SCALE_TERA\x10\r\x12\x14\n\x10VALUE_SCALE_PETA\x10\x0e\x12\x13\n\x0fVALUE_SCALE_EXA\x10\x0f\x12\x15\n\x11VALUE_SCALE_ZETTA\x10\x10\x12\x15\n\x11VALUE_SCALE_YOTTA\x10\x11*\x82\x01\n\x0cSensorStatus\x12\x1b\n\x17SENSOR_STATUS_UNDEFINED\x10\x00\x12\x14\n\x10SENSOR_STATUS_OK\x10\x01\x12\x1d\n\x19SENSOR_STATUS_UNAVAILABLE\x10\x02\x12 \n\x1cSENSOR_STATUS_NONOPERATIONAL\x10\x03*\xa4\x01\n\x0fTransceiverType\x12\x12\n\x0eTYPE_UNDEFINED\x10\x00\x12\x0c\n\x08\x45THERNET\x10\x01\x12\x08\n\x04GPON\x10\x02\x12\t\n\x05XGPON\x10\x03\x12\n\n\x06XGSPON\x10\x04\x12\x08\n\x04\x43PON\x10\x05\x12\x0b\n\x07NG_PON2\x10\x06\x12\x08\n\x04\x45PON\x10\x07\x12\x15\n\x11\x43OMBO_GPON_XGSPON\x10\x08\x12\x16\n\x11TYPE_NOT_DETECTED\x10\xff\x01\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
 
 _COMPONENTTYPE = DESCRIPTOR.enum_types_by_name['ComponentType']
 ComponentType = enum_type_wrapper.EnumTypeWrapper(_COMPONENTTYPE)
@@ -138,6 +138,7 @@
 _COMPONENTSTATE = DESCRIPTOR.message_types_by_name['ComponentState']
 _COMPONENTSENSORDATA = DESCRIPTOR.message_types_by_name['ComponentSensorData']
 _PORTCOMPONENTATTRIBUTES = DESCRIPTOR.message_types_by_name['PortComponentAttributes']
+_PONDISTANCE = DESCRIPTOR.message_types_by_name['PonDistance']
 _PORTCOMPONENTCHANGEATTRIBUTES = DESCRIPTOR.message_types_by_name['PortComponentChangeAttributes']
 _TRANSCEIVERCOMPONENTCHANGEATTRIBUTES = DESCRIPTOR.message_types_by_name['TransceiverComponentChangeAttributes']
 _PONIDCONFIG = DESCRIPTOR.message_types_by_name['PonIdConfig']
@@ -194,6 +195,13 @@
   })
 _sym_db.RegisterMessage(PortComponentAttributes)
 
+PonDistance = _reflection.GeneratedProtocolMessageType('PonDistance', (_message.Message,), {
+  'DESCRIPTOR' : _PONDISTANCE,
+  '__module__' : 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.PonDistance)
+  })
+_sym_db.RegisterMessage(PonDistance)
+
 PortComponentChangeAttributes = _reflection.GeneratedProtocolMessageType('PortComponentChangeAttributes', (_message.Message,), {
   'DESCRIPTOR' : _PORTCOMPONENTCHANGEATTRIBUTES,
   '__module__' : 'dmi.hw_pb2'
@@ -261,26 +269,26 @@
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'Z9github.com/opencord/device-management-interface/v3/go/dmi'
-  _COMPONENTTYPE._serialized_start=3735
-  _COMPONENTTYPE._serialized_end=4171
-  _COMPONENTADMINSTATE._serialized_start=4174
-  _COMPONENTADMINSTATE._serialized_end=4353
-  _COMPONENTOPERSTATE._serialized_start=4356
-  _COMPONENTOPERSTATE._serialized_end=4524
-  _COMPONENTUSAGESTATE._serialized_start=4527
-  _COMPONENTUSAGESTATE._serialized_end=4693
-  _COMPONENTALARMSTATE._serialized_start=4696
-  _COMPONENTALARMSTATE._serialized_end=4967
-  _COMPONENTSTANDBYSTATE._serialized_start=4970
-  _COMPONENTSTANDBYSTATE._serialized_end=5158
-  _DATAVALUETYPE._serialized_start=5161
-  _DATAVALUETYPE._serialized_end=5574
-  _VALUESCALE._serialized_start=5577
-  _VALUESCALE._serialized_end=5997
-  _SENSORSTATUS._serialized_start=6000
-  _SENSORSTATUS._serialized_end=6130
-  _TRANSCEIVERTYPE._serialized_start=6133
-  _TRANSCEIVERTYPE._serialized_end=6297
+  _COMPONENTTYPE._serialized_start=3879
+  _COMPONENTTYPE._serialized_end=4315
+  _COMPONENTADMINSTATE._serialized_start=4318
+  _COMPONENTADMINSTATE._serialized_end=4497
+  _COMPONENTOPERSTATE._serialized_start=4500
+  _COMPONENTOPERSTATE._serialized_end=4668
+  _COMPONENTUSAGESTATE._serialized_start=4671
+  _COMPONENTUSAGESTATE._serialized_end=4837
+  _COMPONENTALARMSTATE._serialized_start=4840
+  _COMPONENTALARMSTATE._serialized_end=5111
+  _COMPONENTSTANDBYSTATE._serialized_start=5114
+  _COMPONENTSTANDBYSTATE._serialized_end=5302
+  _DATAVALUETYPE._serialized_start=5305
+  _DATAVALUETYPE._serialized_end=5718
+  _VALUESCALE._serialized_start=5721
+  _VALUESCALE._serialized_end=6141
+  _SENSORSTATUS._serialized_start=6144
+  _SENSORSTATUS._serialized_end=6274
+  _TRANSCEIVERTYPE._serialized_start=6277
+  _TRANSCEIVERTYPE._serialized_end=6441
   _UUID._serialized_start=54
   _UUID._serialized_end=74
   _HARDWAREID._serialized_start=76
@@ -292,33 +300,35 @@
   _COMPONENTSENSORDATA._serialized_start=448
   _COMPONENTSENSORDATA._serialized_end=720
   _PORTCOMPONENTATTRIBUTES._serialized_start=723
-  _PORTCOMPONENTATTRIBUTES._serialized_end=1460
-  _PORTCOMPONENTATTRIBUTES_CONNECTORTYPE._serialized_start=1045
-  _PORTCOMPONENTATTRIBUTES_CONNECTORTYPE._serialized_end=1157
-  _PORTCOMPONENTATTRIBUTES_SPEED._serialized_start=1160
-  _PORTCOMPONENTATTRIBUTES_SPEED._serialized_end=1334
-  _PORTCOMPONENTATTRIBUTES_PROTOCOL._serialized_start=1336
-  _PORTCOMPONENTATTRIBUTES_PROTOCOL._serialized_end=1460
-  _PORTCOMPONENTCHANGEATTRIBUTES._serialized_start=1462
-  _PORTCOMPONENTCHANGEATTRIBUTES._serialized_end=1534
-  _TRANSCEIVERCOMPONENTCHANGEATTRIBUTES._serialized_start=1536
-  _TRANSCEIVERCOMPONENTCHANGEATTRIBUTES._serialized_end=1616
-  _PONIDCONFIG._serialized_start=1618
-  _PONIDCONFIG._serialized_end=1684
-  _CONTAINERCOMPONENTATTRIBUTES._serialized_start=1686
-  _CONTAINERCOMPONENTATTRIBUTES._serialized_end=1740
-  _PSUCOMPONENTATTRIBUTES._serialized_start=1743
-  _PSUCOMPONENTATTRIBUTES._serialized_end=1922
-  _PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE._serialized_start=1842
-  _PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE._serialized_end=1922
-  _TRANSCEIVERCOMPONENTSATTRIBUTES._serialized_start=1925
-  _TRANSCEIVERCOMPONENTSATTRIBUTES._serialized_end=2480
-  _TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR._serialized_start=2288
-  _TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR._serialized_end=2480
-  _COMPONENT._serialized_start=2483
-  _COMPONENT._serialized_end=3227
-  _HARDWARE._serialized_start=3230
-  _HARDWARE._serialized_end=3368
-  _MODIFIABLECOMPONENT._serialized_start=3371
-  _MODIFIABLECOMPONENT._serialized_end=3732
+  _PORTCOMPONENTATTRIBUTES._serialized_end=1496
+  _PORTCOMPONENTATTRIBUTES_CONNECTORTYPE._serialized_start=1081
+  _PORTCOMPONENTATTRIBUTES_CONNECTORTYPE._serialized_end=1193
+  _PORTCOMPONENTATTRIBUTES_SPEED._serialized_start=1196
+  _PORTCOMPONENTATTRIBUTES_SPEED._serialized_end=1370
+  _PORTCOMPONENTATTRIBUTES_PROTOCOL._serialized_start=1372
+  _PORTCOMPONENTATTRIBUTES_PROTOCOL._serialized_end=1496
+  _PONDISTANCE._serialized_start=1498
+  _PONDISTANCE._serialized_end=1568
+  _PORTCOMPONENTCHANGEATTRIBUTES._serialized_start=1570
+  _PORTCOMPONENTCHANGEATTRIBUTES._serialized_end=1678
+  _TRANSCEIVERCOMPONENTCHANGEATTRIBUTES._serialized_start=1680
+  _TRANSCEIVERCOMPONENTCHANGEATTRIBUTES._serialized_end=1760
+  _PONIDCONFIG._serialized_start=1762
+  _PONIDCONFIG._serialized_end=1828
+  _CONTAINERCOMPONENTATTRIBUTES._serialized_start=1830
+  _CONTAINERCOMPONENTATTRIBUTES._serialized_end=1884
+  _PSUCOMPONENTATTRIBUTES._serialized_start=1887
+  _PSUCOMPONENTATTRIBUTES._serialized_end=2066
+  _PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE._serialized_start=1986
+  _PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE._serialized_end=2066
+  _TRANSCEIVERCOMPONENTSATTRIBUTES._serialized_start=2069
+  _TRANSCEIVERCOMPONENTSATTRIBUTES._serialized_end=2624
+  _TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR._serialized_start=2432
+  _TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR._serialized_end=2624
+  _COMPONENT._serialized_start=2627
+  _COMPONENT._serialized_end=3371
+  _HARDWARE._serialized_start=3374
+  _HARDWARE._serialized_end=3512
+  _MODIFIABLECOMPONENT._serialized_start=3515
+  _MODIFIABLECOMPONENT._serialized_end=3876
 # @@protoc_insertion_point(module_scope)
