diff --git a/README.md b/README.md
index 0cbcc92..e796710 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # Device Management Interface
+
 ## Overview
+
 This repository holds the `.proto` files and documentation for the device management interface.
 
 The proto files and APIs are based on [RFC-8348](https://tools.ietf.org/html/rfc8348) from IETF and WT-383 from BBF
@@ -10,7 +12,7 @@
 Related documentations can be found in the [docs/](./docs) directory.
 
 For anybody looking to implement a Device Manager component we suggest looking at the [RPC guidelines](docs/RpcGuidelines.md).
-Then Each API in the `.proto` files has an explanation in its own `.md` file. Examples of the APIs can be found [here](docs/Examples.md)
+Each API in the `.proto` files has an explanation in its own `.md` file. Examples of the APIs can be found [here](docs/Examples.md)
 
 ## Meetings
 
diff --git a/VERSION b/VERSION
index 7e310ba..78bc1ab 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.9.9
+0.10.0
diff --git a/dmi.pb b/dmi.pb
index e6dad4a..f1547f5 100644
--- a/dmi.pb
+++ b/dmi.pb
Binary files differ
diff --git a/docs/Examples.md b/docs/Examples.md
index 431a705..7f6c4c6 100644
--- a/docs/Examples.md
+++ b/docs/Examples.md
@@ -1,12 +1,17 @@
 # Examples of usage of the APIs
-BBSim implements the DeviceManagement Server and most of the examples of usage of the APIs using grpurl can be found in the [BBSim docs here](https://github.com/opencord/bbsim/blob/master/docs/source/DMI_Server_README.md)
+
+BBSim implements the Device Management Interface and most of the examples of usage of the APIs using grpurl can be found in the [BBSim docs here](https://github.com/opencord/bbsim/blob/master/docs/source/DMI_Server_README.md)
 
 ## Image Management APIs
+
 ### DownloadImage
+
 ```sh
 $ grpcurl -v -plaintext -d "{\"device_uuid\": {\"uuid\": \"$UUID\"}, \"image_info\": {\"image_url\": \"sftp://$USER:$PASSWORD@10.34.90.43:22/upload/olt-image-v1.2.3-onie_inst.bin\"}}" $DM_IP dmi.NativeSoftwareManagementService.DownloadImage
 ```
+
 ### ActivateImage
+
 ``` sh
 $ grpcurl -v -plaintext -d "{\"uuid\": {\"uuid\": \"$UUID\"}}" $DM_IP dmi.NativeSoftwareManagementService.ActivateImage
 ```
diff --git a/go/dmi/hw.pb.go b/go/dmi/hw.pb.go
index 21d2649..b1e16a1 100644
--- a/go/dmi/hw.pb.go
+++ b/go/dmi/hw.pb.go
@@ -24,23 +24,22 @@
 type ComponentType int32
 
 const (
-	ComponentType_COMPONENT_TYPE_UNDEFINED           ComponentType = 0
-	ComponentType_COMPONENT_TYPE_UNKNOWN             ComponentType = 1
-	ComponentType_COMPONENT_TYPE_CHASSIS             ComponentType = 2
-	ComponentType_COMPONENT_TYPE_BACKPLANE           ComponentType = 3
-	ComponentType_COMPONENT_TYPE_CONTAINER           ComponentType = 4
-	ComponentType_COMPONENT_TYPE_POWER_SUPPLY        ComponentType = 5
-	ComponentType_COMPONENT_TYPE_FAN                 ComponentType = 6
-	ComponentType_COMPONENT_TYPE_SENSOR              ComponentType = 7
-	ComponentType_COMPONENT_TYPE_MODULE              ComponentType = 8
-	ComponentType_COMPONENT_TYPE_PORT                ComponentType = 9
-	ComponentType_COMPONENT_TYPE_CPU                 ComponentType = 10
-	ComponentType_COMPONENT_TYPE_BATTERY             ComponentType = 11
-	ComponentType_COMPONENT_TYPE_STORAGE             ComponentType = 12
-	ComponentType_COMPONENT_TYPE_MEMORY              ComponentType = 13
-	ComponentType_COMPONENT_TYPE_TRANSCEIVER         ComponentType = 14
-	ComponentType_COMPONENT_TYPE_GPON_TRANSCEIVER    ComponentType = 15
-	ComponentType_COMPONENT_TYPE_XGS_PON_TRANSCEIVER ComponentType = 16
+	ComponentType_COMPONENT_TYPE_UNDEFINED    ComponentType = 0
+	ComponentType_COMPONENT_TYPE_UNKNOWN      ComponentType = 1
+	ComponentType_COMPONENT_TYPE_CHASSIS      ComponentType = 2
+	ComponentType_COMPONENT_TYPE_BACKPLANE    ComponentType = 3
+	ComponentType_COMPONENT_TYPE_CONTAINER    ComponentType = 4
+	ComponentType_COMPONENT_TYPE_POWER_SUPPLY ComponentType = 5
+	ComponentType_COMPONENT_TYPE_FAN          ComponentType = 6
+	ComponentType_COMPONENT_TYPE_SENSOR       ComponentType = 7
+	ComponentType_COMPONENT_TYPE_MODULE       ComponentType = 8
+	ComponentType_COMPONENT_TYPE_PORT         ComponentType = 9
+	ComponentType_COMPONENT_TYPE_CPU          ComponentType = 10
+	ComponentType_COMPONENT_TYPE_BATTERY      ComponentType = 11
+	ComponentType_COMPONENT_TYPE_STORAGE      ComponentType = 12
+	ComponentType_COMPONENT_TYPE_MEMORY       ComponentType = 13
+	// A component of type "TRANSCEIVER" could have 0 or more components of type "PORT" as children.
+	ComponentType_COMPONENT_TYPE_TRANSCEIVER ComponentType = 14
 )
 
 var ComponentType_name = map[int32]string{
@@ -59,28 +58,24 @@
 	12: "COMPONENT_TYPE_STORAGE",
 	13: "COMPONENT_TYPE_MEMORY",
 	14: "COMPONENT_TYPE_TRANSCEIVER",
-	15: "COMPONENT_TYPE_GPON_TRANSCEIVER",
-	16: "COMPONENT_TYPE_XGS_PON_TRANSCEIVER",
 }
 
 var ComponentType_value = map[string]int32{
-	"COMPONENT_TYPE_UNDEFINED":           0,
-	"COMPONENT_TYPE_UNKNOWN":             1,
-	"COMPONENT_TYPE_CHASSIS":             2,
-	"COMPONENT_TYPE_BACKPLANE":           3,
-	"COMPONENT_TYPE_CONTAINER":           4,
-	"COMPONENT_TYPE_POWER_SUPPLY":        5,
-	"COMPONENT_TYPE_FAN":                 6,
-	"COMPONENT_TYPE_SENSOR":              7,
-	"COMPONENT_TYPE_MODULE":              8,
-	"COMPONENT_TYPE_PORT":                9,
-	"COMPONENT_TYPE_CPU":                 10,
-	"COMPONENT_TYPE_BATTERY":             11,
-	"COMPONENT_TYPE_STORAGE":             12,
-	"COMPONENT_TYPE_MEMORY":              13,
-	"COMPONENT_TYPE_TRANSCEIVER":         14,
-	"COMPONENT_TYPE_GPON_TRANSCEIVER":    15,
-	"COMPONENT_TYPE_XGS_PON_TRANSCEIVER": 16,
+	"COMPONENT_TYPE_UNDEFINED":    0,
+	"COMPONENT_TYPE_UNKNOWN":      1,
+	"COMPONENT_TYPE_CHASSIS":      2,
+	"COMPONENT_TYPE_BACKPLANE":    3,
+	"COMPONENT_TYPE_CONTAINER":    4,
+	"COMPONENT_TYPE_POWER_SUPPLY": 5,
+	"COMPONENT_TYPE_FAN":          6,
+	"COMPONENT_TYPE_SENSOR":       7,
+	"COMPONENT_TYPE_MODULE":       8,
+	"COMPONENT_TYPE_PORT":         9,
+	"COMPONENT_TYPE_CPU":          10,
+	"COMPONENT_TYPE_BATTERY":      11,
+	"COMPONENT_TYPE_STORAGE":      12,
+	"COMPONENT_TYPE_MEMORY":       13,
+	"COMPONENT_TYPE_TRANSCEIVER":  14,
 }
 
 func (x ComponentType) String() string {
@@ -270,134 +265,134 @@
 	return fileDescriptor_d7c33d745c4ab367, []int{5}
 }
 
-type SensorValueType int32
+type DataValueType int32
 
 const (
-	SensorValueType_SENSOR_VALUE_TYPE_UNDEFINED   SensorValueType = 0
-	SensorValueType_SENSOR_VALUE_TYPE_OTHER       SensorValueType = 1
-	SensorValueType_SENSOR_VALUE_TYPE_UNKNOWN     SensorValueType = 2
-	SensorValueType_SENSOR_VALUE_TYPE_VOLTS_AC    SensorValueType = 3
-	SensorValueType_SENSOR_VALUE_TYPE_VOLTS_DC    SensorValueType = 4
-	SensorValueType_SENSOR_VALUE_TYPE_AMPERES     SensorValueType = 5
-	SensorValueType_SENSOR_VALUE_TYPE_WATTS       SensorValueType = 6
-	SensorValueType_SENSOR_VALUE_TYPE_HERTZ       SensorValueType = 7
-	SensorValueType_SENSOR_VALUE_TYPE_CELSIUS     SensorValueType = 8
-	SensorValueType_SENSOR_VALUE_TYPE_PERCENT_RH  SensorValueType = 9
-	SensorValueType_SENSOR_VALUE_TYPE_RPM         SensorValueType = 10
-	SensorValueType_SENSOR_VALUE_TYPE_CMM         SensorValueType = 11
-	SensorValueType_SENSOR_VALUE_TYPE_TRUTH_VALUE SensorValueType = 12
+	DataValueType_VALUE_TYPE_UNDEFINED   DataValueType = 0
+	DataValueType_VALUE_TYPE_OTHER       DataValueType = 1
+	DataValueType_VALUE_TYPE_UNKNOWN     DataValueType = 2
+	DataValueType_VALUE_TYPE_VOLTS_AC    DataValueType = 3
+	DataValueType_VALUE_TYPE_VOLTS_DC    DataValueType = 4
+	DataValueType_VALUE_TYPE_AMPERES     DataValueType = 5
+	DataValueType_VALUE_TYPE_WATTS       DataValueType = 6
+	DataValueType_VALUE_TYPE_HERTZ       DataValueType = 7
+	DataValueType_VALUE_TYPE_CELSIUS     DataValueType = 8
+	DataValueType_VALUE_TYPE_PERCENT_RH  DataValueType = 9
+	DataValueType_VALUE_TYPE_RPM         DataValueType = 10
+	DataValueType_VALUE_TYPE_CMM         DataValueType = 11
+	DataValueType_VALUE_TYPE_TRUTH_VALUE DataValueType = 12
 )
 
-var SensorValueType_name = map[int32]string{
-	0:  "SENSOR_VALUE_TYPE_UNDEFINED",
-	1:  "SENSOR_VALUE_TYPE_OTHER",
-	2:  "SENSOR_VALUE_TYPE_UNKNOWN",
-	3:  "SENSOR_VALUE_TYPE_VOLTS_AC",
-	4:  "SENSOR_VALUE_TYPE_VOLTS_DC",
-	5:  "SENSOR_VALUE_TYPE_AMPERES",
-	6:  "SENSOR_VALUE_TYPE_WATTS",
-	7:  "SENSOR_VALUE_TYPE_HERTZ",
-	8:  "SENSOR_VALUE_TYPE_CELSIUS",
-	9:  "SENSOR_VALUE_TYPE_PERCENT_RH",
-	10: "SENSOR_VALUE_TYPE_RPM",
-	11: "SENSOR_VALUE_TYPE_CMM",
-	12: "SENSOR_VALUE_TYPE_TRUTH_VALUE",
+var DataValueType_name = map[int32]string{
+	0:  "VALUE_TYPE_UNDEFINED",
+	1:  "VALUE_TYPE_OTHER",
+	2:  "VALUE_TYPE_UNKNOWN",
+	3:  "VALUE_TYPE_VOLTS_AC",
+	4:  "VALUE_TYPE_VOLTS_DC",
+	5:  "VALUE_TYPE_AMPERES",
+	6:  "VALUE_TYPE_WATTS",
+	7:  "VALUE_TYPE_HERTZ",
+	8:  "VALUE_TYPE_CELSIUS",
+	9:  "VALUE_TYPE_PERCENT_RH",
+	10: "VALUE_TYPE_RPM",
+	11: "VALUE_TYPE_CMM",
+	12: "VALUE_TYPE_TRUTH_VALUE",
 }
 
-var SensorValueType_value = map[string]int32{
-	"SENSOR_VALUE_TYPE_UNDEFINED":   0,
-	"SENSOR_VALUE_TYPE_OTHER":       1,
-	"SENSOR_VALUE_TYPE_UNKNOWN":     2,
-	"SENSOR_VALUE_TYPE_VOLTS_AC":    3,
-	"SENSOR_VALUE_TYPE_VOLTS_DC":    4,
-	"SENSOR_VALUE_TYPE_AMPERES":     5,
-	"SENSOR_VALUE_TYPE_WATTS":       6,
-	"SENSOR_VALUE_TYPE_HERTZ":       7,
-	"SENSOR_VALUE_TYPE_CELSIUS":     8,
-	"SENSOR_VALUE_TYPE_PERCENT_RH":  9,
-	"SENSOR_VALUE_TYPE_RPM":         10,
-	"SENSOR_VALUE_TYPE_CMM":         11,
-	"SENSOR_VALUE_TYPE_TRUTH_VALUE": 12,
+var DataValueType_value = map[string]int32{
+	"VALUE_TYPE_UNDEFINED":   0,
+	"VALUE_TYPE_OTHER":       1,
+	"VALUE_TYPE_UNKNOWN":     2,
+	"VALUE_TYPE_VOLTS_AC":    3,
+	"VALUE_TYPE_VOLTS_DC":    4,
+	"VALUE_TYPE_AMPERES":     5,
+	"VALUE_TYPE_WATTS":       6,
+	"VALUE_TYPE_HERTZ":       7,
+	"VALUE_TYPE_CELSIUS":     8,
+	"VALUE_TYPE_PERCENT_RH":  9,
+	"VALUE_TYPE_RPM":         10,
+	"VALUE_TYPE_CMM":         11,
+	"VALUE_TYPE_TRUTH_VALUE": 12,
 }
 
-func (x SensorValueType) String() string {
-	return proto.EnumName(SensorValueType_name, int32(x))
+func (x DataValueType) String() string {
+	return proto.EnumName(DataValueType_name, int32(x))
 }
 
-func (SensorValueType) EnumDescriptor() ([]byte, []int) {
+func (DataValueType) EnumDescriptor() ([]byte, []int) {
 	return fileDescriptor_d7c33d745c4ab367, []int{6}
 }
 
-type SensorValueScale int32
+type ValueScale int32
 
 const (
-	SensorValueScale_SENSOR_VALUE_SCALE_UNDEFINED SensorValueScale = 0
-	SensorValueScale_SENSOR_VALUE_SCALE_YOCTO     SensorValueScale = 1
-	SensorValueScale_SENSOR_VALUE_SCALE_ZEPTO     SensorValueScale = 2
-	SensorValueScale_SENSOR_VALUE_SCALE_ATTO      SensorValueScale = 3
-	SensorValueScale_SENSOR_VALUE_SCALE_FEMTO     SensorValueScale = 4
-	SensorValueScale_SENSOR_VALUE_SCALE_PICO      SensorValueScale = 5
-	SensorValueScale_SENSOR_VALUE_SCALE_NANO      SensorValueScale = 6
-	SensorValueScale_SENSOR_VALUE_SCALE_MICRO     SensorValueScale = 7
-	SensorValueScale_SENSOR_VALUE_SCALE_MILLI     SensorValueScale = 8
-	SensorValueScale_SENSOR_VALUE_SCALE_UNITS     SensorValueScale = 9
-	SensorValueScale_SENSOR_VALUE_SCALE_KILO      SensorValueScale = 10
-	SensorValueScale_SENSOR_VALUE_SCALE_MEGA      SensorValueScale = 11
-	SensorValueScale_SENSOR_VALUE_SCALE_GIGA      SensorValueScale = 12
-	SensorValueScale_SENSOR_VALUE_SCALE_TERA      SensorValueScale = 13
-	SensorValueScale_SENSOR_VALUE_SCALE_PETA      SensorValueScale = 14
-	SensorValueScale_SENSOR_VALUE_SCALE_EXA       SensorValueScale = 15
-	SensorValueScale_SENSOR_VALUE_SCALE_ZETTA     SensorValueScale = 16
-	SensorValueScale_SENSOR_VALUE_SCALE_YOTTA     SensorValueScale = 17
+	ValueScale_VALUE_SCALE_UNDEFINED ValueScale = 0
+	ValueScale_VALUE_SCALE_YOCTO     ValueScale = 1
+	ValueScale_VALUE_SCALE_ZEPTO     ValueScale = 2
+	ValueScale_VALUE_SCALE_ATTO      ValueScale = 3
+	ValueScale_VALUE_SCALE_FEMTO     ValueScale = 4
+	ValueScale_VALUE_SCALE_PICO      ValueScale = 5
+	ValueScale_VALUE_SCALE_NANO      ValueScale = 6
+	ValueScale_VALUE_SCALE_MICRO     ValueScale = 7
+	ValueScale_VALUE_SCALE_MILLI     ValueScale = 8
+	ValueScale_VALUE_SCALE_UNITS     ValueScale = 9
+	ValueScale_VALUE_SCALE_KILO      ValueScale = 10
+	ValueScale_VALUE_SCALE_MEGA      ValueScale = 11
+	ValueScale_VALUE_SCALE_GIGA      ValueScale = 12
+	ValueScale_VALUE_SCALE_TERA      ValueScale = 13
+	ValueScale_VALUE_SCALE_PETA      ValueScale = 14
+	ValueScale_VALUE_SCALE_EXA       ValueScale = 15
+	ValueScale_VALUE_SCALE_ZETTA     ValueScale = 16
+	ValueScale_VALUE_SCALE_YOTTA     ValueScale = 17
 )
 
-var SensorValueScale_name = map[int32]string{
-	0:  "SENSOR_VALUE_SCALE_UNDEFINED",
-	1:  "SENSOR_VALUE_SCALE_YOCTO",
-	2:  "SENSOR_VALUE_SCALE_ZEPTO",
-	3:  "SENSOR_VALUE_SCALE_ATTO",
-	4:  "SENSOR_VALUE_SCALE_FEMTO",
-	5:  "SENSOR_VALUE_SCALE_PICO",
-	6:  "SENSOR_VALUE_SCALE_NANO",
-	7:  "SENSOR_VALUE_SCALE_MICRO",
-	8:  "SENSOR_VALUE_SCALE_MILLI",
-	9:  "SENSOR_VALUE_SCALE_UNITS",
-	10: "SENSOR_VALUE_SCALE_KILO",
-	11: "SENSOR_VALUE_SCALE_MEGA",
-	12: "SENSOR_VALUE_SCALE_GIGA",
-	13: "SENSOR_VALUE_SCALE_TERA",
-	14: "SENSOR_VALUE_SCALE_PETA",
-	15: "SENSOR_VALUE_SCALE_EXA",
-	16: "SENSOR_VALUE_SCALE_ZETTA",
-	17: "SENSOR_VALUE_SCALE_YOTTA",
+var ValueScale_name = map[int32]string{
+	0:  "VALUE_SCALE_UNDEFINED",
+	1:  "VALUE_SCALE_YOCTO",
+	2:  "VALUE_SCALE_ZEPTO",
+	3:  "VALUE_SCALE_ATTO",
+	4:  "VALUE_SCALE_FEMTO",
+	5:  "VALUE_SCALE_PICO",
+	6:  "VALUE_SCALE_NANO",
+	7:  "VALUE_SCALE_MICRO",
+	8:  "VALUE_SCALE_MILLI",
+	9:  "VALUE_SCALE_UNITS",
+	10: "VALUE_SCALE_KILO",
+	11: "VALUE_SCALE_MEGA",
+	12: "VALUE_SCALE_GIGA",
+	13: "VALUE_SCALE_TERA",
+	14: "VALUE_SCALE_PETA",
+	15: "VALUE_SCALE_EXA",
+	16: "VALUE_SCALE_ZETTA",
+	17: "VALUE_SCALE_YOTTA",
 }
 
-var SensorValueScale_value = map[string]int32{
-	"SENSOR_VALUE_SCALE_UNDEFINED": 0,
-	"SENSOR_VALUE_SCALE_YOCTO":     1,
-	"SENSOR_VALUE_SCALE_ZEPTO":     2,
-	"SENSOR_VALUE_SCALE_ATTO":      3,
-	"SENSOR_VALUE_SCALE_FEMTO":     4,
-	"SENSOR_VALUE_SCALE_PICO":      5,
-	"SENSOR_VALUE_SCALE_NANO":      6,
-	"SENSOR_VALUE_SCALE_MICRO":     7,
-	"SENSOR_VALUE_SCALE_MILLI":     8,
-	"SENSOR_VALUE_SCALE_UNITS":     9,
-	"SENSOR_VALUE_SCALE_KILO":      10,
-	"SENSOR_VALUE_SCALE_MEGA":      11,
-	"SENSOR_VALUE_SCALE_GIGA":      12,
-	"SENSOR_VALUE_SCALE_TERA":      13,
-	"SENSOR_VALUE_SCALE_PETA":      14,
-	"SENSOR_VALUE_SCALE_EXA":       15,
-	"SENSOR_VALUE_SCALE_ZETTA":     16,
-	"SENSOR_VALUE_SCALE_YOTTA":     17,
+var ValueScale_value = map[string]int32{
+	"VALUE_SCALE_UNDEFINED": 0,
+	"VALUE_SCALE_YOCTO":     1,
+	"VALUE_SCALE_ZEPTO":     2,
+	"VALUE_SCALE_ATTO":      3,
+	"VALUE_SCALE_FEMTO":     4,
+	"VALUE_SCALE_PICO":      5,
+	"VALUE_SCALE_NANO":      6,
+	"VALUE_SCALE_MICRO":     7,
+	"VALUE_SCALE_MILLI":     8,
+	"VALUE_SCALE_UNITS":     9,
+	"VALUE_SCALE_KILO":      10,
+	"VALUE_SCALE_MEGA":      11,
+	"VALUE_SCALE_GIGA":      12,
+	"VALUE_SCALE_TERA":      13,
+	"VALUE_SCALE_PETA":      14,
+	"VALUE_SCALE_EXA":       15,
+	"VALUE_SCALE_ZETTA":     16,
+	"VALUE_SCALE_YOTTA":     17,
 }
 
-func (x SensorValueScale) String() string {
-	return proto.EnumName(SensorValueScale_name, int32(x))
+func (x ValueScale) String() string {
+	return proto.EnumName(ValueScale_name, int32(x))
 }
 
-func (SensorValueScale) EnumDescriptor() ([]byte, []int) {
+func (ValueScale) EnumDescriptor() ([]byte, []int) {
 	return fileDescriptor_d7c33d745c4ab367, []int{7}
 }
 
@@ -432,6 +427,270 @@
 	return fileDescriptor_d7c33d745c4ab367, []int{8}
 }
 
+type PortComponentAttributes_ConnectorType int32
+
+const (
+	PortComponentAttributes_CONNECTOR_TYPE_UNDEFINED PortComponentAttributes_ConnectorType = 0
+	PortComponentAttributes_RJ45                     PortComponentAttributes_ConnectorType = 1
+	PortComponentAttributes_FIBER_LC                 PortComponentAttributes_ConnectorType = 2
+	PortComponentAttributes_FIBER_SC_PC              PortComponentAttributes_ConnectorType = 3
+	PortComponentAttributes_FIBER_MPO                PortComponentAttributes_ConnectorType = 4
+)
+
+var PortComponentAttributes_ConnectorType_name = map[int32]string{
+	0: "CONNECTOR_TYPE_UNDEFINED",
+	1: "RJ45",
+	2: "FIBER_LC",
+	3: "FIBER_SC_PC",
+	4: "FIBER_MPO",
+}
+
+var PortComponentAttributes_ConnectorType_value = map[string]int32{
+	"CONNECTOR_TYPE_UNDEFINED": 0,
+	"RJ45":                     1,
+	"FIBER_LC":                 2,
+	"FIBER_SC_PC":              3,
+	"FIBER_MPO":                4,
+}
+
+func (x PortComponentAttributes_ConnectorType) String() string {
+	return proto.EnumName(PortComponentAttributes_ConnectorType_name, int32(x))
+}
+
+func (PortComponentAttributes_ConnectorType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{5, 0}
+}
+
+type PortComponentAttributes_Speed int32
+
+const (
+	PortComponentAttributes_SPEED_UNDEFINED PortComponentAttributes_Speed = 0
+	PortComponentAttributes_DYNAMIC         PortComponentAttributes_Speed = 1
+	PortComponentAttributes_GIGABIT_1       PortComponentAttributes_Speed = 2
+	PortComponentAttributes_GIGABIT_10      PortComponentAttributes_Speed = 3
+	PortComponentAttributes_GIGABIT_25      PortComponentAttributes_Speed = 4
+	PortComponentAttributes_GIGABIT_40      PortComponentAttributes_Speed = 5
+	PortComponentAttributes_GIGABIT_100     PortComponentAttributes_Speed = 6
+	PortComponentAttributes_GIGABIT_400     PortComponentAttributes_Speed = 7
+	PortComponentAttributes_MEGABIT_2500    PortComponentAttributes_Speed = 8
+	PortComponentAttributes_MEGABIT_1250    PortComponentAttributes_Speed = 9
+)
+
+var PortComponentAttributes_Speed_name = map[int32]string{
+	0: "SPEED_UNDEFINED",
+	1: "DYNAMIC",
+	2: "GIGABIT_1",
+	3: "GIGABIT_10",
+	4: "GIGABIT_25",
+	5: "GIGABIT_40",
+	6: "GIGABIT_100",
+	7: "GIGABIT_400",
+	8: "MEGABIT_2500",
+	9: "MEGABIT_1250",
+}
+
+var PortComponentAttributes_Speed_value = map[string]int32{
+	"SPEED_UNDEFINED": 0,
+	"DYNAMIC":         1,
+	"GIGABIT_1":       2,
+	"GIGABIT_10":      3,
+	"GIGABIT_25":      4,
+	"GIGABIT_40":      5,
+	"GIGABIT_100":     6,
+	"GIGABIT_400":     7,
+	"MEGABIT_2500":    8,
+	"MEGABIT_1250":    9,
+}
+
+func (x PortComponentAttributes_Speed) String() string {
+	return proto.EnumName(PortComponentAttributes_Speed_name, int32(x))
+}
+
+func (PortComponentAttributes_Speed) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{5, 1}
+}
+
+type PortComponentAttributes_Protocol int32
+
+const (
+	PortComponentAttributes_PROTOCOL_UNDEFINED PortComponentAttributes_Protocol = 0
+	PortComponentAttributes_ETHERNET           PortComponentAttributes_Protocol = 1
+	PortComponentAttributes_GPON               PortComponentAttributes_Protocol = 2
+	PortComponentAttributes_XGPON              PortComponentAttributes_Protocol = 3
+	PortComponentAttributes_XGSPON             PortComponentAttributes_Protocol = 4
+	PortComponentAttributes_GFAST              PortComponentAttributes_Protocol = 5
+	PortComponentAttributes_SERIAL             PortComponentAttributes_Protocol = 6
+	PortComponentAttributes_EPON               PortComponentAttributes_Protocol = 7
+)
+
+var PortComponentAttributes_Protocol_name = map[int32]string{
+	0: "PROTOCOL_UNDEFINED",
+	1: "ETHERNET",
+	2: "GPON",
+	3: "XGPON",
+	4: "XGSPON",
+	5: "GFAST",
+	6: "SERIAL",
+	7: "EPON",
+}
+
+var PortComponentAttributes_Protocol_value = map[string]int32{
+	"PROTOCOL_UNDEFINED": 0,
+	"ETHERNET":           1,
+	"GPON":               2,
+	"XGPON":              3,
+	"XGSPON":             4,
+	"GFAST":              5,
+	"SERIAL":             6,
+	"EPON":               7,
+}
+
+func (x PortComponentAttributes_Protocol) String() string {
+	return proto.EnumName(PortComponentAttributes_Protocol_name, int32(x))
+}
+
+func (PortComponentAttributes_Protocol) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{5, 2}
+}
+
+type PsuComponentAttributes_SupportedVoltage int32
+
+const (
+	PsuComponentAttributes_SUPPORTED_VOLTAGE_UNDEFINED PsuComponentAttributes_SupportedVoltage = 0
+	PsuComponentAttributes_V48                         PsuComponentAttributes_SupportedVoltage = 1
+	PsuComponentAttributes_V230                        PsuComponentAttributes_SupportedVoltage = 2
+	PsuComponentAttributes_V115                        PsuComponentAttributes_SupportedVoltage = 3
+)
+
+var PsuComponentAttributes_SupportedVoltage_name = map[int32]string{
+	0: "SUPPORTED_VOLTAGE_UNDEFINED",
+	1: "V48",
+	2: "V230",
+	3: "V115",
+}
+
+var PsuComponentAttributes_SupportedVoltage_value = map[string]int32{
+	"SUPPORTED_VOLTAGE_UNDEFINED": 0,
+	"V48":                         1,
+	"V230":                        2,
+	"V115":                        3,
+}
+
+func (x PsuComponentAttributes_SupportedVoltage) String() string {
+	return proto.EnumName(PsuComponentAttributes_SupportedVoltage_name, int32(x))
+}
+
+func (PsuComponentAttributes_SupportedVoltage) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{7, 0}
+}
+
+type TransceiverComponentsAttributes_FormFactor int32
+
+const (
+	TransceiverComponentsAttributes_FORM_FACTOR_UNKNOWN TransceiverComponentsAttributes_FormFactor = 0
+	TransceiverComponentsAttributes_QSFP                TransceiverComponentsAttributes_FormFactor = 1
+	TransceiverComponentsAttributes_QSFP_PLUS           TransceiverComponentsAttributes_FormFactor = 2
+	TransceiverComponentsAttributes_QSFP28              TransceiverComponentsAttributes_FormFactor = 3
+	TransceiverComponentsAttributes_SFP                 TransceiverComponentsAttributes_FormFactor = 4
+	TransceiverComponentsAttributes_SFP_PLUS            TransceiverComponentsAttributes_FormFactor = 5
+	TransceiverComponentsAttributes_XFP                 TransceiverComponentsAttributes_FormFactor = 6
+	TransceiverComponentsAttributes_CFP4                TransceiverComponentsAttributes_FormFactor = 7
+	TransceiverComponentsAttributes_CFP2                TransceiverComponentsAttributes_FormFactor = 8
+	TransceiverComponentsAttributes_CPAK                TransceiverComponentsAttributes_FormFactor = 9
+	TransceiverComponentsAttributes_X2                  TransceiverComponentsAttributes_FormFactor = 10
+	TransceiverComponentsAttributes_OTHER               TransceiverComponentsAttributes_FormFactor = 11
+	TransceiverComponentsAttributes_CFP                 TransceiverComponentsAttributes_FormFactor = 12
+	TransceiverComponentsAttributes_CFP2_ACO            TransceiverComponentsAttributes_FormFactor = 13
+	TransceiverComponentsAttributes_CFP2_DCO            TransceiverComponentsAttributes_FormFactor = 14
+)
+
+var TransceiverComponentsAttributes_FormFactor_name = map[int32]string{
+	0:  "FORM_FACTOR_UNKNOWN",
+	1:  "QSFP",
+	2:  "QSFP_PLUS",
+	3:  "QSFP28",
+	4:  "SFP",
+	5:  "SFP_PLUS",
+	6:  "XFP",
+	7:  "CFP4",
+	8:  "CFP2",
+	9:  "CPAK",
+	10: "X2",
+	11: "OTHER",
+	12: "CFP",
+	13: "CFP2_ACO",
+	14: "CFP2_DCO",
+}
+
+var TransceiverComponentsAttributes_FormFactor_value = map[string]int32{
+	"FORM_FACTOR_UNKNOWN": 0,
+	"QSFP":                1,
+	"QSFP_PLUS":           2,
+	"QSFP28":              3,
+	"SFP":                 4,
+	"SFP_PLUS":            5,
+	"XFP":                 6,
+	"CFP4":                7,
+	"CFP2":                8,
+	"CPAK":                9,
+	"X2":                  10,
+	"OTHER":               11,
+	"CFP":                 12,
+	"CFP2_ACO":            13,
+	"CFP2_DCO":            14,
+}
+
+func (x TransceiverComponentsAttributes_FormFactor) String() string {
+	return proto.EnumName(TransceiverComponentsAttributes_FormFactor_name, int32(x))
+}
+
+func (TransceiverComponentsAttributes_FormFactor) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{8, 0}
+}
+
+type TransceiverComponentsAttributes_Type int32
+
+const (
+	TransceiverComponentsAttributes_TYPE_UNKNOWN TransceiverComponentsAttributes_Type = 0
+	TransceiverComponentsAttributes_ETHERNET     TransceiverComponentsAttributes_Type = 1
+	TransceiverComponentsAttributes_GPON         TransceiverComponentsAttributes_Type = 2
+	TransceiverComponentsAttributes_XGPON        TransceiverComponentsAttributes_Type = 3
+	TransceiverComponentsAttributes_XGSPON       TransceiverComponentsAttributes_Type = 4
+	TransceiverComponentsAttributes_CPON         TransceiverComponentsAttributes_Type = 5
+	TransceiverComponentsAttributes_NG_PON2      TransceiverComponentsAttributes_Type = 6
+	TransceiverComponentsAttributes_EPON         TransceiverComponentsAttributes_Type = 7
+)
+
+var TransceiverComponentsAttributes_Type_name = map[int32]string{
+	0: "TYPE_UNKNOWN",
+	1: "ETHERNET",
+	2: "GPON",
+	3: "XGPON",
+	4: "XGSPON",
+	5: "CPON",
+	6: "NG_PON2",
+	7: "EPON",
+}
+
+var TransceiverComponentsAttributes_Type_value = map[string]int32{
+	"TYPE_UNKNOWN": 0,
+	"ETHERNET":     1,
+	"GPON":         2,
+	"XGPON":        3,
+	"XGSPON":       4,
+	"CPON":         5,
+	"NG_PON2":      6,
+	"EPON":         7,
+}
+
+func (x TransceiverComponentsAttributes_Type) String() string {
+	return proto.EnumName(TransceiverComponentsAttributes_Type_name, int32(x))
+}
+
+func (TransceiverComponentsAttributes_Type) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{8, 1}
+}
+
 type Uuid struct {
 	Uuid                 string   `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -630,8 +889,8 @@
 
 type ComponentSensorData struct {
 	Value           int32                `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
-	Type            SensorValueType      `protobuf:"varint,2,opt,name=type,proto3,enum=dmi.SensorValueType" json:"type,omitempty"`
-	Scale           SensorValueScale     `protobuf:"varint,3,opt,name=scale,proto3,enum=dmi.SensorValueScale" json:"scale,omitempty"`
+	Type            DataValueType        `protobuf:"varint,2,opt,name=type,proto3,enum=dmi.DataValueType" json:"type,omitempty"`
+	Scale           ValueScale           `protobuf:"varint,3,opt,name=scale,proto3,enum=dmi.ValueScale" json:"scale,omitempty"`
 	Precision       int32                `protobuf:"varint,4,opt,name=precision,proto3" json:"precision,omitempty"`
 	Status          SensorStatus         `protobuf:"varint,5,opt,name=status,proto3,enum=dmi.SensorStatus" json:"status,omitempty"`
 	UnitsDisplay    string               `protobuf:"bytes,6,opt,name=units_display,json=unitsDisplay,proto3" json:"units_display,omitempty"`
@@ -676,18 +935,18 @@
 	return 0
 }
 
-func (m *ComponentSensorData) GetType() SensorValueType {
+func (m *ComponentSensorData) GetType() DataValueType {
 	if m != nil {
 		return m.Type
 	}
-	return SensorValueType_SENSOR_VALUE_TYPE_UNDEFINED
+	return DataValueType_VALUE_TYPE_UNDEFINED
 }
 
-func (m *ComponentSensorData) GetScale() SensorValueScale {
+func (m *ComponentSensorData) GetScale() ValueScale {
 	if m != nil {
 		return m.Scale
 	}
-	return SensorValueScale_SENSOR_VALUE_SCALE_UNDEFINED
+	return ValueScale_VALUE_SCALE_UNDEFINED
 }
 
 func (m *ComponentSensorData) GetPrecision() int32 {
@@ -732,40 +991,280 @@
 	return ""
 }
 
+type PortComponentAttributes struct {
+	ConnectorType        PortComponentAttributes_ConnectorType `protobuf:"varint,1,opt,name=connector_type,json=connectorType,proto3,enum=dmi.PortComponentAttributes_ConnectorType" json:"connector_type,omitempty"`
+	Speed                PortComponentAttributes_Speed         `protobuf:"varint,2,opt,name=speed,proto3,enum=dmi.PortComponentAttributes_Speed" json:"speed,omitempty"`
+	Protocol             PortComponentAttributes_Protocol      `protobuf:"varint,3,opt,name=protocol,proto3,enum=dmi.PortComponentAttributes_Protocol" json:"protocol,omitempty"`
+	PhysicalLabel        string                                `protobuf:"bytes,4,opt,name=physical_label,json=physicalLabel,proto3" json:"physical_label,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
+	XXX_unrecognized     []byte                                `json:"-"`
+	XXX_sizecache        int32                                 `json:"-"`
+}
+
+func (m *PortComponentAttributes) Reset()         { *m = PortComponentAttributes{} }
+func (m *PortComponentAttributes) String() string { return proto.CompactTextString(m) }
+func (*PortComponentAttributes) ProtoMessage()    {}
+func (*PortComponentAttributes) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{5}
+}
+
+func (m *PortComponentAttributes) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PortComponentAttributes.Unmarshal(m, b)
+}
+func (m *PortComponentAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PortComponentAttributes.Marshal(b, m, deterministic)
+}
+func (m *PortComponentAttributes) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PortComponentAttributes.Merge(m, src)
+}
+func (m *PortComponentAttributes) XXX_Size() int {
+	return xxx_messageInfo_PortComponentAttributes.Size(m)
+}
+func (m *PortComponentAttributes) XXX_DiscardUnknown() {
+	xxx_messageInfo_PortComponentAttributes.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PortComponentAttributes proto.InternalMessageInfo
+
+func (m *PortComponentAttributes) GetConnectorType() PortComponentAttributes_ConnectorType {
+	if m != nil {
+		return m.ConnectorType
+	}
+	return PortComponentAttributes_CONNECTOR_TYPE_UNDEFINED
+}
+
+func (m *PortComponentAttributes) GetSpeed() PortComponentAttributes_Speed {
+	if m != nil {
+		return m.Speed
+	}
+	return PortComponentAttributes_SPEED_UNDEFINED
+}
+
+func (m *PortComponentAttributes) GetProtocol() PortComponentAttributes_Protocol {
+	if m != nil {
+		return m.Protocol
+	}
+	return PortComponentAttributes_PROTOCOL_UNDEFINED
+}
+
+func (m *PortComponentAttributes) GetPhysicalLabel() string {
+	if m != nil {
+		return m.PhysicalLabel
+	}
+	return ""
+}
+
+type ContainerComponentAttributes struct {
+	PhysicalLabel        string   `protobuf:"bytes,1,opt,name=physical_label,json=physicalLabel,proto3" json:"physical_label,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ContainerComponentAttributes) Reset()         { *m = ContainerComponentAttributes{} }
+func (m *ContainerComponentAttributes) String() string { return proto.CompactTextString(m) }
+func (*ContainerComponentAttributes) ProtoMessage()    {}
+func (*ContainerComponentAttributes) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{6}
+}
+
+func (m *ContainerComponentAttributes) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ContainerComponentAttributes.Unmarshal(m, b)
+}
+func (m *ContainerComponentAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ContainerComponentAttributes.Marshal(b, m, deterministic)
+}
+func (m *ContainerComponentAttributes) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ContainerComponentAttributes.Merge(m, src)
+}
+func (m *ContainerComponentAttributes) XXX_Size() int {
+	return xxx_messageInfo_ContainerComponentAttributes.Size(m)
+}
+func (m *ContainerComponentAttributes) XXX_DiscardUnknown() {
+	xxx_messageInfo_ContainerComponentAttributes.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ContainerComponentAttributes proto.InternalMessageInfo
+
+func (m *ContainerComponentAttributes) GetPhysicalLabel() string {
+	if m != nil {
+		return m.PhysicalLabel
+	}
+	return ""
+}
+
+type PsuComponentAttributes struct {
+	SupportedVoltage     PsuComponentAttributes_SupportedVoltage `protobuf:"varint,1,opt,name=supported_voltage,json=supportedVoltage,proto3,enum=dmi.PsuComponentAttributes_SupportedVoltage" json:"supported_voltage,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                `json:"-"`
+	XXX_unrecognized     []byte                                  `json:"-"`
+	XXX_sizecache        int32                                   `json:"-"`
+}
+
+func (m *PsuComponentAttributes) Reset()         { *m = PsuComponentAttributes{} }
+func (m *PsuComponentAttributes) String() string { return proto.CompactTextString(m) }
+func (*PsuComponentAttributes) ProtoMessage()    {}
+func (*PsuComponentAttributes) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{7}
+}
+
+func (m *PsuComponentAttributes) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PsuComponentAttributes.Unmarshal(m, b)
+}
+func (m *PsuComponentAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PsuComponentAttributes.Marshal(b, m, deterministic)
+}
+func (m *PsuComponentAttributes) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PsuComponentAttributes.Merge(m, src)
+}
+func (m *PsuComponentAttributes) XXX_Size() int {
+	return xxx_messageInfo_PsuComponentAttributes.Size(m)
+}
+func (m *PsuComponentAttributes) XXX_DiscardUnknown() {
+	xxx_messageInfo_PsuComponentAttributes.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PsuComponentAttributes proto.InternalMessageInfo
+
+func (m *PsuComponentAttributes) GetSupportedVoltage() PsuComponentAttributes_SupportedVoltage {
+	if m != nil {
+		return m.SupportedVoltage
+	}
+	return PsuComponentAttributes_SUPPORTED_VOLTAGE_UNDEFINED
+}
+
+type TransceiverComponentsAttributes struct {
+	FormFactor TransceiverComponentsAttributes_FormFactor `protobuf:"varint,1,opt,name=form_factor,json=formFactor,proto3,enum=dmi.TransceiverComponentsAttributes_FormFactor" json:"form_factor,omitempty"`
+	TransType  TransceiverComponentsAttributes_Type       `protobuf:"varint,2,opt,name=trans_type,json=transType,proto3,enum=dmi.TransceiverComponentsAttributes_Type" json:"trans_type,omitempty"`
+	// The maximum reach that can be achieved by this transceiver
+	MaxDistance      uint32     `protobuf:"varint,3,opt,name=max_distance,json=maxDistance,proto3" json:"max_distance,omitempty"`
+	MaxDistanceScale ValueScale `protobuf:"varint,4,opt,name=max_distance_scale,json=maxDistanceScale,proto3,enum=dmi.ValueScale" json:"max_distance_scale,omitempty"`
+	// The receive and transmit wavelengths that the transeiver operates on
+	RxWavelength         []uint32   `protobuf:"varint,5,rep,packed,name=rx_wavelength,json=rxWavelength,proto3" json:"rx_wavelength,omitempty"`
+	TxWavelength         []uint32   `protobuf:"varint,6,rep,packed,name=tx_wavelength,json=txWavelength,proto3" json:"tx_wavelength,omitempty"`
+	WavelengthScale      ValueScale `protobuf:"varint,7,opt,name=wavelength_scale,json=wavelengthScale,proto3,enum=dmi.ValueScale" json:"wavelength_scale,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
+	XXX_unrecognized     []byte     `json:"-"`
+	XXX_sizecache        int32      `json:"-"`
+}
+
+func (m *TransceiverComponentsAttributes) Reset()         { *m = TransceiverComponentsAttributes{} }
+func (m *TransceiverComponentsAttributes) String() string { return proto.CompactTextString(m) }
+func (*TransceiverComponentsAttributes) ProtoMessage()    {}
+func (*TransceiverComponentsAttributes) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{8}
+}
+
+func (m *TransceiverComponentsAttributes) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TransceiverComponentsAttributes.Unmarshal(m, b)
+}
+func (m *TransceiverComponentsAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TransceiverComponentsAttributes.Marshal(b, m, deterministic)
+}
+func (m *TransceiverComponentsAttributes) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TransceiverComponentsAttributes.Merge(m, src)
+}
+func (m *TransceiverComponentsAttributes) XXX_Size() int {
+	return xxx_messageInfo_TransceiverComponentsAttributes.Size(m)
+}
+func (m *TransceiverComponentsAttributes) XXX_DiscardUnknown() {
+	xxx_messageInfo_TransceiverComponentsAttributes.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TransceiverComponentsAttributes proto.InternalMessageInfo
+
+func (m *TransceiverComponentsAttributes) GetFormFactor() TransceiverComponentsAttributes_FormFactor {
+	if m != nil {
+		return m.FormFactor
+	}
+	return TransceiverComponentsAttributes_FORM_FACTOR_UNKNOWN
+}
+
+func (m *TransceiverComponentsAttributes) GetTransType() TransceiverComponentsAttributes_Type {
+	if m != nil {
+		return m.TransType
+	}
+	return TransceiverComponentsAttributes_TYPE_UNKNOWN
+}
+
+func (m *TransceiverComponentsAttributes) GetMaxDistance() uint32 {
+	if m != nil {
+		return m.MaxDistance
+	}
+	return 0
+}
+
+func (m *TransceiverComponentsAttributes) GetMaxDistanceScale() ValueScale {
+	if m != nil {
+		return m.MaxDistanceScale
+	}
+	return ValueScale_VALUE_SCALE_UNDEFINED
+}
+
+func (m *TransceiverComponentsAttributes) GetRxWavelength() []uint32 {
+	if m != nil {
+		return m.RxWavelength
+	}
+	return nil
+}
+
+func (m *TransceiverComponentsAttributes) GetTxWavelength() []uint32 {
+	if m != nil {
+		return m.TxWavelength
+	}
+	return nil
+}
+
+func (m *TransceiverComponentsAttributes) GetWavelengthScale() ValueScale {
+	if m != nil {
+		return m.WavelengthScale
+	}
+	return ValueScale_VALUE_SCALE_UNDEFINED
+}
+
 type Component struct {
-	// The name of a component uniquely identifies an component within the Hardware
+	// The name of a component uniquely identifies a component within the hardware
 	Name        string        `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 	Class       ComponentType `protobuf:"varint,2,opt,name=class,proto3,enum=dmi.ComponentType" json:"class,omitempty"`
 	Description string        `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
-	// The name of the parent of this component, empty "" in case of the root component
-	Parent       string               `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
-	ParentRelPos int32                `protobuf:"varint,5,opt,name=parent_rel_pos,json=parentRelPos,proto3" json:"parent_rel_pos,omitempty"`
-	Children     []*Component         `protobuf:"bytes,6,rep,name=children,proto3" json:"children,omitempty"`
-	HardwareRev  string               `protobuf:"bytes,7,opt,name=hardware_rev,json=hardwareRev,proto3" json:"hardware_rev,omitempty"`
-	FirmwareRev  string               `protobuf:"bytes,8,opt,name=firmware_rev,json=firmwareRev,proto3" json:"firmware_rev,omitempty"`
-	SoftwareRev  string               `protobuf:"bytes,9,opt,name=software_rev,json=softwareRev,proto3" json:"software_rev,omitempty"`
-	SerialNum    string               `protobuf:"bytes,10,opt,name=serial_num,json=serialNum,proto3" json:"serial_num,omitempty"`
-	MfgName      string               `protobuf:"bytes,11,opt,name=mfg_name,json=mfgName,proto3" json:"mfg_name,omitempty"`
-	ModelName    string               `protobuf:"bytes,12,opt,name=model_name,json=modelName,proto3" json:"model_name,omitempty"`
-	Alias        string               `protobuf:"bytes,13,opt,name=alias,proto3" json:"alias,omitempty"`
-	AssetId      string               `protobuf:"bytes,14,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"`
-	IsFru        bool                 `protobuf:"varint,15,opt,name=is_fru,json=isFru,proto3" json:"is_fru,omitempty"`
-	MfgDate      *timestamp.Timestamp `protobuf:"bytes,16,opt,name=mfg_date,json=mfgDate,proto3" json:"mfg_date,omitempty"`
-	Uri          *Uri                 `protobuf:"bytes,17,opt,name=uri,proto3" json:"uri,omitempty"`
+	// The name of the parent of this component, empty string("") in case of the root component
+	Parent       string       `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
+	ParentRelPos int32        `protobuf:"varint,5,opt,name=parent_rel_pos,json=parentRelPos,proto3" json:"parent_rel_pos,omitempty"`
+	Children     []*Component `protobuf:"bytes,6,rep,name=children,proto3" json:"children,omitempty"`
+	HardwareRev  string       `protobuf:"bytes,7,opt,name=hardware_rev,json=hardwareRev,proto3" json:"hardware_rev,omitempty"`
+	FirmwareRev  string       `protobuf:"bytes,8,opt,name=firmware_rev,json=firmwareRev,proto3" json:"firmware_rev,omitempty"`
+	SoftwareRev  string       `protobuf:"bytes,9,opt,name=software_rev,json=softwareRev,proto3" json:"software_rev,omitempty"`
+	SerialNum    string       `protobuf:"bytes,10,opt,name=serial_num,json=serialNum,proto3" json:"serial_num,omitempty"`
+	MfgName      string       `protobuf:"bytes,11,opt,name=mfg_name,json=mfgName,proto3" json:"mfg_name,omitempty"`
+	// Apart from the definition of this attribute as defined in RFC 8348, implementations could choose to carry
+	// the manufacturer's part number in this attribute.
+	ModelName string               `protobuf:"bytes,12,opt,name=model_name,json=modelName,proto3" json:"model_name,omitempty"`
+	Alias     string               `protobuf:"bytes,13,opt,name=alias,proto3" json:"alias,omitempty"`
+	AssetId   string               `protobuf:"bytes,14,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"`
+	IsFru     bool                 `protobuf:"varint,15,opt,name=is_fru,json=isFru,proto3" json:"is_fru,omitempty"`
+	MfgDate   *timestamp.Timestamp `protobuf:"bytes,16,opt,name=mfg_date,json=mfgDate,proto3" json:"mfg_date,omitempty"`
+	Uri       *Uri                 `protobuf:"bytes,17,opt,name=uri,proto3" json:"uri,omitempty"`
 	// The uuid of the component uniquely identifies the component across the entire system
-	Uuid                 *Uuid                  `protobuf:"bytes,18,opt,name=uuid,proto3" json:"uuid,omitempty"`
-	State                *ComponentState        `protobuf:"bytes,19,opt,name=state,proto3" json:"state,omitempty"`
-	SensorData           []*ComponentSensorData `protobuf:"bytes,20,rep,name=sensor_data,json=sensorData,proto3" json:"sensor_data,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
-	XXX_unrecognized     []byte                 `json:"-"`
-	XXX_sizecache        int32                  `json:"-"`
+	Uuid       *Uuid                  `protobuf:"bytes,18,opt,name=uuid,proto3" json:"uuid,omitempty"`
+	State      *ComponentState        `protobuf:"bytes,19,opt,name=state,proto3" json:"state,omitempty"`
+	SensorData []*ComponentSensorData `protobuf:"bytes,20,rep,name=sensor_data,json=sensorData,proto3" json:"sensor_data,omitempty"`
+	// The attribute 'specific' can be populated for components where more details are required by the users of the DMI interface
+	//
+	// Types that are valid to be assigned to Specific:
+	//	*Component_PortAttr
+	//	*Component_ContainerAttr
+	//	*Component_PsuAttr
+	//	*Component_TransceiverAttr
+	Specific             isComponent_Specific `protobuf_oneof:"specific"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
 }
 
 func (m *Component) Reset()         { *m = Component{} }
 func (m *Component) String() string { return proto.CompactTextString(m) }
 func (*Component) ProtoMessage()    {}
 func (*Component) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{5}
+	return fileDescriptor_d7c33d745c4ab367, []int{9}
 }
 
 func (m *Component) XXX_Unmarshal(b []byte) error {
@@ -926,21 +1425,97 @@
 	return nil
 }
 
+type isComponent_Specific interface {
+	isComponent_Specific()
+}
+
+type Component_PortAttr struct {
+	PortAttr *PortComponentAttributes `protobuf:"bytes,50,opt,name=port_attr,json=portAttr,proto3,oneof"`
+}
+
+type Component_ContainerAttr struct {
+	ContainerAttr *ContainerComponentAttributes `protobuf:"bytes,51,opt,name=container_attr,json=containerAttr,proto3,oneof"`
+}
+
+type Component_PsuAttr struct {
+	PsuAttr *PsuComponentAttributes `protobuf:"bytes,52,opt,name=psu_attr,json=psuAttr,proto3,oneof"`
+}
+
+type Component_TransceiverAttr struct {
+	TransceiverAttr *TransceiverComponentsAttributes `protobuf:"bytes,53,opt,name=transceiver_attr,json=transceiverAttr,proto3,oneof"`
+}
+
+func (*Component_PortAttr) isComponent_Specific() {}
+
+func (*Component_ContainerAttr) isComponent_Specific() {}
+
+func (*Component_PsuAttr) isComponent_Specific() {}
+
+func (*Component_TransceiverAttr) isComponent_Specific() {}
+
+func (m *Component) GetSpecific() isComponent_Specific {
+	if m != nil {
+		return m.Specific
+	}
+	return nil
+}
+
+func (m *Component) GetPortAttr() *PortComponentAttributes {
+	if x, ok := m.GetSpecific().(*Component_PortAttr); ok {
+		return x.PortAttr
+	}
+	return nil
+}
+
+func (m *Component) GetContainerAttr() *ContainerComponentAttributes {
+	if x, ok := m.GetSpecific().(*Component_ContainerAttr); ok {
+		return x.ContainerAttr
+	}
+	return nil
+}
+
+func (m *Component) GetPsuAttr() *PsuComponentAttributes {
+	if x, ok := m.GetSpecific().(*Component_PsuAttr); ok {
+		return x.PsuAttr
+	}
+	return nil
+}
+
+func (m *Component) GetTransceiverAttr() *TransceiverComponentsAttributes {
+	if x, ok := m.GetSpecific().(*Component_TransceiverAttr); ok {
+		return x.TransceiverAttr
+	}
+	return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*Component) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*Component_PortAttr)(nil),
+		(*Component_ContainerAttr)(nil),
+		(*Component_PsuAttr)(nil),
+		(*Component_TransceiverAttr)(nil),
+	}
+}
+
 type Hardware struct {
 	LastChange *timestamp.Timestamp `protobuf:"bytes,1,opt,name=last_change,json=lastChange,proto3" json:"last_change,omitempty"`
 	// Each HW has one parent/root and all other components are children of this
 	// The class of the root component would be set as UNDEFINED
-	Root                 *Component `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
+	Root *Component `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"`
+	// TODO: Authentication?
+	// Timestamp at which the hardware last booted
+	LastBooted           *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_booted,json=lastBooted,proto3" json:"last_booted,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
 }
 
 func (m *Hardware) Reset()         { *m = Hardware{} }
 func (m *Hardware) String() string { return proto.CompactTextString(m) }
 func (*Hardware) ProtoMessage()    {}
 func (*Hardware) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{6}
+	return fileDescriptor_d7c33d745c4ab367, []int{10}
 }
 
 func (m *Hardware) XXX_Unmarshal(b []byte) error {
@@ -975,6 +1550,13 @@
 	return nil
 }
 
+func (m *Hardware) GetLastBooted() *timestamp.Timestamp {
+	if m != nil {
+		return m.LastBooted
+	}
+	return nil
+}
+
 // The attributes of a component which are modifiable from the client side
 type ModifiableComponent struct {
 	// The name has to be unique for each component within the hardware and implementations need to
@@ -996,7 +1578,7 @@
 func (m *ModifiableComponent) String() string { return proto.CompactTextString(m) }
 func (*ModifiableComponent) ProtoMessage()    {}
 func (*ModifiableComponent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{7}
+	return fileDescriptor_d7c33d745c4ab367, []int{11}
 }
 
 func (m *ModifiableComponent) XXX_Unmarshal(b []byte) error {
@@ -1080,14 +1662,24 @@
 	proto.RegisterEnum("dmi.ComponentUsageState", ComponentUsageState_name, ComponentUsageState_value)
 	proto.RegisterEnum("dmi.ComponentAlarmState", ComponentAlarmState_name, ComponentAlarmState_value)
 	proto.RegisterEnum("dmi.ComponentStandbyState", ComponentStandbyState_name, ComponentStandbyState_value)
-	proto.RegisterEnum("dmi.SensorValueType", SensorValueType_name, SensorValueType_value)
-	proto.RegisterEnum("dmi.SensorValueScale", SensorValueScale_name, SensorValueScale_value)
+	proto.RegisterEnum("dmi.DataValueType", DataValueType_name, DataValueType_value)
+	proto.RegisterEnum("dmi.ValueScale", ValueScale_name, ValueScale_value)
 	proto.RegisterEnum("dmi.SensorStatus", SensorStatus_name, SensorStatus_value)
+	proto.RegisterEnum("dmi.PortComponentAttributes_ConnectorType", PortComponentAttributes_ConnectorType_name, PortComponentAttributes_ConnectorType_value)
+	proto.RegisterEnum("dmi.PortComponentAttributes_Speed", PortComponentAttributes_Speed_name, PortComponentAttributes_Speed_value)
+	proto.RegisterEnum("dmi.PortComponentAttributes_Protocol", PortComponentAttributes_Protocol_name, PortComponentAttributes_Protocol_value)
+	proto.RegisterEnum("dmi.PsuComponentAttributes_SupportedVoltage", PsuComponentAttributes_SupportedVoltage_name, PsuComponentAttributes_SupportedVoltage_value)
+	proto.RegisterEnum("dmi.TransceiverComponentsAttributes_FormFactor", TransceiverComponentsAttributes_FormFactor_name, TransceiverComponentsAttributes_FormFactor_value)
+	proto.RegisterEnum("dmi.TransceiverComponentsAttributes_Type", TransceiverComponentsAttributes_Type_name, TransceiverComponentsAttributes_Type_value)
 	proto.RegisterType((*Uuid)(nil), "dmi.Uuid")
 	proto.RegisterType((*HardwareID)(nil), "dmi.HardwareID")
 	proto.RegisterType((*Uri)(nil), "dmi.Uri")
 	proto.RegisterType((*ComponentState)(nil), "dmi.ComponentState")
 	proto.RegisterType((*ComponentSensorData)(nil), "dmi.ComponentSensorData")
+	proto.RegisterType((*PortComponentAttributes)(nil), "dmi.PortComponentAttributes")
+	proto.RegisterType((*ContainerComponentAttributes)(nil), "dmi.ContainerComponentAttributes")
+	proto.RegisterType((*PsuComponentAttributes)(nil), "dmi.PsuComponentAttributes")
+	proto.RegisterType((*TransceiverComponentsAttributes)(nil), "dmi.TransceiverComponentsAttributes")
 	proto.RegisterType((*Component)(nil), "dmi.Component")
 	proto.RegisterType((*Hardware)(nil), "dmi.Hardware")
 	proto.RegisterType((*ModifiableComponent)(nil), "dmi.ModifiableComponent")
@@ -1096,116 +1688,166 @@
 func init() { proto.RegisterFile("dmi/hw.proto", fileDescriptor_d7c33d745c4ab367) }
 
 var fileDescriptor_d7c33d745c4ab367 = []byte{
-	// 1765 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x97, 0xcf, 0x6f, 0xe3, 0xc6,
-	0x15, 0xc7, 0x2b, 0xeb, 0x87, 0xa5, 0x27, 0xd9, 0x9e, 0x1d, 0x7b, 0xd7, 0x5a, 0xef, 0x3a, 0xeb,
-	0x28, 0x41, 0xe0, 0x28, 0x88, 0x0d, 0x6c, 0xd0, 0xa2, 0x41, 0x0e, 0xc5, 0x98, 0x9a, 0xb5, 0x59,
-	0x4b, 0xa4, 0x30, 0x1c, 0x79, 0xe3, 0xbd, 0x10, 0xb4, 0x48, 0xdb, 0x44, 0x45, 0x51, 0x20, 0x29,
-	0x07, 0x7b, 0x6c, 0xd1, 0x7b, 0xff, 0x86, 0x5e, 0x8a, 0xf4, 0xdc, 0x43, 0x2f, 0xfd, 0xaf, 0xfa,
-	0x0f, 0x14, 0x33, 0x24, 0xf5, 0x73, 0xb4, 0xc9, 0xa1, 0xb7, 0xd1, 0xfb, 0x7c, 0xdf, 0xcc, 0xe3,
-	0x9b, 0xf7, 0x1e, 0x29, 0x68, 0xb8, 0x81, 0x7f, 0xfe, 0xf8, 0xd3, 0xd9, 0x24, 0x0a, 0x93, 0x10,
-	0x17, 0xdd, 0xc0, 0x3f, 0x7a, 0xf3, 0x10, 0x86, 0x0f, 0x23, 0xef, 0x5c, 0x9a, 0xee, 0xa6, 0xf7,
-	0xe7, 0x89, 0x1f, 0x78, 0x71, 0xe2, 0x04, 0x93, 0x54, 0xd5, 0x3a, 0x82, 0xd2, 0x60, 0xea, 0xbb,
-	0x18, 0x43, 0x69, 0x3a, 0xf5, 0xdd, 0x66, 0xe1, 0xa4, 0x70, 0x5a, 0x63, 0x72, 0xdd, 0xfa, 0x06,
-	0xe0, 0xca, 0x89, 0xdc, 0x9f, 0x9c, 0xc8, 0xd3, 0x3b, 0xf8, 0x78, 0x41, 0x51, 0x7f, 0x5b, 0x3b,
-	0x73, 0x03, 0xff, 0x4c, 0xb8, 0x66, 0xe2, 0x43, 0x28, 0x0e, 0x22, 0x1f, 0x23, 0x28, 0x4e, 0x23,
-	0x3f, 0xdb, 0x46, 0x2c, 0x5b, 0x7f, 0x2d, 0xc2, 0xae, 0x16, 0x06, 0x93, 0x70, 0xec, 0x8d, 0x13,
-	0x2b, 0x71, 0x12, 0x0f, 0x5f, 0x01, 0x8e, 0xc5, 0xc2, 0x1e, 0x39, 0x71, 0x62, 0x0f, 0x1f, 0x9d,
-	0xf1, 0x83, 0x97, 0x6f, 0x7c, 0x74, 0x96, 0x86, 0x7c, 0x96, 0x87, 0x7c, 0xc6, 0xf3, 0x90, 0x19,
-	0x92, 0x5e, 0x5d, 0x27, 0x4e, 0xb4, 0xd4, 0x07, 0x7f, 0x0f, 0x75, 0xc7, 0x0d, 0xfc, 0xb1, 0x2d,
-	0x49, 0x73, 0xeb, 0xa4, 0x70, 0xba, 0xfb, 0xb6, 0x29, 0x63, 0x9b, 0x9d, 0x49, 0x84, 0x40, 0x1e,
-	0xcc, 0xc0, 0x99, 0xad, 0xf1, 0xef, 0x00, 0xc2, 0x89, 0x17, 0x65, 0x9e, 0x45, 0xe9, 0x79, 0xb8,
-	0xec, 0x69, 0x4e, 0xbc, 0x28, 0x75, 0xac, 0x85, 0xf9, 0x52, 0x1c, 0x39, 0x8d, 0x9d, 0x07, 0x2f,
-	0x73, 0x2c, 0xa9, 0x8e, 0x1c, 0x08, 0x41, 0x76, 0xe4, 0x74, 0xb6, 0x96, 0xd1, 0x8e, 0x9c, 0x28,
-	0xc8, 0x5c, 0xcb, 0xca, 0x68, 0x85, 0x20, 0x8f, 0x76, 0xb6, 0xc6, 0x7f, 0x80, 0x9d, 0x38, 0x71,
-	0xc6, 0xee, 0xdd, 0xc7, 0xcc, 0xb9, 0x22, 0x9d, 0x8f, 0x96, 0x9d, 0xad, 0x54, 0x92, 0xba, 0x37,
-	0xe2, 0x85, 0x5f, 0xad, 0xff, 0x6e, 0xc1, 0xfe, 0x5c, 0xe7, 0x8d, 0xe3, 0x30, 0xea, 0x38, 0x89,
-	0x83, 0x0f, 0xa0, 0xfc, 0xe4, 0x8c, 0xa6, 0x9e, 0x4c, 0x7f, 0x99, 0xa5, 0x3f, 0xf0, 0x29, 0x94,
-	0x92, 0x8f, 0x93, 0x3c, 0xa1, 0x07, 0xf2, 0x94, 0xd4, 0xe9, 0x46, 0x70, 0xfe, 0x71, 0xe2, 0x31,
-	0xa9, 0xc0, 0xdf, 0x40, 0x39, 0x1e, 0x3a, 0xa3, 0x3c, 0x83, 0xcf, 0x57, 0xa5, 0x96, 0x80, 0x2c,
-	0xd5, 0xe0, 0xd7, 0x50, 0x9b, 0x44, 0xde, 0xd0, 0x8f, 0xfd, 0x70, 0x2c, 0x33, 0x57, 0x66, 0x73,
-	0x03, 0xfe, 0x1a, 0x2a, 0xe2, 0xd9, 0xa6, 0x71, 0x96, 0x99, 0x67, 0x0b, 0x7b, 0x59, 0x12, 0xb0,
-	0x4c, 0x80, 0xbf, 0x80, 0x9d, 0xe9, 0xd8, 0x4f, 0x62, 0xdb, 0xf5, 0xe3, 0xc9, 0xc8, 0xf9, 0x28,
-	0xd3, 0x51, 0x63, 0x0d, 0x69, 0xec, 0xa4, 0x36, 0xfc, 0x7b, 0xa8, 0xcd, 0xca, 0xbd, 0xb9, 0xfd,
-	0x8b, 0xd5, 0x35, 0x17, 0xe3, 0x36, 0x3c, 0x93, 0x79, 0xb0, 0xa7, 0x13, 0x57, 0xd4, 0x69, 0x24,
-	0x32, 0x5e, 0x3d, 0x29, 0x9c, 0xee, 0xb0, 0x3d, 0x09, 0x06, 0xd2, 0xce, 0xc4, 0xcd, 0xbc, 0x82,
-	0x9a, 0xeb, 0x24, 0x8e, 0x2d, 0xf3, 0x55, 0x93, 0x61, 0x54, 0x85, 0x41, 0xe4, 0xa8, 0xf5, 0xef,
-	0x32, 0xd4, 0x66, 0x59, 0x17, 0x4d, 0x36, 0x76, 0x02, 0x2f, 0x6f, 0x32, 0xb1, 0xc6, 0xa7, 0x50,
-	0x1e, 0x8e, 0x9c, 0x38, 0xce, 0x52, 0x8d, 0x97, 0x2f, 0x54, 0x26, 0x3a, 0x15, 0xe0, 0x13, 0xa8,
-	0xbb, 0x5e, 0x3c, 0x8c, 0xfc, 0x49, 0x22, 0xd2, 0x57, 0x94, 0x9b, 0x2c, 0x9a, 0xf0, 0x0b, 0xa8,
-	0x4c, 0x9c, 0xc8, 0x1b, 0x27, 0x32, 0xb7, 0x35, 0x96, 0xfd, 0xc2, 0x5f, 0xc2, 0x6e, 0xba, 0xb2,
-	0x23, 0x6f, 0x64, 0x4f, 0xc2, 0x34, 0xc1, 0x65, 0xd6, 0x48, 0xad, 0xcc, 0x1b, 0xf5, 0xc3, 0x18,
-	0xb7, 0xa1, 0x3a, 0x7c, 0xf4, 0x47, 0x6e, 0xe4, 0x8d, 0x9b, 0x95, 0x93, 0xe2, 0x69, 0xfd, 0xed,
-	0xee, 0x72, 0x30, 0x6c, 0xc6, 0xf1, 0xe7, 0xd0, 0x78, 0xcc, 0x46, 0x83, 0x1d, 0x79, 0x4f, 0x32,
-	0xbb, 0x35, 0x56, 0xcf, 0x6d, 0xcc, 0x7b, 0x12, 0x92, 0x7b, 0x3f, 0x0a, 0x66, 0x92, 0x6a, 0x2a,
-	0xc9, 0x6d, 0x99, 0x24, 0x0e, 0xef, 0x93, 0x99, 0x24, 0xcd, 0x5e, 0x3d, 0xb7, 0x09, 0xc9, 0x31,
-	0x40, 0xec, 0x45, 0xbe, 0x33, 0xb2, 0xc7, 0xd3, 0xa0, 0x09, 0x52, 0x50, 0x4b, 0x2d, 0xc6, 0x34,
-	0xc0, 0x2f, 0xa1, 0x1a, 0xdc, 0x3f, 0xd8, 0x32, 0xab, 0x75, 0x09, 0xb7, 0x83, 0xfb, 0x07, 0x43,
-	0x24, 0xf6, 0x18, 0x20, 0x08, 0x5d, 0x6f, 0x94, 0xc2, 0x46, 0xea, 0x29, 0x2d, 0x12, 0x1f, 0x40,
-	0xd9, 0x19, 0xf9, 0x4e, 0xdc, 0xdc, 0x91, 0x24, 0xfd, 0x21, 0xf6, 0x73, 0xe2, 0xd8, 0x4b, 0x6c,
-	0xdf, 0x6d, 0xee, 0xa6, 0xfb, 0xc9, 0xdf, 0xba, 0x8b, 0x9f, 0x43, 0xc5, 0x8f, 0xed, 0xfb, 0x68,
-	0xda, 0xdc, 0x3b, 0x29, 0x9c, 0x56, 0x59, 0xd9, 0x8f, 0xdf, 0x45, 0x53, 0xfc, 0xdb, 0x34, 0x02,
-	0x51, 0x0e, 0x4d, 0xf4, 0x8b, 0x35, 0x26, 0xa2, 0xeb, 0x88, 0xaa, 0x39, 0x4a, 0xe7, 0xe4, 0x33,
-	0xe9, 0x51, 0x4d, 0x87, 0x69, 0xe4, 0xcb, 0x89, 0x39, 0x9b, 0xb4, 0x58, 0x39, 0x69, 0xf1, 0xd7,
-	0x50, 0x4e, 0x47, 0xc0, 0xbe, 0xe4, 0xfb, 0x6b, 0x23, 0x20, 0x11, 0xfd, 0x96, 0x0f, 0x9c, 0x58,
-	0xb6, 0x8f, 0x88, 0xcf, 0x69, 0x1e, 0xc8, 0x5b, 0x5d, 0x19, 0x38, 0xf3, 0x59, 0xc0, 0x20, 0x9e,
-	0xad, 0x5b, 0x7f, 0x82, 0x6a, 0x3e, 0xfc, 0xf1, 0x0f, 0x50, 0x5f, 0x98, 0xd4, 0xbf, 0x62, 0x50,
-	0xc3, 0x68, 0x36, 0xa3, 0x71, 0x0b, 0x4a, 0x51, 0x18, 0x26, 0xb2, 0xbe, 0xd7, 0x4b, 0x4a, 0xb2,
-	0xd6, 0x3f, 0xb7, 0x60, 0xbf, 0x17, 0xba, 0xfe, 0xbd, 0xef, 0xdc, 0x8d, 0xbc, 0xff, 0x57, 0xc3,
-	0x7c, 0x35, 0x6b, 0x87, 0xa2, 0xf2, 0xec, 0xcd, 0xed, 0x51, 0x52, 0xb4, 0xc7, 0xac, 0x60, 0xca,
-	0x9b, 0x0a, 0xa6, 0xb2, 0x5c, 0x30, 0xd9, 0x15, 0x6f, 0xab, 0xae, 0x78, 0xe5, 0xbd, 0x55, 0xfd,
-	0xf5, 0xef, 0xad, 0xf6, 0x9f, 0x4b, 0xb0, 0xb3, 0xf4, 0xb8, 0xf8, 0x35, 0x34, 0x35, 0xb3, 0xd7,
-	0x37, 0x0d, 0x6a, 0x70, 0x9b, 0xdf, 0xf6, 0xa9, 0x3d, 0x30, 0x3a, 0xf4, 0x9d, 0x6e, 0xd0, 0x0e,
-	0xfa, 0x0d, 0x3e, 0x82, 0x17, 0x6b, 0xf4, 0xda, 0x30, 0xdf, 0x1b, 0xa8, 0xa0, 0x60, 0xda, 0x15,
-	0xb1, 0x2c, 0xdd, 0x42, 0x5b, 0x8a, 0x5d, 0x2f, 0x88, 0x76, 0xdd, 0xef, 0x12, 0x83, 0xa2, 0xa2,
-	0x82, 0x6a, 0xa6, 0xc1, 0x89, 0x6e, 0x50, 0x86, 0x4a, 0xf8, 0x0d, 0xbc, 0x5a, 0xa1, 0x7d, 0xf3,
-	0x3d, 0x65, 0xb6, 0x35, 0xe8, 0xf7, 0xbb, 0xb7, 0xa8, 0x8c, 0x5f, 0x00, 0x5e, 0x11, 0xbc, 0x23,
-	0x06, 0xaa, 0xe0, 0x97, 0xf0, 0x7c, 0xc5, 0x6e, 0x51, 0xc3, 0x32, 0x19, 0xda, 0x56, 0xa0, 0x9e,
-	0xd9, 0x19, 0x74, 0x29, 0xaa, 0xe2, 0x43, 0xd8, 0x5f, 0x3b, 0x8e, 0x71, 0x54, 0x53, 0x1c, 0xa3,
-	0xf5, 0x07, 0x08, 0x14, 0xcf, 0x7d, 0x41, 0x38, 0xa7, 0xec, 0x16, 0xd5, 0x15, 0xcc, 0xe2, 0x26,
-	0x23, 0x97, 0x14, 0x35, 0x54, 0x31, 0xd0, 0x9e, 0xc9, 0x6e, 0xd1, 0x0e, 0xfe, 0x0c, 0x8e, 0x56,
-	0x10, 0x67, 0xc4, 0xb0, 0x34, 0xaa, 0xdf, 0x50, 0x86, 0x76, 0xf1, 0x17, 0xf0, 0x66, 0x85, 0x5f,
-	0xf6, 0x4d, 0x63, 0x49, 0xb4, 0x87, 0xbf, 0x82, 0xd6, 0x8a, 0xe8, 0xc7, 0x4b, 0xcb, 0x5e, 0xd5,
-	0xa1, 0xf6, 0xbf, 0x0a, 0x0b, 0x2f, 0xf3, 0x79, 0x9d, 0xe4, 0x41, 0xd8, 0xa4, 0xd3, 0xd3, 0x0d,
-	0xdb, 0xe2, 0x84, 0x2f, 0xd7, 0x42, 0x76, 0x6b, 0x2b, 0x3c, 0xaf, 0x86, 0x57, 0x70, 0xb8, 0x46,
-	0xbb, 0xa6, 0x76, 0x4d, 0x3b, 0x68, 0x0b, 0xb7, 0xe0, 0xb3, 0x35, 0x68, 0x5d, 0x0d, 0x38, 0xd7,
-	0x8d, 0x4b, 0xbb, 0x23, 0x36, 0x28, 0xe2, 0x63, 0x78, 0xa9, 0xd8, 0x3e, 0xdb, 0xa2, 0xd4, 0xfe,
-	0xb9, 0x00, 0x78, 0xfd, 0xdb, 0x6a, 0xe6, 0x65, 0xf6, 0x45, 0x85, 0xac, 0xc5, 0x9c, 0x47, 0xb5,
-	0x84, 0xf3, 0x90, 0xf3, 0x07, 0x5a, 0x80, 0x1d, 0xdd, 0x22, 0x17, 0x5d, 0x19, 0xb3, 0xc2, 0x95,
-	0x1a, 0x29, 0x2c, 0xaa, 0x20, 0xa7, 0x96, 0x78, 0x1c, 0x54, 0x6a, 0xff, 0x63, 0x31, 0xc1, 0xf3,
-	0xaf, 0xb9, 0x59, 0x82, 0x07, 0x16, 0xb9, 0xa4, 0x9f, 0x48, 0xf0, 0x32, 0xcf, 0xa3, 0xcd, 0xca,
-	0x67, 0x89, 0xea, 0x9d, 0x2e, 0x5d, 0x08, 0x75, 0x11, 0x11, 0x8d, 0xeb, 0x37, 0xa2, 0xd9, 0x54,
-	0x7e, 0x17, 0x03, 0xeb, 0x16, 0x95, 0xda, 0x7f, 0x5b, 0xfc, 0xac, 0x9b, 0x7f, 0x3b, 0xce, 0x2b,
-	0xa1, 0x4b, 0x58, 0xef, 0x53, 0x95, 0xb0, 0xc4, 0xf3, 0x40, 0x3f, 0x87, 0x63, 0xa5, 0x37, 0xb3,
-	0x19, 0xed, 0x13, 0x9d, 0xa1, 0xad, 0xf9, 0x5d, 0x2f, 0x48, 0x34, 0xa6, 0x73, 0x5d, 0x23, 0x5d,
-	0x54, 0xcc, 0xbb, 0x68, 0x09, 0xf7, 0xc8, 0x1f, 0x4d, 0x31, 0x1d, 0x94, 0x4c, 0x37, 0x4c, 0x86,
-	0xca, 0xca, 0xb8, 0xde, 0x13, 0x66, 0x88, 0x6b, 0xa9, 0xcc, 0x8b, 0x70, 0x81, 0xea, 0x46, 0x87,
-	0x72, 0xca, 0x7a, 0xba, 0x41, 0x38, 0x45, 0xdb, 0xed, 0xff, 0x14, 0xe0, 0xb9, 0xf2, 0x83, 0x18,
-	0x9f, 0xc0, 0x6b, 0xe9, 0x6d, 0x71, 0x62, 0x74, 0x2e, 0x6e, 0x15, 0x59, 0xc9, 0xb3, 0xb6, 0xaa,
-	0x58, 0x99, 0x97, 0x2b, 0xfc, 0xca, 0xe4, 0x0b, 0x37, 0xb8, 0xcc, 0x34, 0xb3, 0x2b, 0x8a, 0xed,
-	0x14, 0xbe, 0x54, 0xc0, 0x3e, 0x33, 0x6f, 0xf4, 0x8e, 0x68, 0x20, 0x8b, 0xb2, 0x1b, 0x5d, 0xa3,
-	0xa8, 0xd4, 0xfe, 0x7b, 0x11, 0xf6, 0x56, 0xbe, 0xb4, 0xc5, 0x38, 0x4d, 0xc7, 0xa0, 0x7d, 0x43,
-	0xba, 0x03, 0xba, 0x3e, 0xe3, 0x5f, 0xc1, 0xe1, 0xba, 0xc0, 0xe4, 0x57, 0x94, 0xa1, 0x82, 0xb8,
-	0x29, 0x95, 0x77, 0xfa, 0x4c, 0x5b, 0xe2, 0x99, 0xd7, 0xf1, 0x8d, 0xd9, 0xe5, 0x96, 0x4d, 0x34,
-	0x54, 0xfc, 0x14, 0xef, 0x68, 0xa8, 0xa4, 0xde, 0x9e, 0xf4, 0xfa, 0x94, 0x51, 0x0b, 0x95, 0xd5,
-	0xa1, 0xbd, 0x27, 0x9c, 0x5b, 0xa8, 0xa2, 0x86, 0x57, 0x94, 0xf1, 0x0f, 0x68, 0x5b, 0xbd, 0xb1,
-	0x46, 0xbb, 0x96, 0x3e, 0xb0, 0x50, 0x55, 0xdc, 0xe6, 0x3a, 0xee, 0x53, 0xa6, 0x89, 0xd9, 0xc9,
-	0xae, 0x50, 0x4d, 0xb4, 0xcd, 0xba, 0x82, 0xf5, 0x7b, 0x08, 0xd4, 0x48, 0xeb, 0xf5, 0x50, 0x5d,
-	0xd4, 0xfe, 0x3a, 0xe2, 0x6c, 0xc0, 0xaf, 0x52, 0x03, 0x6a, 0xb4, 0x7f, 0x2e, 0x01, 0x5a, 0xfd,
-	0x8b, 0xb3, 0x16, 0x8f, 0xa5, 0x91, 0xee, 0x5a, 0xcf, 0x29, 0x14, 0xb7, 0xa6, 0xc6, 0xcd, 0x74,
-	0x94, 0x29, 0xe8, 0x07, 0xda, 0xe7, 0x66, 0x5a, 0x5d, 0x0a, 0x4a, 0x38, 0x37, 0xd3, 0x97, 0xb1,
-	0x02, 0xbe, 0xa3, 0x3d, 0x6e, 0xa2, 0xd2, 0x06, 0xd7, 0xbe, 0xae, 0x99, 0x8a, 0xeb, 0x49, 0xa1,
-	0x41, 0x0c, 0x13, 0x55, 0x36, 0xec, 0xdb, 0xd3, 0x35, 0x66, 0xa2, 0xed, 0x8d, 0xb4, 0xdb, 0xd5,
-	0x51, 0x75, 0x03, 0x1d, 0x18, 0x3a, 0xb7, 0x50, 0x6d, 0xc3, 0xb1, 0xd7, 0x7a, 0xd7, 0x44, 0xb0,
-	0x01, 0xf6, 0xe8, 0x25, 0x41, 0xf5, 0x0d, 0xf0, 0x52, 0xbf, 0x24, 0xa8, 0xb1, 0x01, 0x72, 0xca,
-	0x08, 0xda, 0xd9, 0x94, 0x07, 0xca, 0x09, 0xda, 0x15, 0x9d, 0xad, 0x80, 0xf4, 0x47, 0x82, 0xf6,
-	0x36, 0xde, 0x0c, 0xe7, 0x04, 0xa1, 0x8d, 0xb7, 0x2a, 0xe8, 0xb3, 0xf6, 0x5f, 0x0a, 0xd0, 0x58,
-	0xfc, 0x07, 0xbb, 0x10, 0x85, 0x98, 0x01, 0x03, 0x6b, 0xa9, 0x42, 0x0e, 0x00, 0x2d, 0x43, 0xf3,
-	0x7a, 0xa9, 0x81, 0x67, 0x2e, 0xe4, 0x86, 0xe8, 0x5d, 0xf1, 0x26, 0x43, 0x5b, 0x0b, 0x85, 0x97,
-	0x61, 0xc3, 0x34, 0xc4, 0x4b, 0x8d, 0x70, 0xdd, 0x34, 0xc4, 0x30, 0xbe, 0xf8, 0xe1, 0xc3, 0xf7,
-	0x0f, 0x7e, 0xf2, 0x38, 0xbd, 0x3b, 0x1b, 0x86, 0xc1, 0x79, 0x38, 0xf1, 0xc6, 0xc3, 0x30, 0x72,
-	0xcf, 0x5d, 0xef, 0xc9, 0x1f, 0x7a, 0xdf, 0x06, 0xce, 0xd8, 0x79, 0xf0, 0x02, 0x6f, 0x9c, 0x7c,
-	0xeb, 0x8f, 0x13, 0x2f, 0xba, 0x77, 0x86, 0xde, 0xf9, 0xd3, 0x77, 0xe7, 0x0f, 0xe1, 0xb9, 0x1b,
-	0xf8, 0x77, 0x15, 0xf9, 0x7d, 0xff, 0xdd, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x18, 0x6b,
-	0x83, 0x5e, 0x12, 0x00, 0x00,
+	// 2572 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x72, 0xdb, 0xc8,
+	0xf1, 0x37, 0xbf, 0xc9, 0x26, 0x29, 0x8d, 0x47, 0xfe, 0xe0, 0xca, 0xf6, 0xae, 0x96, 0xff, 0xdd,
+	0x2d, 0xad, 0xfe, 0x59, 0x49, 0x96, 0xed, 0x94, 0x37, 0x5b, 0xa9, 0x14, 0x04, 0x82, 0x22, 0x56,
+	0x24, 0x80, 0x1d, 0x80, 0xb2, 0xb5, 0x17, 0x14, 0x44, 0x82, 0x12, 0xaa, 0x48, 0x82, 0x05, 0x80,
+	0x5a, 0xfb, 0x9a, 0xca, 0x3d, 0x2f, 0x90, 0x63, 0x2a, 0xb5, 0xb9, 0xe4, 0x92, 0x1c, 0x73, 0xc8,
+	0x21, 0x79, 0x81, 0xdc, 0xf2, 0x0c, 0x79, 0x89, 0xd4, 0xcc, 0x00, 0x24, 0x00, 0xc2, 0x5e, 0xa7,
+	0x2a, 0xb7, 0x99, 0xdf, 0xaf, 0xbb, 0xa7, 0xa7, 0x67, 0xba, 0xd1, 0x03, 0x68, 0x8c, 0x67, 0xce,
+	0xd1, 0xcd, 0x0f, 0x87, 0x0b, 0xcf, 0x0d, 0x5c, 0x5c, 0x18, 0xcf, 0x9c, 0xdd, 0x4f, 0xae, 0x5d,
+	0xf7, 0x7a, 0x6a, 0x1f, 0x31, 0xe8, 0x6a, 0x39, 0x39, 0x0a, 0x9c, 0x99, 0xed, 0x07, 0xd6, 0x6c,
+	0xc1, 0xa5, 0xda, 0xbb, 0x50, 0x1c, 0x2e, 0x9d, 0x31, 0xc6, 0x50, 0x5c, 0x2e, 0x9d, 0x71, 0x2b,
+	0xb7, 0x97, 0xdb, 0xaf, 0x11, 0x36, 0x6e, 0xff, 0x3f, 0x40, 0xcf, 0xf2, 0xc6, 0x3f, 0x58, 0x9e,
+	0x2d, 0x77, 0xf0, 0x93, 0x98, 0x44, 0xfd, 0xa4, 0x76, 0x38, 0x9e, 0x39, 0x87, 0x54, 0x35, 0x14,
+	0x7e, 0x08, 0x85, 0xa1, 0xe7, 0x60, 0x04, 0x85, 0xa5, 0xe7, 0x84, 0x66, 0xe8, 0xb0, 0xfd, 0x9b,
+	0x02, 0x6c, 0x89, 0xee, 0x6c, 0xe1, 0xce, 0xed, 0x79, 0xa0, 0x07, 0x56, 0x60, 0xe3, 0x1e, 0x60,
+	0x9f, 0x0e, 0xcc, 0xa9, 0xe5, 0x07, 0xe6, 0xe8, 0xc6, 0x9a, 0x5f, 0xdb, 0x91, 0xe1, 0xdd, 0x43,
+	0xee, 0xf2, 0x61, 0xe4, 0xf2, 0xa1, 0x11, 0xb9, 0x4c, 0x10, 0xd3, 0xea, 0x5b, 0x7e, 0x20, 0x72,
+	0x1d, 0xfc, 0x35, 0xd4, 0xad, 0xf1, 0xcc, 0x99, 0x9b, 0x8c, 0x69, 0xe5, 0xf7, 0x72, 0xfb, 0x5b,
+	0x27, 0x2d, 0xe6, 0xdb, 0x6a, 0x4d, 0x81, 0x0a, 0xb0, 0x85, 0x09, 0x58, 0xab, 0x31, 0xfe, 0x39,
+	0x80, 0xbb, 0xb0, 0xbd, 0x50, 0xb3, 0xc0, 0x34, 0x1f, 0x26, 0x35, 0xd5, 0x85, 0xed, 0x71, 0xc5,
+	0x9a, 0x1b, 0x0d, 0xe9, 0x92, 0x4b, 0xdf, 0xba, 0xb6, 0x43, 0xc5, 0x62, 0xd6, 0x92, 0x43, 0x2a,
+	0x10, 0x2e, 0xb9, 0x5c, 0x8d, 0x99, 0xb7, 0x53, 0xcb, 0x9b, 0x85, 0xaa, 0xa5, 0x4c, 0x6f, 0xa9,
+	0x40, 0xe4, 0xed, 0x6a, 0x8c, 0x7f, 0x05, 0x4d, 0x3f, 0xb0, 0xe6, 0xe3, 0xab, 0xb7, 0xa1, 0x72,
+	0x99, 0x29, 0xef, 0x26, 0x95, 0x75, 0x2e, 0xc2, 0xd5, 0x1b, 0x7e, 0x6c, 0xd6, 0xfe, 0x77, 0x1e,
+	0x76, 0xd6, 0x72, 0xf6, 0xdc, 0x77, 0xbd, 0x8e, 0x15, 0x58, 0xf8, 0x1e, 0x94, 0x6e, 0xad, 0xe9,
+	0xd2, 0x66, 0xe1, 0x2f, 0x11, 0x3e, 0xc1, 0x5f, 0x40, 0x31, 0x78, 0xbb, 0x88, 0x02, 0x8a, 0xd9,
+	0x2a, 0x54, 0xfc, 0x82, 0xb2, 0xc6, 0xdb, 0x85, 0x4d, 0x18, 0x8f, 0x3f, 0x87, 0x92, 0x3f, 0xb2,
+	0xa6, 0x51, 0xfc, 0xb6, 0x99, 0x20, 0x13, 0xd2, 0x29, 0x4c, 0x38, 0x8b, 0x1f, 0x43, 0x6d, 0xe1,
+	0xd9, 0x23, 0xc7, 0x77, 0xdc, 0x39, 0x8b, 0x58, 0x89, 0xac, 0x01, 0xfc, 0x25, 0x94, 0xe9, 0x9e,
+	0x96, 0x7e, 0x18, 0x91, 0xbb, 0xcc, 0x0a, 0xf7, 0x51, 0x67, 0x04, 0x09, 0x05, 0xf0, 0xff, 0x41,
+	0x73, 0x39, 0x77, 0x02, 0xdf, 0x1c, 0x3b, 0xfe, 0x62, 0x6a, 0xbd, 0x65, 0x61, 0xa8, 0x91, 0x06,
+	0x03, 0x3b, 0x1c, 0xc3, 0x2f, 0xa1, 0xb6, 0xba, 0xe6, 0xad, 0xca, 0x4f, 0xde, 0xaa, 0xb5, 0x30,
+	0x3e, 0x80, 0xbb, 0x6c, 0xff, 0xe6, 0x72, 0x31, 0xa6, 0xf7, 0xd3, 0xa3, 0x91, 0xae, 0xee, 0xe5,
+	0xf6, 0x9b, 0x64, 0x9b, 0x11, 0x43, 0x86, 0x13, 0x7a, 0x22, 0x8f, 0xa0, 0x36, 0xb6, 0x02, 0xcb,
+	0x64, 0x71, 0xaa, 0x31, 0x37, 0xaa, 0x14, 0xa0, 0xd1, 0x69, 0xff, 0xae, 0x04, 0x0f, 0x35, 0xd7,
+	0x0b, 0xd6, 0xc7, 0x1a, 0x04, 0x9e, 0x73, 0xb5, 0x0c, 0x6c, 0x1f, 0x7f, 0x07, 0x5b, 0x23, 0x77,
+	0x3e, 0xb7, 0x47, 0x81, 0xeb, 0x71, 0xed, 0x1c, 0xdb, 0xf6, 0x01, 0xdb, 0xf6, 0x3b, 0xb4, 0x0e,
+	0xc5, 0x48, 0x85, 0x45, 0xbf, 0x39, 0x8a, 0x4f, 0xf1, 0x4b, 0x28, 0xf9, 0x0b, 0xdb, 0x1e, 0x87,
+	0xe7, 0xd5, 0x7e, 0xaf, 0x25, 0x9d, 0x4a, 0x12, 0xae, 0x80, 0x05, 0xa8, 0xb2, 0x90, 0x8c, 0xdc,
+	0x69, 0x78, 0x86, 0x9f, 0xbf, 0x57, 0x59, 0x0b, 0x85, 0xc9, 0x4a, 0x0d, 0x7f, 0x0e, 0x5b, 0x8b,
+	0x9b, 0xb7, 0xbe, 0x33, 0xb2, 0xa6, 0xe6, 0xd4, 0xba, 0xb2, 0xa7, 0xec, 0x84, 0x6b, 0xa4, 0x19,
+	0xa1, 0x7d, 0x0a, 0xb6, 0x6d, 0x68, 0x26, 0xf6, 0x80, 0x1f, 0x43, 0x4b, 0x54, 0x15, 0x45, 0x12,
+	0x0d, 0x95, 0x98, 0xc6, 0xa5, 0x26, 0x99, 0x43, 0xa5, 0x23, 0x75, 0x65, 0x45, 0xea, 0xa0, 0x3b,
+	0xb8, 0x0a, 0x45, 0xf2, 0xed, 0xf3, 0x17, 0x28, 0x87, 0x1b, 0x50, 0xed, 0xca, 0xa7, 0x12, 0x31,
+	0xfb, 0x22, 0xca, 0xe3, 0x6d, 0xa8, 0xf3, 0x99, 0x2e, 0x9a, 0x9a, 0x88, 0x0a, 0xb8, 0x09, 0x35,
+	0x0e, 0x0c, 0x34, 0x15, 0x15, 0xdb, 0x7f, 0xca, 0x41, 0x89, 0xed, 0x10, 0xef, 0xc0, 0xb6, 0xae,
+	0x49, 0x52, 0x27, 0x61, 0xb6, 0x0e, 0x95, 0xce, 0xa5, 0x22, 0x0c, 0x64, 0x11, 0xe5, 0xa8, 0xea,
+	0x99, 0x7c, 0x26, 0x9c, 0xca, 0x86, 0xf9, 0x14, 0xe5, 0xf1, 0x16, 0xc0, 0x6a, 0x7a, 0x8c, 0x0a,
+	0xf1, 0xf9, 0xc9, 0x0b, 0x54, 0x8c, 0xcf, 0x9f, 0x1f, 0xa3, 0x12, 0x75, 0x65, 0x2d, 0x7f, 0x8c,
+	0xca, 0x71, 0xe0, 0xf9, 0xf1, 0x31, 0xaa, 0x60, 0x04, 0x8d, 0x81, 0x14, 0x59, 0x38, 0x3e, 0x46,
+	0xd5, 0x38, 0xf2, 0xf4, 0xe4, 0xc5, 0x31, 0xaa, 0xb5, 0x3d, 0xa8, 0x46, 0x41, 0xc5, 0x0f, 0x00,
+	0x6b, 0x44, 0x35, 0x54, 0x51, 0xed, 0x27, 0xbc, 0x6e, 0x40, 0x55, 0x32, 0x7a, 0x12, 0x51, 0x24,
+	0x03, 0xe5, 0x68, 0x68, 0xce, 0x34, 0x55, 0x41, 0x79, 0x5c, 0x83, 0xd2, 0x6b, 0x36, 0x2c, 0x60,
+	0x80, 0xf2, 0xeb, 0x33, 0x9d, 0x8e, 0x8b, 0x14, 0x3e, 0xeb, 0x0a, 0xba, 0x81, 0x4a, 0x14, 0xd6,
+	0x25, 0x22, 0x0b, 0x7d, 0x54, 0xa6, 0x7a, 0x12, 0x15, 0xa8, 0xb4, 0x25, 0x78, 0x2c, 0xba, 0xf3,
+	0xc0, 0x72, 0xe6, 0xb6, 0x97, 0x75, 0x45, 0x37, 0x8f, 0x34, 0x97, 0x75, 0xa4, 0xff, 0xc8, 0xc1,
+	0x03, 0xcd, 0x5f, 0x66, 0x59, 0xb8, 0x84, 0xbb, 0xfe, 0x72, 0xb1, 0x70, 0xbd, 0xc0, 0x1e, 0x9b,
+	0xb7, 0xee, 0x34, 0xb0, 0xae, 0xa3, 0x7b, 0xfe, 0x33, 0x7e, 0xc1, 0x32, 0xf5, 0x0e, 0xf5, 0x48,
+	0xe9, 0x82, 0xeb, 0x10, 0xe4, 0xa7, 0x90, 0xb6, 0x06, 0x28, 0x2d, 0x85, 0x3f, 0x81, 0x47, 0xfa,
+	0x50, 0xd3, 0x54, 0x62, 0x48, 0x1d, 0xf3, 0x42, 0xed, 0x1b, 0xc2, 0x59, 0xf2, 0x3a, 0x55, 0xa0,
+	0x70, 0xf1, 0xfc, 0x25, 0x0f, 0xde, 0xc5, 0xc9, 0xb3, 0x63, 0x94, 0x67, 0xa3, 0xa7, 0x4f, 0x5f,
+	0xa0, 0x42, 0xfb, 0x9f, 0x25, 0xf8, 0xc4, 0xf0, 0xac, 0xb9, 0x3f, 0xb2, 0x9d, 0xdb, 0x58, 0x44,
+	0xfc, 0xd8, 0x86, 0x34, 0xa8, 0x4f, 0x5c, 0x6f, 0x66, 0x4e, 0x2c, 0x7a, 0x81, 0xc3, 0xad, 0x1c,
+	0xb1, 0xad, 0xfc, 0x84, 0xea, 0x61, 0xd7, 0xf5, 0x66, 0x5d, 0xa6, 0x46, 0x60, 0xb2, 0x1a, 0xe3,
+	0x1e, 0x40, 0x40, 0x35, 0xcd, 0x58, 0xa5, 0xfd, 0xf2, 0x83, 0x0c, 0xb2, 0x12, 0x50, 0x63, 0xca,
+	0x2c, 0x93, 0x3e, 0x85, 0xc6, 0xcc, 0x7a, 0x43, 0x6b, 0x62, 0x60, 0xcd, 0x47, 0xbc, 0x18, 0x37,
+	0x49, 0x7d, 0x66, 0xbd, 0xe9, 0x84, 0x10, 0xfe, 0x25, 0xe0, 0xb8, 0x88, 0xc9, 0xab, 0x76, 0x31,
+	0xbb, 0x6a, 0xa3, 0x98, 0x26, 0x43, 0x68, 0xdd, 0xf5, 0xde, 0x98, 0x3f, 0x58, 0xb7, 0xf6, 0xd4,
+	0x9e, 0x5f, 0x07, 0x37, 0xad, 0xd2, 0x5e, 0x61, 0xbf, 0x49, 0x1a, 0xde, 0x9b, 0x57, 0x2b, 0x8c,
+	0x0a, 0x05, 0x09, 0xa1, 0x32, 0x17, 0x0a, 0xe2, 0x42, 0xbf, 0x00, 0xb4, 0x96, 0x08, 0xdd, 0xa8,
+	0x64, 0xbb, 0xb1, 0xbd, 0x16, 0x64, 0x40, 0xfb, 0x6f, 0x39, 0x80, 0x75, 0x30, 0xf1, 0x43, 0xd8,
+	0xe9, 0xaa, 0x64, 0x60, 0x76, 0x05, 0x56, 0x42, 0x86, 0xca, 0xb9, 0xa2, 0xbe, 0x52, 0x78, 0xed,
+	0xf8, 0x4e, 0xef, 0x6a, 0x3c, 0xc3, 0xe9, 0xc8, 0xd4, 0xfa, 0x43, 0x1d, 0xe5, 0x69, 0x36, 0xd0,
+	0xe9, 0xc9, 0x4b, 0x54, 0xa0, 0x37, 0x82, 0xca, 0x14, 0x69, 0x72, 0xad, 0x44, 0x4a, 0x14, 0x7e,
+	0xdd, 0xd5, 0x78, 0xb6, 0x88, 0x5d, 0xed, 0x39, 0xaa, 0x84, 0xa3, 0x13, 0x54, 0x65, 0x23, 0x4d,
+	0x38, 0x47, 0x35, 0x5c, 0x86, 0xfc, 0xeb, 0x13, 0x04, 0x34, 0xd5, 0x54, 0x9a, 0x99, 0xa8, 0x4e,
+	0x35, 0xc5, 0xae, 0x86, 0x1a, 0xd4, 0x20, 0x95, 0x37, 0x05, 0x51, 0x45, 0xcd, 0xd5, 0xac, 0x23,
+	0xaa, 0x68, 0xab, 0x7d, 0x03, 0x45, 0x76, 0x64, 0x08, 0x1a, 0x61, 0xc9, 0x8b, 0x9c, 0xfe, 0x2f,
+	0x73, 0x9c, 0xb9, 0xa2, 0x2a, 0xa8, 0x44, 0x4b, 0x9a, 0x72, 0x66, 0x6a, 0xaa, 0x72, 0x92, 0xc8,
+	0xf1, 0x7f, 0x55, 0xa0, 0xb6, 0xba, 0x3d, 0xb4, 0xbf, 0x9b, 0x5b, 0x33, 0x3b, 0xea, 0xef, 0xe8,
+	0x18, 0xef, 0x43, 0x69, 0x34, 0xb5, 0x7c, 0x3f, 0xf1, 0x95, 0x5f, 0xa9, 0xb0, 0x4b, 0xc6, 0x05,
+	0xf0, 0x1e, 0xd4, 0xc7, 0xb6, 0x3f, 0xf2, 0x9c, 0x45, 0x40, 0xbf, 0xe0, 0x05, 0x66, 0x24, 0x0e,
+	0xe1, 0x07, 0x50, 0x5e, 0x58, 0x9e, 0x3d, 0x0f, 0xc2, 0xe2, 0x1f, 0xce, 0xf0, 0x67, 0xb0, 0xc5,
+	0x47, 0xa6, 0x67, 0x4f, 0xcd, 0x85, 0xcb, 0xbf, 0xf1, 0x25, 0xd2, 0xe0, 0x28, 0xb1, 0xa7, 0x9a,
+	0xeb, 0xe3, 0x03, 0xa8, 0x8e, 0x6e, 0x9c, 0xe9, 0xd8, 0xb3, 0xe7, 0xec, 0xd2, 0xd4, 0x4f, 0xb6,
+	0x92, 0xce, 0x90, 0x15, 0x4f, 0x2f, 0xfb, 0x4d, 0xd8, 0x95, 0x9a, 0x9e, 0x7d, 0xcb, 0x2e, 0x4f,
+	0x8d, 0xd4, 0x23, 0x8c, 0xd8, 0xb7, 0x54, 0x64, 0xe2, 0x78, 0xb3, 0x95, 0x48, 0x95, 0x8b, 0x44,
+	0x58, 0x28, 0xe2, 0xbb, 0x93, 0x60, 0x25, 0xc2, 0x3f, 0xe0, 0xf5, 0x08, 0xa3, 0x22, 0x4f, 0x00,
+	0x7c, 0xdb, 0x73, 0xac, 0xa9, 0x39, 0x5f, 0xce, 0x5a, 0xc0, 0x04, 0x6a, 0x1c, 0x51, 0x96, 0x33,
+	0xfc, 0x11, 0x54, 0x67, 0x93, 0x6b, 0x93, 0x45, 0xb5, 0xce, 0xc8, 0xca, 0x6c, 0x72, 0xad, 0xd0,
+	0xc0, 0x3e, 0x01, 0x98, 0xb9, 0x63, 0x7b, 0xca, 0xc9, 0x06, 0xd7, 0x64, 0x08, 0xa3, 0xef, 0x41,
+	0xc9, 0x9a, 0x3a, 0x96, 0xdf, 0x6a, 0x32, 0x86, 0x4f, 0xa8, 0x3d, 0xcb, 0xf7, 0xed, 0xc0, 0x74,
+	0xc6, 0xad, 0x2d, 0x6e, 0x8f, 0xcd, 0xe5, 0x31, 0xbe, 0x0f, 0x65, 0xc7, 0x37, 0x27, 0xde, 0xb2,
+	0xb5, 0xbd, 0x97, 0xdb, 0xaf, 0x92, 0x92, 0xe3, 0x77, 0xbd, 0x25, 0x7e, 0xc1, 0x3d, 0xa0, 0x1d,
+	0x49, 0x0b, 0xfd, 0x64, 0x9b, 0x43, 0xbd, 0xeb, 0xd0, 0xc6, 0x65, 0x97, 0xb7, 0xe8, 0x77, 0x99,
+	0x46, 0x95, 0xf7, 0xf1, 0x9e, 0xc3, 0x9a, 0xf5, 0x55, 0x93, 0x8f, 0x33, 0x9b, 0x7c, 0xfc, 0x25,
+	0x94, 0x78, 0xf7, 0xb9, 0xc3, 0xf8, 0x9d, 0x8d, 0xee, 0x33, 0xa0, 0x2d, 0x5f, 0xd4, 0xeb, 0xfa,
+	0xac, 0x83, 0xa3, 0xfe, 0x59, 0xad, 0x7b, 0xec, 0x54, 0x53, 0xbd, 0xee, 0xba, 0x0d, 0x25, 0xe0,
+	0xaf, 0x5b, 0xd2, 0x6f, 0xa0, 0x46, 0xab, 0xbb, 0x69, 0x05, 0x81, 0xd7, 0x3a, 0x61, 0x2b, 0x3d,
+	0x7e, 0x5f, 0x53, 0xd2, 0xbb, 0x43, 0xaa, 0x54, 0x81, 0x22, 0xf8, 0x5b, 0xd6, 0x5d, 0xf1, 0x4f,
+	0x1b, 0xb7, 0xf0, 0x8c, 0x59, 0xf8, 0x34, 0x5c, 0xfa, 0xdd, 0x5f, 0xbd, 0xde, 0x1d, 0xd6, 0x56,
+	0x71, 0x9e, 0xd9, 0x7a, 0x09, 0xd5, 0x85, 0xbf, 0xe4, 0x56, 0x9e, 0x33, 0x2b, 0x8f, 0xde, 0xf3,
+	0xed, 0xea, 0xdd, 0x21, 0x95, 0x85, 0xbf, 0x64, 0x9a, 0xdf, 0x01, 0x0a, 0xd6, 0x45, 0x9c, 0x5b,
+	0x78, 0xc1, 0x2c, 0x7c, 0xf6, 0x21, 0x15, 0xbe, 0x77, 0x87, 0x6c, 0xc7, 0xf4, 0x29, 0x71, 0x0a,
+	0x50, 0xf5, 0x17, 0xf6, 0xc8, 0x99, 0x38, 0xa3, 0xf6, 0x8f, 0x39, 0xa8, 0x46, 0x4f, 0x33, 0xfc,
+	0x0d, 0xd4, 0x63, 0xef, 0xa8, 0x0f, 0x78, 0x46, 0xc1, 0x74, 0xf5, 0x82, 0xc2, 0x6d, 0x28, 0x7a,
+	0xae, 0x1b, 0xb0, 0x12, 0xb0, 0x99, 0x75, 0x8c, 0x5b, 0x2d, 0x70, 0xe5, 0xba, 0x81, 0x3d, 0x66,
+	0xd9, 0xff, 0x01, 0x0b, 0x9c, 0x32, 0xe9, 0xf6, 0x1f, 0xf3, 0xb0, 0x33, 0x70, 0xc7, 0xce, 0xc4,
+	0xb1, 0xae, 0xa6, 0xf6, 0xff, 0xaa, 0x20, 0x7d, 0xb1, 0x2a, 0x37, 0x85, 0x4c, 0xc7, 0xdf, 0x5d,
+	0x7e, 0x8a, 0x19, 0xe5, 0x67, 0x95, 0x90, 0xa5, 0x77, 0x25, 0x64, 0x39, 0x99, 0x90, 0x61, 0x0a,
+	0x55, 0xb2, 0x52, 0x28, 0xf5, 0x24, 0xad, 0x7e, 0xf8, 0x93, 0xf4, 0xe0, 0x2f, 0x05, 0xda, 0x23,
+	0xc7, 0xb6, 0xcb, 0x7b, 0xe4, 0x81, 0xa6, 0x2a, 0x92, 0x62, 0x6c, 0xf6, 0xc8, 0xbb, 0xf0, 0x60,
+	0x83, 0xe5, 0x9f, 0x93, 0x5c, 0x06, 0x27, 0xf6, 0x04, 0x5d, 0x97, 0xe9, 0x67, 0x70, 0xd3, 0xea,
+	0xa9, 0x20, 0x9e, 0x6b, 0x7d, 0x41, 0x91, 0x50, 0x21, 0x83, 0x15, 0x55, 0xc5, 0x10, 0x64, 0x45,
+	0x22, 0xa8, 0x48, 0x3b, 0xad, 0x14, 0xab, 0xa9, 0xaf, 0x68, 0x3b, 0x3e, 0xd4, 0xb4, 0xfe, 0x25,
+	0x2a, 0xd1, 0x1e, 0x36, 0x25, 0xd0, 0x15, 0x14, 0x54, 0xc6, 0x1f, 0xc1, 0xfd, 0x14, 0xae, 0x4b,
+	0x8a, 0xae, 0x12, 0x54, 0xc9, 0xa0, 0x06, 0x6a, 0x67, 0xd8, 0x97, 0x50, 0x95, 0x7e, 0xe3, 0x37,
+	0x96, 0x23, 0x06, 0xaa, 0x65, 0x2c, 0x23, 0x6a, 0x43, 0x04, 0x19, 0xfb, 0x3e, 0x15, 0x0c, 0x43,
+	0x22, 0x97, 0xa8, 0x9e, 0xc1, 0xe9, 0x86, 0x4a, 0x84, 0x33, 0x09, 0x35, 0xb2, 0x7c, 0x90, 0x06,
+	0x2a, 0xb9, 0x44, 0x4d, 0xfc, 0x31, 0xec, 0xa6, 0x28, 0x83, 0x08, 0x8a, 0x2e, 0x4a, 0xf2, 0x85,
+	0x44, 0xd0, 0xd6, 0xc1, 0x9f, 0x73, 0xb1, 0xa7, 0xf5, 0xfa, 0x68, 0x23, 0x3d, 0x53, 0xe8, 0x0c,
+	0x64, 0xc5, 0xd4, 0x0d, 0xc1, 0x48, 0x1e, 0x5f, 0x18, 0xe8, 0x14, 0x1f, 0x1d, 0xe0, 0x23, 0x78,
+	0xb8, 0xc1, 0xf6, 0x55, 0xf1, 0x5c, 0xea, 0xa0, 0x3c, 0x6e, 0xc3, 0xc7, 0x1b, 0xa4, 0xde, 0x1b,
+	0x1a, 0x86, 0xac, 0x9c, 0x99, 0x1d, 0x6a, 0xa0, 0x80, 0x9f, 0xc0, 0x47, 0x19, 0xe6, 0x43, 0x13,
+	0xc5, 0x83, 0x1f, 0x73, 0x80, 0x37, 0xff, 0x74, 0xac, 0xb4, 0x54, 0x8d, 0x1e, 0xea, 0x86, 0xcf,
+	0x91, 0x57, 0x09, 0x3a, 0x72, 0x39, 0xda, 0x50, 0x8c, 0xec, 0xc8, 0xba, 0x70, 0xda, 0x67, 0x3e,
+	0x67, 0xa8, 0x4a, 0x0a, 0x27, 0x0b, 0x59, 0xa4, 0x21, 0xe9, 0x74, 0x3b, 0xa8, 0x78, 0xf0, 0x87,
+	0x78, 0x80, 0xd7, 0xff, 0x56, 0x56, 0x01, 0x1e, 0xea, 0xb4, 0xdd, 0x7f, 0x77, 0x80, 0x93, 0x7c,
+	0xe4, 0x6d, 0x78, 0xe2, 0x09, 0x56, 0xee, 0xf4, 0xa5, 0x98, 0xab, 0x71, 0x4a, 0x10, 0x0d, 0xf9,
+	0x82, 0xe6, 0x47, 0x96, 0xde, 0xe9, 0x50, 0xbf, 0x44, 0xc5, 0x83, 0xdf, 0xc6, 0x7f, 0xb2, 0xac,
+	0xff, 0xe4, 0xac, 0x6f, 0x42, 0x5f, 0x20, 0x83, 0xf7, 0xdd, 0x84, 0x04, 0x1f, 0x39, 0xfa, 0x29,
+	0x3c, 0xc9, 0xd4, 0x26, 0x26, 0x91, 0x34, 0x41, 0x26, 0x28, 0xbf, 0x3e, 0xeb, 0x98, 0x88, 0x48,
+	0x64, 0x43, 0x16, 0x85, 0x3e, 0x2a, 0x44, 0x17, 0x3f, 0x41, 0x0f, 0x84, 0x6f, 0x55, 0x9a, 0xd0,
+	0x99, 0x9c, 0xac, 0xa8, 0x04, 0x95, 0x32, 0xfd, 0x7a, 0x25, 0x10, 0x85, 0x1e, 0x4b, 0x79, 0x7d,
+	0x09, 0x63, 0xac, 0xac, 0x74, 0x24, 0x43, 0x22, 0x03, 0x59, 0x11, 0x0c, 0x09, 0x55, 0x0e, 0xfe,
+	0x9a, 0x83, 0xfb, 0x99, 0xbf, 0xa7, 0xf0, 0x1e, 0x3c, 0x66, 0xda, 0xba, 0x21, 0x28, 0x9d, 0xd3,
+	0xcb, 0x8c, 0xa8, 0x44, 0x51, 0x4b, 0x4b, 0xa4, 0x4a, 0x5c, 0x8a, 0xef, 0xa9, 0x46, 0xec, 0x04,
+	0x93, 0x9c, 0xa8, 0xf6, 0xe9, 0x65, 0xdb, 0x87, 0xcf, 0x32, 0x48, 0x8d, 0xa8, 0x17, 0x72, 0x87,
+	0x26, 0x90, 0x2e, 0x91, 0x0b, 0x59, 0x94, 0x50, 0xf1, 0xe0, 0xef, 0x79, 0x68, 0x26, 0xfe, 0x7b,
+	0xe1, 0x16, 0xdc, 0xbb, 0x10, 0xfa, 0x43, 0x69, 0xb3, 0x1a, 0xdf, 0x03, 0x14, 0x63, 0xf8, 0xab,
+	0x20, 0x47, 0xeb, 0x54, 0x42, 0x9e, 0x3b, 0x9f, 0xa7, 0x85, 0x2d, 0x86, 0xd3, 0x27, 0xab, 0x6e,
+	0x0a, 0x22, 0x2a, 0x64, 0x12, 0x1d, 0x11, 0x15, 0x53, 0x96, 0x84, 0x81, 0x26, 0x11, 0x89, 0xbe,
+	0x58, 0x92, 0xeb, 0xbe, 0x12, 0x0c, 0x43, 0x47, 0xe5, 0x14, 0xda, 0x93, 0x88, 0xf1, 0x3d, 0xaa,
+	0xa4, 0x6c, 0x88, 0x52, 0x5f, 0x97, 0x87, 0x3a, 0xaa, 0xd2, 0x3b, 0x1d, 0xc3, 0x35, 0x89, 0x88,
+	0xb4, 0xd6, 0x91, 0x1e, 0xaa, 0x61, 0x0c, 0x5b, 0x31, 0x8a, 0x68, 0x03, 0x04, 0x29, 0x4c, 0x1c,
+	0x0c, 0x78, 0x71, 0x8d, 0x61, 0x06, 0x19, 0x1a, 0x3d, 0x93, 0x01, 0xa8, 0x71, 0xf0, 0xfb, 0x02,
+	0xc0, 0xfa, 0x61, 0xb7, 0x5e, 0x4d, 0x17, 0x85, 0x7e, 0x32, 0x88, 0xf7, 0xe1, 0x6e, 0x9c, 0xba,
+	0x54, 0x45, 0x43, 0x45, 0xb9, 0x34, 0xfc, 0xbd, 0xa4, 0x19, 0x2a, 0xca, 0xaf, 0x37, 0xc9, 0x61,
+	0xc1, 0x30, 0x54, 0x54, 0x48, 0x0b, 0x77, 0xa5, 0x81, 0xa1, 0xa2, 0x62, 0x5a, 0x58, 0x93, 0x45,
+	0x35, 0x1e, 0x3d, 0x8e, 0x2a, 0x82, 0xa2, 0xa2, 0x72, 0xda, 0xc4, 0x40, 0x16, 0x89, 0x8a, 0x2a,
+	0x9b, 0x70, 0xbf, 0x2f, 0xa3, 0x6a, 0x1a, 0x1e, 0x2a, 0xb2, 0xa1, 0xa3, 0x5a, 0xda, 0xf4, 0xb9,
+	0xdc, 0x57, 0x11, 0xa4, 0xd1, 0x81, 0x74, 0x26, 0xa0, 0x7a, 0x1a, 0x3d, 0x93, 0xcf, 0x04, 0xd4,
+	0x48, 0xa3, 0x86, 0x44, 0x04, 0xd4, 0xdc, 0xd8, 0x88, 0x64, 0x08, 0x68, 0x0b, 0xef, 0xc0, 0x76,
+	0x1c, 0x95, 0x5e, 0x0b, 0x68, 0x7b, 0x33, 0x6e, 0x86, 0x21, 0x20, 0xb4, 0x19, 0x65, 0x0a, 0xdf,
+	0x3d, 0xf8, 0x75, 0x0e, 0x1a, 0xf1, 0xdf, 0xae, 0x34, 0x8b, 0xf8, 0x47, 0x9a, 0xa5, 0xc8, 0x50,
+	0x4f, 0xdf, 0xf7, 0x24, 0xa9, 0x9e, 0xa3, 0x1c, 0xad, 0x44, 0x69, 0x15, 0xe1, 0x42, 0x90, 0xfb,
+	0xb4, 0xd0, 0xa3, 0x3c, 0xcd, 0xfa, 0x24, 0xad, 0xa8, 0x0a, 0xad, 0xf9, 0x82, 0x21, 0xab, 0x0a,
+	0xad, 0x55, 0xa7, 0xdf, 0x7c, 0xff, 0xf5, 0xb5, 0x13, 0xdc, 0x2c, 0xaf, 0x0e, 0x47, 0xee, 0xec,
+	0xc8, 0x5d, 0xd8, 0xf3, 0x91, 0xeb, 0x8d, 0x8f, 0xc6, 0xf6, 0xad, 0x33, 0xb2, 0xbf, 0x9a, 0x59,
+	0x73, 0xeb, 0xda, 0x9e, 0xd9, 0xf3, 0xe0, 0x2b, 0x67, 0x1e, 0xd8, 0xde, 0xc4, 0x1a, 0xd9, 0x47,
+	0xb7, 0xcf, 0x8e, 0xae, 0xdd, 0xa3, 0xf1, 0xcc, 0xb9, 0x2a, 0xb3, 0x6e, 0xf4, 0xd9, 0x7f, 0x02,
+	0x00, 0x00, 0xff, 0xff, 0xb6, 0x76, 0x31, 0xc6, 0x0b, 0x19, 0x00, 0x00,
 }
diff --git a/protos/dmi/hw.proto b/protos/dmi/hw.proto
index 3046bbe..be97bd6 100644
--- a/protos/dmi/hw.proto
+++ b/protos/dmi/hw.proto
@@ -34,9 +34,13 @@
     COMPONENT_TYPE_BATTERY = 11;
     COMPONENT_TYPE_STORAGE = 12;
     COMPONENT_TYPE_MEMORY = 13;
+    // A component of type "TRANSCEIVER" could have 0 or more components of type "PORT" as children.
     COMPONENT_TYPE_TRANSCEIVER = 14;
-    COMPONENT_TYPE_GPON_TRANSCEIVER = 15;
-    COMPONENT_TYPE_XGS_PON_TRANSCEIVER = 16;
+    // Removing the below two specific types of transceivers as we introduce a specific attribute
+    // called type of the transeiver which can be used to convey the same information
+    // Will deprecate these two in the future.
+    //COMPONENT_TYPE_GPON_TRANSCEIVER = 15;
+    //COMPONENT_TYPE_XGS_PON_TRANSCEIVER = 16;
 }
 
 enum ComponentAdminState {
@@ -91,41 +95,41 @@
     ComponentStandbyState standby_state = 6;
 }
 
-enum SensorValueType {
-    SENSOR_VALUE_TYPE_UNDEFINED = 0;
-    SENSOR_VALUE_TYPE_OTHER = 1;
-    SENSOR_VALUE_TYPE_UNKNOWN = 2;
-    SENSOR_VALUE_TYPE_VOLTS_AC = 3;
-    SENSOR_VALUE_TYPE_VOLTS_DC = 4;
-    SENSOR_VALUE_TYPE_AMPERES = 5;
-    SENSOR_VALUE_TYPE_WATTS = 6;
-    SENSOR_VALUE_TYPE_HERTZ = 7;
-    SENSOR_VALUE_TYPE_CELSIUS = 8;
-    SENSOR_VALUE_TYPE_PERCENT_RH = 9;
-    SENSOR_VALUE_TYPE_RPM = 10;
-    SENSOR_VALUE_TYPE_CMM = 11;
-    SENSOR_VALUE_TYPE_TRUTH_VALUE = 12;
+enum DataValueType {
+    VALUE_TYPE_UNDEFINED = 0;
+    VALUE_TYPE_OTHER = 1;
+    VALUE_TYPE_UNKNOWN = 2;
+    VALUE_TYPE_VOLTS_AC = 3;
+    VALUE_TYPE_VOLTS_DC = 4;
+    VALUE_TYPE_AMPERES = 5;
+    VALUE_TYPE_WATTS = 6;
+    VALUE_TYPE_HERTZ = 7;
+    VALUE_TYPE_CELSIUS = 8;
+    VALUE_TYPE_PERCENT_RH = 9;
+    VALUE_TYPE_RPM = 10;
+    VALUE_TYPE_CMM = 11;
+    VALUE_TYPE_TRUTH_VALUE = 12;
 }
 
-enum SensorValueScale {
-    SENSOR_VALUE_SCALE_UNDEFINED = 0;
-    SENSOR_VALUE_SCALE_YOCTO = 1;
-    SENSOR_VALUE_SCALE_ZEPTO = 2;
-    SENSOR_VALUE_SCALE_ATTO = 3;
-    SENSOR_VALUE_SCALE_FEMTO = 4;
-    SENSOR_VALUE_SCALE_PICO = 5;
-    SENSOR_VALUE_SCALE_NANO = 6;
-    SENSOR_VALUE_SCALE_MICRO = 7;
-    SENSOR_VALUE_SCALE_MILLI = 8;
-    SENSOR_VALUE_SCALE_UNITS = 9;
-    SENSOR_VALUE_SCALE_KILO = 10;
-    SENSOR_VALUE_SCALE_MEGA = 11;
-    SENSOR_VALUE_SCALE_GIGA = 12;
-    SENSOR_VALUE_SCALE_TERA = 13;
-    SENSOR_VALUE_SCALE_PETA = 14;
-    SENSOR_VALUE_SCALE_EXA = 15;
-    SENSOR_VALUE_SCALE_ZETTA = 16;
-    SENSOR_VALUE_SCALE_YOTTA =17;
+enum ValueScale {
+    VALUE_SCALE_UNDEFINED = 0;
+    VALUE_SCALE_YOCTO = 1;
+    VALUE_SCALE_ZEPTO = 2;
+    VALUE_SCALE_ATTO = 3;
+    VALUE_SCALE_FEMTO = 4;
+    VALUE_SCALE_PICO = 5;
+    VALUE_SCALE_NANO = 6;
+    VALUE_SCALE_MICRO = 7;
+    VALUE_SCALE_MILLI = 8;
+    VALUE_SCALE_UNITS = 9;
+    VALUE_SCALE_KILO = 10;
+    VALUE_SCALE_MEGA = 11;
+    VALUE_SCALE_GIGA = 12;
+    VALUE_SCALE_TERA = 13;
+    VALUE_SCALE_PETA = 14;
+    VALUE_SCALE_EXA = 15;
+    VALUE_SCALE_ZETTA = 16;
+    VALUE_SCALE_YOTTA =17;
 }
 
 enum SensorStatus {
@@ -137,8 +141,8 @@
 
 message ComponentSensorData {
     int32 value = 1;
-    SensorValueType type = 2;
-    SensorValueScale scale = 3;
+    DataValueType type = 2;
+    ValueScale scale = 3;
     int32 precision = 4;
     SensorStatus status = 5;
     string units_display = 6;
@@ -148,12 +152,102 @@
     string data_type = 9;
 }
 
+message PortComponentAttributes{
+    enum ConnectorType {
+        CONNECTOR_TYPE_UNDEFINED = 0;
+        RJ45 = 1;
+        FIBER_LC = 2;
+        FIBER_SC_PC = 3;
+        FIBER_MPO = 4;
+    }
+    enum Speed {
+        SPEED_UNDEFINED = 0;
+        DYNAMIC = 1;
+        GIGABIT_1 = 2;
+        GIGABIT_10 = 3;
+        GIGABIT_25 = 4;
+        GIGABIT_40 = 5;
+        GIGABIT_100 = 6;
+        GIGABIT_400 = 7;
+        MEGABIT_2500 = 8;
+        MEGABIT_1250 = 9;
+    }
+    enum Protocol {
+        PROTOCOL_UNDEFINED = 0;
+        ETHERNET = 1;
+        GPON = 2;
+        XGPON = 3;
+        XGSPON = 4;
+        GFAST = 5;
+        SERIAL = 6;
+        EPON = 7;
+    }
+    ConnectorType connector_type = 1;
+    Speed speed = 2;
+    Protocol protocol = 3;
+    string physical_label = 4;
+}
+
+message ContainerComponentAttributes{
+    string physical_label = 1;
+}
+
+message PsuComponentAttributes{
+    enum SupportedVoltage {
+        SUPPORTED_VOLTAGE_UNDEFINED = 0;
+        V48 = 1;
+        V230 = 2;
+        V115 = 3;
+    }
+    SupportedVoltage supported_voltage = 1;
+}
+
+message TransceiverComponentsAttributes{
+    enum FormFactor {
+        FORM_FACTOR_UNKNOWN = 0;
+        QSFP = 1;
+        QSFP_PLUS = 2;
+        QSFP28 = 3;
+        SFP = 4;
+        SFP_PLUS = 5;
+        XFP = 6;
+        CFP4 = 7;
+        CFP2 = 8;
+        CPAK = 9;
+        X2 = 10;
+        OTHER = 11;
+        CFP = 12;
+        CFP2_ACO = 13;
+        CFP2_DCO = 14;
+    }
+
+    enum Type {
+        TYPE_UNKNOWN = 0;
+        ETHERNET = 1;
+        GPON = 2;
+        XGPON = 3;
+        XGSPON = 4;
+        CPON = 5;
+        NG_PON2 = 6;
+        EPON = 7;
+    }
+    FormFactor form_factor = 1;
+    Type trans_type = 2;
+    // The maximum reach that can be achieved by this transceiver
+    uint32 max_distance = 3;
+    ValueScale max_distance_scale = 4;
+    // The receive and transmit wavelengths that the transeiver operates on
+    repeated uint32 rx_wavelength = 5;
+    repeated uint32 tx_wavelength = 6;
+    ValueScale wavelength_scale = 7;
+}
+
 message Component {
-    // The name of a component uniquely identifies an component within the Hardware
+    // The name of a component uniquely identifies a component within the hardware
     string name = 1;
     ComponentType class = 2;
     string description = 3;
-    // The name of the parent of this component, empty "" in case of the root component
+    // The name of the parent of this component, empty string("") in case of the root component
     string parent = 4;
     int32 parent_rel_pos = 5;
     repeated Component children = 6;
@@ -162,6 +256,8 @@
     string software_rev = 9;
     string serial_num = 10;
     string mfg_name = 11;
+    // Apart from the definition of this attribute as defined in RFC 8348, implementations could choose to carry
+    // the manufacturer's part number in this attribute.
     string model_name = 12;
     string alias = 13;
     string asset_id = 14;
@@ -172,6 +268,13 @@
     Uuid uuid= 18;
     ComponentState state = 19;
     repeated ComponentSensorData sensor_data = 20;
+    // The attribute 'specific' can be populated for components where more details are required by the users of the DMI interface
+    oneof specific {
+        PortComponentAttributes port_attr = 50;
+        ContainerComponentAttributes container_attr = 51;
+        PsuComponentAttributes psu_attr = 52;
+        TransceiverComponentsAttributes transceiver_attr = 53;
+    }
 }
 
 message Hardware {
@@ -179,7 +282,9 @@
     // Each HW has one parent/root and all other components are children of this
     // The class of the root component would be set as UNDEFINED
     Component root = 2;
-    // TODO: Authetication?
+    // TODO: Authentication?
+    // Timestamp at which the hardware last booted
+    google.protobuf.Timestamp last_booted = 3;
 }
 
 // The attributes of a component which are modifiable from the client side
diff --git a/python/dmi/hw_pb2.py b/python/dmi/hw_pb2.py
index 2f1f173..3c7322b 100644
--- a/python/dmi/hw_pb2.py
+++ b/python/dmi/hw_pb2.py
@@ -21,7 +21,7 @@
   syntax='proto3',
   serialized_options=b'Z9github.com/opencord/device-management-interface/v3/go/dmi',
   create_key=_descriptor._internal_create_key,
-  serialized_pb=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\"\x98\x02\n\x13\x43omponentSensorData\x12\r\n\x05value\x18\x01 \x01(\x05\x12\"\n\x04type\x18\x02 \x01(\x0e\x32\x14.dmi.SensorValueType\x12$\n\x05scale\x18\x03 \x01(\x0e\x32\x15.dmi.SensorValueScale\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\"\xf9\x03\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\"Y\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\"\xe5\x01\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*\x81\x04\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\x12#\n\x1f\x43OMPONENT_TYPE_GPON_TRANSCEIVER\x10\x0f\x12&\n\"COMPONENT_TYPE_XGS_PON_TRANSCEIVER\x10\x10*\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*\xa1\x03\n\x0fSensorValueType\x12\x1f\n\x1bSENSOR_VALUE_TYPE_UNDEFINED\x10\x00\x12\x1b\n\x17SENSOR_VALUE_TYPE_OTHER\x10\x01\x12\x1d\n\x19SENSOR_VALUE_TYPE_UNKNOWN\x10\x02\x12\x1e\n\x1aSENSOR_VALUE_TYPE_VOLTS_AC\x10\x03\x12\x1e\n\x1aSENSOR_VALUE_TYPE_VOLTS_DC\x10\x04\x12\x1d\n\x19SENSOR_VALUE_TYPE_AMPERES\x10\x05\x12\x1b\n\x17SENSOR_VALUE_TYPE_WATTS\x10\x06\x12\x1b\n\x17SENSOR_VALUE_TYPE_HERTZ\x10\x07\x12\x1d\n\x19SENSOR_VALUE_TYPE_CELSIUS\x10\x08\x12 \n\x1cSENSOR_VALUE_TYPE_PERCENT_RH\x10\t\x12\x19\n\x15SENSOR_VALUE_TYPE_RPM\x10\n\x12\x19\n\x15SENSOR_VALUE_TYPE_CMM\x10\x0b\x12!\n\x1dSENSOR_VALUE_TYPE_TRUTH_VALUE\x10\x0c*\xa8\x04\n\x10SensorValueScale\x12 \n\x1cSENSOR_VALUE_SCALE_UNDEFINED\x10\x00\x12\x1c\n\x18SENSOR_VALUE_SCALE_YOCTO\x10\x01\x12\x1c\n\x18SENSOR_VALUE_SCALE_ZEPTO\x10\x02\x12\x1b\n\x17SENSOR_VALUE_SCALE_ATTO\x10\x03\x12\x1c\n\x18SENSOR_VALUE_SCALE_FEMTO\x10\x04\x12\x1b\n\x17SENSOR_VALUE_SCALE_PICO\x10\x05\x12\x1b\n\x17SENSOR_VALUE_SCALE_NANO\x10\x06\x12\x1c\n\x18SENSOR_VALUE_SCALE_MICRO\x10\x07\x12\x1c\n\x18SENSOR_VALUE_SCALE_MILLI\x10\x08\x12\x1c\n\x18SENSOR_VALUE_SCALE_UNITS\x10\t\x12\x1b\n\x17SENSOR_VALUE_SCALE_KILO\x10\n\x12\x1b\n\x17SENSOR_VALUE_SCALE_MEGA\x10\x0b\x12\x1b\n\x17SENSOR_VALUE_SCALE_GIGA\x10\x0c\x12\x1b\n\x17SENSOR_VALUE_SCALE_TERA\x10\r\x12\x1b\n\x17SENSOR_VALUE_SCALE_PETA\x10\x0e\x12\x1a\n\x16SENSOR_VALUE_SCALE_EXA\x10\x0f\x12\x1c\n\x18SENSOR_VALUE_SCALE_ZETTA\x10\x10\x12\x1c\n\x18SENSOR_VALUE_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\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3'
+  serialized_pb=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\"\xed\x04\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\"e\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\"\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\"r\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\"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\"\xef\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).dmi.TransceiverComponentsAttributes.Type\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\"\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\"h\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\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\"\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\"\xe5\x01\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*\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*\xc4\x02\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*\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\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3'
   ,
   dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
 
@@ -107,21 +107,11 @@
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_GPON_TRANSCEIVER', index=15, number=15,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_XGS_PON_TRANSCEIVER', index=16, number=16,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=1562,
-  serialized_end=2075,
+  serialized_start=3331,
+  serialized_end=3767,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENTTYPE)
 
@@ -161,8 +151,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=2078,
-  serialized_end=2257,
+  serialized_start=3770,
+  serialized_end=3949,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENTADMINSTATE)
 
@@ -202,8 +192,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=2260,
-  serialized_end=2428,
+  serialized_start=3952,
+  serialized_end=4120,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENTOPERSTATE)
 
@@ -243,8 +233,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=2431,
-  serialized_end=2597,
+  serialized_start=4123,
+  serialized_end=4289,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENTUSAGESTATE)
 
@@ -299,8 +289,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=2600,
-  serialized_end=2871,
+  serialized_start=4292,
+  serialized_end=4563,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENTALARMSTATE)
 
@@ -340,199 +330,199 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=2874,
-  serialized_end=3062,
+  serialized_start=4566,
+  serialized_end=4754,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENTSTANDBYSTATE)
 
 ComponentStandbyState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTSTANDBYSTATE)
-_SENSORVALUETYPE = _descriptor.EnumDescriptor(
-  name='SensorValueType',
-  full_name='dmi.SensorValueType',
+_DATAVALUETYPE = _descriptor.EnumDescriptor(
+  name='DataValueType',
+  full_name='dmi.DataValueType',
   filename=None,
   file=DESCRIPTOR,
   create_key=_descriptor._internal_create_key,
   values=[
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_UNDEFINED', index=0, number=0,
+      name='VALUE_TYPE_UNDEFINED', index=0, number=0,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_OTHER', index=1, number=1,
+      name='VALUE_TYPE_OTHER', index=1, number=1,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_UNKNOWN', index=2, number=2,
+      name='VALUE_TYPE_UNKNOWN', index=2, number=2,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_VOLTS_AC', index=3, number=3,
+      name='VALUE_TYPE_VOLTS_AC', index=3, number=3,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_VOLTS_DC', index=4, number=4,
+      name='VALUE_TYPE_VOLTS_DC', index=4, number=4,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_AMPERES', index=5, number=5,
+      name='VALUE_TYPE_AMPERES', index=5, number=5,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_WATTS', index=6, number=6,
+      name='VALUE_TYPE_WATTS', index=6, number=6,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_HERTZ', index=7, number=7,
+      name='VALUE_TYPE_HERTZ', index=7, number=7,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_CELSIUS', index=8, number=8,
+      name='VALUE_TYPE_CELSIUS', index=8, number=8,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_PERCENT_RH', index=9, number=9,
+      name='VALUE_TYPE_PERCENT_RH', index=9, number=9,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_RPM', index=10, number=10,
+      name='VALUE_TYPE_RPM', index=10, number=10,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_CMM', index=11, number=11,
+      name='VALUE_TYPE_CMM', index=11, number=11,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_TYPE_TRUTH_VALUE', index=12, number=12,
+      name='VALUE_TYPE_TRUTH_VALUE', index=12, number=12,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=3065,
-  serialized_end=3482,
+  serialized_start=4757,
+  serialized_end=5081,
 )
-_sym_db.RegisterEnumDescriptor(_SENSORVALUETYPE)
+_sym_db.RegisterEnumDescriptor(_DATAVALUETYPE)
 
-SensorValueType = enum_type_wrapper.EnumTypeWrapper(_SENSORVALUETYPE)
-_SENSORVALUESCALE = _descriptor.EnumDescriptor(
-  name='SensorValueScale',
-  full_name='dmi.SensorValueScale',
+DataValueType = enum_type_wrapper.EnumTypeWrapper(_DATAVALUETYPE)
+_VALUESCALE = _descriptor.EnumDescriptor(
+  name='ValueScale',
+  full_name='dmi.ValueScale',
   filename=None,
   file=DESCRIPTOR,
   create_key=_descriptor._internal_create_key,
   values=[
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_UNDEFINED', index=0, number=0,
+      name='VALUE_SCALE_UNDEFINED', index=0, number=0,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_YOCTO', index=1, number=1,
+      name='VALUE_SCALE_YOCTO', index=1, number=1,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_ZEPTO', index=2, number=2,
+      name='VALUE_SCALE_ZEPTO', index=2, number=2,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_ATTO', index=3, number=3,
+      name='VALUE_SCALE_ATTO', index=3, number=3,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_FEMTO', index=4, number=4,
+      name='VALUE_SCALE_FEMTO', index=4, number=4,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_PICO', index=5, number=5,
+      name='VALUE_SCALE_PICO', index=5, number=5,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_NANO', index=6, number=6,
+      name='VALUE_SCALE_NANO', index=6, number=6,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_MICRO', index=7, number=7,
+      name='VALUE_SCALE_MICRO', index=7, number=7,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_MILLI', index=8, number=8,
+      name='VALUE_SCALE_MILLI', index=8, number=8,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_UNITS', index=9, number=9,
+      name='VALUE_SCALE_UNITS', index=9, number=9,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_KILO', index=10, number=10,
+      name='VALUE_SCALE_KILO', index=10, number=10,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_MEGA', index=11, number=11,
+      name='VALUE_SCALE_MEGA', index=11, number=11,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_GIGA', index=12, number=12,
+      name='VALUE_SCALE_GIGA', index=12, number=12,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_TERA', index=13, number=13,
+      name='VALUE_SCALE_TERA', index=13, number=13,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_PETA', index=14, number=14,
+      name='VALUE_SCALE_PETA', index=14, number=14,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_EXA', index=15, number=15,
+      name='VALUE_SCALE_EXA', index=15, number=15,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_ZETTA', index=16, number=16,
+      name='VALUE_SCALE_ZETTA', index=16, number=16,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
     _descriptor.EnumValueDescriptor(
-      name='SENSOR_VALUE_SCALE_YOTTA', index=17, number=17,
+      name='VALUE_SCALE_YOTTA', index=17, number=17,
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=3485,
-  serialized_end=4037,
+  serialized_start=5084,
+  serialized_end=5504,
 )
-_sym_db.RegisterEnumDescriptor(_SENSORVALUESCALE)
+_sym_db.RegisterEnumDescriptor(_VALUESCALE)
 
-SensorValueScale = enum_type_wrapper.EnumTypeWrapper(_SENSORVALUESCALE)
+ValueScale = enum_type_wrapper.EnumTypeWrapper(_VALUESCALE)
 _SENSORSTATUS = _descriptor.EnumDescriptor(
   name='SensorStatus',
   full_name='dmi.SensorStatus',
@@ -563,8 +553,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=4040,
-  serialized_end=4170,
+  serialized_start=5507,
+  serialized_end=5637,
 )
 _sym_db.RegisterEnumDescriptor(_SENSORSTATUS)
 
@@ -584,8 +574,6 @@
 COMPONENT_TYPE_STORAGE = 12
 COMPONENT_TYPE_MEMORY = 13
 COMPONENT_TYPE_TRANSCEIVER = 14
-COMPONENT_TYPE_GPON_TRANSCEIVER = 15
-COMPONENT_TYPE_XGS_PON_TRANSCEIVER = 16
 COMP_ADMIN_STATE_UNDEFINED = 0
 COMP_ADMIN_STATE_UNKNOWN = 1
 COMP_ADMIN_STATE_LOCKED = 2
@@ -614,43 +602,383 @@
 COMP_STANDBY_STATE_HOT = 2
 COMP_STANDBY_STATE_COLD = 3
 COMP_STANDBY_STATE_PROVIDING_SERVICE = 4
-SENSOR_VALUE_TYPE_UNDEFINED = 0
-SENSOR_VALUE_TYPE_OTHER = 1
-SENSOR_VALUE_TYPE_UNKNOWN = 2
-SENSOR_VALUE_TYPE_VOLTS_AC = 3
-SENSOR_VALUE_TYPE_VOLTS_DC = 4
-SENSOR_VALUE_TYPE_AMPERES = 5
-SENSOR_VALUE_TYPE_WATTS = 6
-SENSOR_VALUE_TYPE_HERTZ = 7
-SENSOR_VALUE_TYPE_CELSIUS = 8
-SENSOR_VALUE_TYPE_PERCENT_RH = 9
-SENSOR_VALUE_TYPE_RPM = 10
-SENSOR_VALUE_TYPE_CMM = 11
-SENSOR_VALUE_TYPE_TRUTH_VALUE = 12
-SENSOR_VALUE_SCALE_UNDEFINED = 0
-SENSOR_VALUE_SCALE_YOCTO = 1
-SENSOR_VALUE_SCALE_ZEPTO = 2
-SENSOR_VALUE_SCALE_ATTO = 3
-SENSOR_VALUE_SCALE_FEMTO = 4
-SENSOR_VALUE_SCALE_PICO = 5
-SENSOR_VALUE_SCALE_NANO = 6
-SENSOR_VALUE_SCALE_MICRO = 7
-SENSOR_VALUE_SCALE_MILLI = 8
-SENSOR_VALUE_SCALE_UNITS = 9
-SENSOR_VALUE_SCALE_KILO = 10
-SENSOR_VALUE_SCALE_MEGA = 11
-SENSOR_VALUE_SCALE_GIGA = 12
-SENSOR_VALUE_SCALE_TERA = 13
-SENSOR_VALUE_SCALE_PETA = 14
-SENSOR_VALUE_SCALE_EXA = 15
-SENSOR_VALUE_SCALE_ZETTA = 16
-SENSOR_VALUE_SCALE_YOTTA = 17
+VALUE_TYPE_UNDEFINED = 0
+VALUE_TYPE_OTHER = 1
+VALUE_TYPE_UNKNOWN = 2
+VALUE_TYPE_VOLTS_AC = 3
+VALUE_TYPE_VOLTS_DC = 4
+VALUE_TYPE_AMPERES = 5
+VALUE_TYPE_WATTS = 6
+VALUE_TYPE_HERTZ = 7
+VALUE_TYPE_CELSIUS = 8
+VALUE_TYPE_PERCENT_RH = 9
+VALUE_TYPE_RPM = 10
+VALUE_TYPE_CMM = 11
+VALUE_TYPE_TRUTH_VALUE = 12
+VALUE_SCALE_UNDEFINED = 0
+VALUE_SCALE_YOCTO = 1
+VALUE_SCALE_ZEPTO = 2
+VALUE_SCALE_ATTO = 3
+VALUE_SCALE_FEMTO = 4
+VALUE_SCALE_PICO = 5
+VALUE_SCALE_NANO = 6
+VALUE_SCALE_MICRO = 7
+VALUE_SCALE_MILLI = 8
+VALUE_SCALE_UNITS = 9
+VALUE_SCALE_KILO = 10
+VALUE_SCALE_MEGA = 11
+VALUE_SCALE_GIGA = 12
+VALUE_SCALE_TERA = 13
+VALUE_SCALE_PETA = 14
+VALUE_SCALE_EXA = 15
+VALUE_SCALE_ZETTA = 16
+VALUE_SCALE_YOTTA = 17
 SENSOR_STATUS_UNDEFINED = 0
 SENSOR_STATUS_OK = 1
 SENSOR_STATUS_UNAVAILABLE = 2
 SENSOR_STATUS_NONOPERATIONAL = 3
 
 
+_PORTCOMPONENTATTRIBUTES_CONNECTORTYPE = _descriptor.EnumDescriptor(
+  name='ConnectorType',
+  full_name='dmi.PortComponentAttributes.ConnectorType',
+  filename=None,
+  file=DESCRIPTOR,
+  create_key=_descriptor._internal_create_key,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='CONNECTOR_TYPE_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='RJ45', index=1, number=1,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='FIBER_LC', index=2, number=2,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='FIBER_SC_PC', index=3, number=3,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='FIBER_MPO', index=4, number=4,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=950,
+  serialized_end=1051,
+)
+_sym_db.RegisterEnumDescriptor(_PORTCOMPONENTATTRIBUTES_CONNECTORTYPE)
+
+_PORTCOMPONENTATTRIBUTES_SPEED = _descriptor.EnumDescriptor(
+  name='Speed',
+  full_name='dmi.PortComponentAttributes.Speed',
+  filename=None,
+  file=DESCRIPTOR,
+  create_key=_descriptor._internal_create_key,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='SPEED_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='DYNAMIC', index=1, number=1,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='GIGABIT_1', index=2, number=2,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='GIGABIT_10', index=3, number=3,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='GIGABIT_25', index=4, number=4,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='GIGABIT_40', index=5, number=5,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='GIGABIT_100', index=6, number=6,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='GIGABIT_400', index=7, number=7,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='MEGABIT_2500', index=8, number=8,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='MEGABIT_1250', index=9, number=9,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=1054,
+  serialized_end=1228,
+)
+_sym_db.RegisterEnumDescriptor(_PORTCOMPONENTATTRIBUTES_SPEED)
+
+_PORTCOMPONENTATTRIBUTES_PROTOCOL = _descriptor.EnumDescriptor(
+  name='Protocol',
+  full_name='dmi.PortComponentAttributes.Protocol',
+  filename=None,
+  file=DESCRIPTOR,
+  create_key=_descriptor._internal_create_key,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='PROTOCOL_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='ETHERNET', index=1, number=1,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='GPON', index=2, number=2,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='XGPON', index=3, number=3,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='XGSPON', index=4, number=4,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='GFAST', index=5, number=5,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='SERIAL', index=6, number=6,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='EPON', index=7, number=7,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=1230,
+  serialized_end=1344,
+)
+_sym_db.RegisterEnumDescriptor(_PORTCOMPONENTATTRIBUTES_PROTOCOL)
+
+_PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE = _descriptor.EnumDescriptor(
+  name='SupportedVoltage',
+  full_name='dmi.PsuComponentAttributes.SupportedVoltage',
+  filename=None,
+  file=DESCRIPTOR,
+  create_key=_descriptor._internal_create_key,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='SUPPORTED_VOLTAGE_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='V48', index=1, number=1,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='V230', index=2, number=2,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='V115', index=3, number=3,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=1502,
+  serialized_end=1582,
+)
+_sym_db.RegisterEnumDescriptor(_PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE)
+
+_TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR = _descriptor.EnumDescriptor(
+  name='FormFactor',
+  full_name='dmi.TransceiverComponentsAttributes.FormFactor',
+  filename=None,
+  file=DESCRIPTOR,
+  create_key=_descriptor._internal_create_key,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='FORM_FACTOR_UNKNOWN', index=0, number=0,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='QSFP', index=1, number=1,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='QSFP_PLUS', index=2, number=2,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='QSFP28', index=3, number=3,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='SFP', index=4, number=4,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='SFP_PLUS', index=5, number=5,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='XFP', index=6, number=6,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='CFP4', index=7, number=7,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='CFP2', index=8, number=8,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='CPAK', index=9, number=9,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='X2', index=10, number=10,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='OTHER', index=11, number=11,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='CFP', index=12, number=12,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='CFP2_ACO', index=13, number=13,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='CFP2_DCO', index=14, number=14,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=1910,
+  serialized_end=2102,
+)
+_sym_db.RegisterEnumDescriptor(_TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR)
+
+_TRANSCEIVERCOMPONENTSATTRIBUTES_TYPE = _descriptor.EnumDescriptor(
+  name='Type',
+  full_name='dmi.TransceiverComponentsAttributes.Type',
+  filename=None,
+  file=DESCRIPTOR,
+  create_key=_descriptor._internal_create_key,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='TYPE_UNKNOWN', index=0, number=0,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='ETHERNET', index=1, number=1,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='GPON', index=2, number=2,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='XGPON', index=3, number=3,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='XGSPON', index=4, number=4,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='CPON', index=5, number=5,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='NG_PON2', index=6, number=6,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='EPON', index=7, number=7,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=2104,
+  serialized_end=2208,
+)
+_sym_db.RegisterEnumDescriptor(_TRANSCEIVERCOMPONENTSATTRIBUTES_TYPE)
+
 
 _UUID = _descriptor.Descriptor(
   name='Uuid',
@@ -899,7 +1227,204 @@
   oneofs=[
   ],
   serialized_start=448,
-  serialized_end=728,
+  serialized_end=720,
+)
+
+
+_PORTCOMPONENTATTRIBUTES = _descriptor.Descriptor(
+  name='PortComponentAttributes',
+  full_name='dmi.PortComponentAttributes',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='connector_type', full_name='dmi.PortComponentAttributes.connector_type', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='speed', full_name='dmi.PortComponentAttributes.speed', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='protocol', full_name='dmi.PortComponentAttributes.protocol', index=2,
+      number=3, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='physical_label', full_name='dmi.PortComponentAttributes.physical_label', index=3,
+      number=4, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=b"".decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+    _PORTCOMPONENTATTRIBUTES_CONNECTORTYPE,
+    _PORTCOMPONENTATTRIBUTES_SPEED,
+    _PORTCOMPONENTATTRIBUTES_PROTOCOL,
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=723,
+  serialized_end=1344,
+)
+
+
+_CONTAINERCOMPONENTATTRIBUTES = _descriptor.Descriptor(
+  name='ContainerComponentAttributes',
+  full_name='dmi.ContainerComponentAttributes',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='physical_label', full_name='dmi.ContainerComponentAttributes.physical_label', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=b"".decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1346,
+  serialized_end=1400,
+)
+
+
+_PSUCOMPONENTATTRIBUTES = _descriptor.Descriptor(
+  name='PsuComponentAttributes',
+  full_name='dmi.PsuComponentAttributes',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='supported_voltage', full_name='dmi.PsuComponentAttributes.supported_voltage', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+    _PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE,
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1403,
+  serialized_end=1582,
+)
+
+
+_TRANSCEIVERCOMPONENTSATTRIBUTES = _descriptor.Descriptor(
+  name='TransceiverComponentsAttributes',
+  full_name='dmi.TransceiverComponentsAttributes',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='form_factor', full_name='dmi.TransceiverComponentsAttributes.form_factor', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='trans_type', full_name='dmi.TransceiverComponentsAttributes.trans_type', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='max_distance', full_name='dmi.TransceiverComponentsAttributes.max_distance', index=2,
+      number=3, type=13, cpp_type=3, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='max_distance_scale', full_name='dmi.TransceiverComponentsAttributes.max_distance_scale', index=3,
+      number=4, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='rx_wavelength', full_name='dmi.TransceiverComponentsAttributes.rx_wavelength', index=4,
+      number=5, type=13, cpp_type=3, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='tx_wavelength', full_name='dmi.TransceiverComponentsAttributes.tx_wavelength', index=5,
+      number=6, type=13, cpp_type=3, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='wavelength_scale', full_name='dmi.TransceiverComponentsAttributes.wavelength_scale', index=6,
+      number=7, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+    _TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR,
+    _TRANSCEIVERCOMPONENTSATTRIBUTES_TYPE,
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1585,
+  serialized_end=2208,
 )
 
 
@@ -1051,6 +1576,34 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='port_attr', full_name='dmi.Component.port_attr', index=20,
+      number=50, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='container_attr', full_name='dmi.Component.container_attr', index=21,
+      number=51, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='psu_attr', full_name='dmi.Component.psu_attr', index=22,
+      number=52, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='transceiver_attr', full_name='dmi.Component.transceiver_attr', index=23,
+      number=53, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -1062,9 +1615,14 @@
   syntax='proto3',
   extension_ranges=[],
   oneofs=[
+    _descriptor.OneofDescriptor(
+      name='specific', full_name='dmi.Component.specific',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
   ],
-  serialized_start=731,
-  serialized_end=1236,
+  serialized_start=2211,
+  serialized_end=2955,
 )
 
 
@@ -1090,6 +1648,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='last_booted', full_name='dmi.Hardware.last_booted', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -1102,8 +1667,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1238,
-  serialized_end=1327,
+  serialized_start=2958,
+  serialized_end=3096,
 )
 
 
@@ -1183,8 +1748,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1330,
-  serialized_end=1559,
+  serialized_start=3099,
+  serialized_end=3328,
 )
 
 _HARDWAREID.fields_by_name['uuid'].message_type = _UUID
@@ -1194,10 +1759,24 @@
 _COMPONENTSTATE.fields_by_name['usage_state'].enum_type = _COMPONENTUSAGESTATE
 _COMPONENTSTATE.fields_by_name['alarm_state'].enum_type = _COMPONENTALARMSTATE
 _COMPONENTSTATE.fields_by_name['standby_state'].enum_type = _COMPONENTSTANDBYSTATE
-_COMPONENTSENSORDATA.fields_by_name['type'].enum_type = _SENSORVALUETYPE
-_COMPONENTSENSORDATA.fields_by_name['scale'].enum_type = _SENSORVALUESCALE
+_COMPONENTSENSORDATA.fields_by_name['type'].enum_type = _DATAVALUETYPE
+_COMPONENTSENSORDATA.fields_by_name['scale'].enum_type = _VALUESCALE
 _COMPONENTSENSORDATA.fields_by_name['status'].enum_type = _SENSORSTATUS
 _COMPONENTSENSORDATA.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_PORTCOMPONENTATTRIBUTES.fields_by_name['connector_type'].enum_type = _PORTCOMPONENTATTRIBUTES_CONNECTORTYPE
+_PORTCOMPONENTATTRIBUTES.fields_by_name['speed'].enum_type = _PORTCOMPONENTATTRIBUTES_SPEED
+_PORTCOMPONENTATTRIBUTES.fields_by_name['protocol'].enum_type = _PORTCOMPONENTATTRIBUTES_PROTOCOL
+_PORTCOMPONENTATTRIBUTES_CONNECTORTYPE.containing_type = _PORTCOMPONENTATTRIBUTES
+_PORTCOMPONENTATTRIBUTES_SPEED.containing_type = _PORTCOMPONENTATTRIBUTES
+_PORTCOMPONENTATTRIBUTES_PROTOCOL.containing_type = _PORTCOMPONENTATTRIBUTES
+_PSUCOMPONENTATTRIBUTES.fields_by_name['supported_voltage'].enum_type = _PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE
+_PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE.containing_type = _PSUCOMPONENTATTRIBUTES
+_TRANSCEIVERCOMPONENTSATTRIBUTES.fields_by_name['form_factor'].enum_type = _TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR
+_TRANSCEIVERCOMPONENTSATTRIBUTES.fields_by_name['trans_type'].enum_type = _TRANSCEIVERCOMPONENTSATTRIBUTES_TYPE
+_TRANSCEIVERCOMPONENTSATTRIBUTES.fields_by_name['max_distance_scale'].enum_type = _VALUESCALE
+_TRANSCEIVERCOMPONENTSATTRIBUTES.fields_by_name['wavelength_scale'].enum_type = _VALUESCALE
+_TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR.containing_type = _TRANSCEIVERCOMPONENTSATTRIBUTES
+_TRANSCEIVERCOMPONENTSATTRIBUTES_TYPE.containing_type = _TRANSCEIVERCOMPONENTSATTRIBUTES
 _COMPONENT.fields_by_name['class'].enum_type = _COMPONENTTYPE
 _COMPONENT.fields_by_name['children'].message_type = _COMPONENT
 _COMPONENT.fields_by_name['mfg_date'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
@@ -1205,8 +1784,25 @@
 _COMPONENT.fields_by_name['uuid'].message_type = _UUID
 _COMPONENT.fields_by_name['state'].message_type = _COMPONENTSTATE
 _COMPONENT.fields_by_name['sensor_data'].message_type = _COMPONENTSENSORDATA
+_COMPONENT.fields_by_name['port_attr'].message_type = _PORTCOMPONENTATTRIBUTES
+_COMPONENT.fields_by_name['container_attr'].message_type = _CONTAINERCOMPONENTATTRIBUTES
+_COMPONENT.fields_by_name['psu_attr'].message_type = _PSUCOMPONENTATTRIBUTES
+_COMPONENT.fields_by_name['transceiver_attr'].message_type = _TRANSCEIVERCOMPONENTSATTRIBUTES
+_COMPONENT.oneofs_by_name['specific'].fields.append(
+  _COMPONENT.fields_by_name['port_attr'])
+_COMPONENT.fields_by_name['port_attr'].containing_oneof = _COMPONENT.oneofs_by_name['specific']
+_COMPONENT.oneofs_by_name['specific'].fields.append(
+  _COMPONENT.fields_by_name['container_attr'])
+_COMPONENT.fields_by_name['container_attr'].containing_oneof = _COMPONENT.oneofs_by_name['specific']
+_COMPONENT.oneofs_by_name['specific'].fields.append(
+  _COMPONENT.fields_by_name['psu_attr'])
+_COMPONENT.fields_by_name['psu_attr'].containing_oneof = _COMPONENT.oneofs_by_name['specific']
+_COMPONENT.oneofs_by_name['specific'].fields.append(
+  _COMPONENT.fields_by_name['transceiver_attr'])
+_COMPONENT.fields_by_name['transceiver_attr'].containing_oneof = _COMPONENT.oneofs_by_name['specific']
 _HARDWARE.fields_by_name['last_change'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
 _HARDWARE.fields_by_name['root'].message_type = _COMPONENT
+_HARDWARE.fields_by_name['last_booted'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
 _MODIFIABLECOMPONENT.fields_by_name['class'].enum_type = _COMPONENTTYPE
 _MODIFIABLECOMPONENT.fields_by_name['parent'].message_type = _COMPONENT
 _MODIFIABLECOMPONENT.fields_by_name['uri'].message_type = _URI
@@ -1216,6 +1812,10 @@
 DESCRIPTOR.message_types_by_name['Uri'] = _URI
 DESCRIPTOR.message_types_by_name['ComponentState'] = _COMPONENTSTATE
 DESCRIPTOR.message_types_by_name['ComponentSensorData'] = _COMPONENTSENSORDATA
+DESCRIPTOR.message_types_by_name['PortComponentAttributes'] = _PORTCOMPONENTATTRIBUTES
+DESCRIPTOR.message_types_by_name['ContainerComponentAttributes'] = _CONTAINERCOMPONENTATTRIBUTES
+DESCRIPTOR.message_types_by_name['PsuComponentAttributes'] = _PSUCOMPONENTATTRIBUTES
+DESCRIPTOR.message_types_by_name['TransceiverComponentsAttributes'] = _TRANSCEIVERCOMPONENTSATTRIBUTES
 DESCRIPTOR.message_types_by_name['Component'] = _COMPONENT
 DESCRIPTOR.message_types_by_name['Hardware'] = _HARDWARE
 DESCRIPTOR.message_types_by_name['ModifiableComponent'] = _MODIFIABLECOMPONENT
@@ -1225,8 +1825,8 @@
 DESCRIPTOR.enum_types_by_name['ComponentUsageState'] = _COMPONENTUSAGESTATE
 DESCRIPTOR.enum_types_by_name['ComponentAlarmState'] = _COMPONENTALARMSTATE
 DESCRIPTOR.enum_types_by_name['ComponentStandbyState'] = _COMPONENTSTANDBYSTATE
-DESCRIPTOR.enum_types_by_name['SensorValueType'] = _SENSORVALUETYPE
-DESCRIPTOR.enum_types_by_name['SensorValueScale'] = _SENSORVALUESCALE
+DESCRIPTOR.enum_types_by_name['DataValueType'] = _DATAVALUETYPE
+DESCRIPTOR.enum_types_by_name['ValueScale'] = _VALUESCALE
 DESCRIPTOR.enum_types_by_name['SensorStatus'] = _SENSORSTATUS
 _sym_db.RegisterFileDescriptor(DESCRIPTOR)
 
@@ -1265,6 +1865,34 @@
   })
 _sym_db.RegisterMessage(ComponentSensorData)
 
+PortComponentAttributes = _reflection.GeneratedProtocolMessageType('PortComponentAttributes', (_message.Message,), {
+  'DESCRIPTOR' : _PORTCOMPONENTATTRIBUTES,
+  '__module__' : 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.PortComponentAttributes)
+  })
+_sym_db.RegisterMessage(PortComponentAttributes)
+
+ContainerComponentAttributes = _reflection.GeneratedProtocolMessageType('ContainerComponentAttributes', (_message.Message,), {
+  'DESCRIPTOR' : _CONTAINERCOMPONENTATTRIBUTES,
+  '__module__' : 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ContainerComponentAttributes)
+  })
+_sym_db.RegisterMessage(ContainerComponentAttributes)
+
+PsuComponentAttributes = _reflection.GeneratedProtocolMessageType('PsuComponentAttributes', (_message.Message,), {
+  'DESCRIPTOR' : _PSUCOMPONENTATTRIBUTES,
+  '__module__' : 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.PsuComponentAttributes)
+  })
+_sym_db.RegisterMessage(PsuComponentAttributes)
+
+TransceiverComponentsAttributes = _reflection.GeneratedProtocolMessageType('TransceiverComponentsAttributes', (_message.Message,), {
+  'DESCRIPTOR' : _TRANSCEIVERCOMPONENTSATTRIBUTES,
+  '__module__' : 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.TransceiverComponentsAttributes)
+  })
+_sym_db.RegisterMessage(TransceiverComponentsAttributes)
+
 Component = _reflection.GeneratedProtocolMessageType('Component', (_message.Message,), {
   'DESCRIPTOR' : _COMPONENT,
   '__module__' : 'dmi.hw_pb2'
