// SAL_VERSION=5.0.1 XML_VERSION=6.2.1
module CCCamera {
struct bonnShutter_8c3c2949 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  float	shutter5V; // @Metadata=(Units="volt",Description="Measured 5v supply coltage to bonn shutter")
	  float	shutter36V; // @Metadata=(Units="volt",Description="Measured 24v supply voltage to bonn shutter")
	};
#pragma keylist bonnShutter_8c3c2949 
struct command_abort_de5e2a7b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_abort_de5e2a7b 
struct command_clear_338ac40a {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	nClears; // @Metadata=(Units="unitless",Description="Number of consecutive clear operations to perform")
	};
#pragma keylist command_clear_338ac40a 
struct command_disable_b499088b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_disable_b499088b 
struct command_disableCalibration_c20e9bc6 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	};
#pragma keylist command_disableCalibration_c20e9bc6 
struct command_discardRows_665284df {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	nRows; // @Metadata=(Units="unitless",Description="Number of rows to discard")
	};
#pragma keylist command_discardRows_665284df 
struct command_enable_119155fd {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_enable_119155fd 
struct command_enableCalibration_e1ab338c {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	};
#pragma keylist command_enableCalibration_e1ab338c 
struct command_endImage_6453656f {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	};
#pragma keylist command_endImage_6453656f 
struct command_enterControl_c3234e5f {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_enterControl_c3234e5f 
struct command_exitControl_43f025ad {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_exitControl_43f025ad 
struct command_initGuiders_cefcf861 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	roiSpec; // @Metadata=(Units="unitless",Description="TBD specification for region of interest")
	};
#pragma keylist command_initGuiders_cefcf861 
struct command_initImage_4f8e5b09 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	deltaT; // @Metadata=(Units="second",Description="Estimate of time period before takeImages will be issued")
	};
#pragma keylist command_initImage_4f8e5b09 
struct command_setAuthList_85c6f56e {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	authorizedUsers; // @Metadata=(Units="unitless",Description="Comma seperated list of authorized users currently allowed to command this CSC;")
	  string	nonAuthorizedCSCs; // @Metadata=(Units="unitless",Description="Comma seperated list of CSC's not currently allowed to command this CSC;")
	};
#pragma keylist command_setAuthList_85c6f56e 
struct command_setFilter_c27bfa24 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	name; // @Metadata=(Units="unitless",Description="The filter name to install")
	};
#pragma keylist command_setFilter_c27bfa24 
struct command_setLogLevel_e1c45c6f {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	level; // @Metadata=(Units="unitless",Description="Logging level; as a Python logging level: error=40; warning=30; info=20; debug=10.")
	};
#pragma keylist command_setLogLevel_e1c45c6f 
struct command_setValue_661d0f68 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	parametersAndValues; // @Metadata=(Units="unitless",Description="List of parameters and their values as a Json string")
	};
#pragma keylist command_setValue_661d0f68 
struct command_standby_a481def1 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_standby_a481def1 
struct command_start_99cad6d2 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	settingsToApply; // @Metadata=(Units="unitless",Description="Name of the selected settings set")
	};
#pragma keylist command_start_99cad6d2 
struct command_startImage_8dd1ae37 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	shutter; // @Metadata=(Units="unitless",Description="True if the shutter should be opened/closed")
	  string	sensors; // @Metadata=(Units="unitless",Description="Sensors to be read out; if blank all configured sensors will be read out")
	  string	keyValueMap; // @Metadata=(Units="unitless",Description="Map of additional key value pairs; e.g. imageType: XYZ; groupId: ABC")
	  string	obsNote; // @Metadata=(Units="unitless",Description="An arbitrary operator provided string; useful for informally flagging images")
	  double	timeout; // @Metadata=(Units="second",Description="Timeout after which imaging will be abandoned if no endImage command received")
	};
#pragma keylist command_startImage_8dd1ae37 
struct command_stop_7335ccf0 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	};
#pragma keylist command_stop_7335ccf0 
struct command_takeImages_ba3d367c {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	numImages; // @Metadata=(Units="unitless",Description="Number of consecutive images to take")
	  double	expTime; // @Metadata=(Units="second",Description="Exposure time")
	  boolean	shutter; // @Metadata=(Units="unitless",Description="True if the shutter should be opened/closed")
	  string	sensors; // @Metadata=(Units="unitless",Description="Sensors to be read out; if blank all configured sensors will be read out")
	  string	keyValueMap; // @Metadata=(Units="unitless",Description="Map of additional key value pairs to associate extra data with the image(s); e.g. imageType: XYZ; groupId: ABC")
	  string	obsNote; // @Metadata=(Units="unitless",Description="An arbitrary operator provided string; useful for informally flagging images")
	};
#pragma keylist command_takeImages_ba3d367c 
struct daq_monitor_Store_0fa414d0 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	capacity; // @Metadata=(Units="Gbyte",Description="total disk space")
	  double	freeSpace; // @Metadata=(Units="Gbyte",Description="available disk space")
	  double	freeFraction; // @Metadata=(Units="unitless",Description="available-space fraction")
	};
#pragma keylist daq_monitor_Store_0fa414d0 
struct filterChanger_ea87c7b2 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  float	motorTemperature; // @Metadata=(Units="Celsius",Description="Measured motor temperature provided by motor controller")
	  float	motorEncoder; // @Metadata=(Units="unitless",Description="Relative position based on motor travel since startup")
	  float	linearPosition; // @Metadata=(Units="unitless",Description="Filter changer position measured by linear encoder (0.005 mm)")
	};
#pragma keylist filterChanger_ea87c7b2 
struct fp_Ccd_44075585 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	gDV[9]; // @Metadata=(Units="Volt",Description="GD 0 voltage")
	  string	location; // @Metadata=(Units="unitless",Description="Ccd Location")
	  double	oDV[9]; // @Metadata=(Units="Volt",Description="OD 0 voltage")
	  double	oGV[9]; // @Metadata=(Units="Volt",Description="OG 0 voltage")
	  double	rDV[9]; // @Metadata=(Units="Volt",Description="RD 0 voltage")
	  double	temp[9]; // @Metadata=(Units="Celsius",Description="S00/Temp temperature")
	};
#pragma keylist fp_Ccd_44075585 
struct fp_Reb_94c352da {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	anaI[3]; // @Metadata=(Units="mA",Description="Analog PS current")
	  double	anaV[3]; // @Metadata=(Units="Volt",Description="Analog PS voltage")
	  double	aspicl_Temp0[3]; // @Metadata=(Units="Celsius",Description="ASPIC 0 lower temp")
	  double	aspicl_Temp1[3]; // @Metadata=(Units="Celsius",Description="ASPIC 1 lower temp")
	  double	aspicl_Temp2[3]; // @Metadata=(Units="Celsius",Description="ASPIC 2 lower temp")
	  double	aspicu_Temp0[3]; // @Metadata=(Units="Celsius",Description="ASPIC 0 upper temp")
	  double	aspicu_Temp1[3]; // @Metadata=(Units="Celsius",Description="ASPIC 1 upper temp")
	  double	aspicu_Temp2[3]; // @Metadata=(Units="Celsius",Description="ASPIC 2 upper temp")
	  double	clkHI[3]; // @Metadata=(Units="mA",Description="Clock High PS current")
	  double	clkHV[3]; // @Metadata=(Units="Volt",Description="Clock High PS voltage")
	  double	clkLI[3]; // @Metadata=(Units="mA",Description="Clock Low PS current")
	  double	clkLV[3]; // @Metadata=(Units="Volt",Description="Clock Low PS voltage")
	  double	digI[3]; // @Metadata=(Units="mA",Description="Digital PS current")
	  double	digV[3]; // @Metadata=(Units="Volt",Description="Digital PS voltage")
	  double	htrV[3]; // @Metadata=(Units="Volt",Description="Heater voltage")
	  double	htrW[3]; // @Metadata=(Units="Watt",Description="Heater power")
	  double	hVBiasSwitch[3]; // @Metadata=(Units="unitless",Description="HV bias switch")
	  string	location; // @Metadata=(Units="unitless",Description="Reb Location")
	  double	oDI[3]; // @Metadata=(Units="mA",Description="OD PS current")
	  double	oDV[3]; // @Metadata=(Units="Volt",Description="OD PS voltage")
	  double	pClkL[3]; // @Metadata=(Units="Volt",Description="Parallel lower")
	  double	pClkU[3]; // @Metadata=(Units="Volt",Description="Parallel upper")
	  double	power[3]; // @Metadata=(Units="Watt",Description="Total power")
	  double	ref05V[3]; // @Metadata=(Units="Volt",Description="5V ref 0 voltage")
	  double	ref125V[3]; // @Metadata=(Units="Volt",Description="2.5V ref 1 voltage")
	  double	ref15V[3]; // @Metadata=(Units="Volt",Description="5V ref 1 voltage")
	  double	ref25V[3]; // @Metadata=(Units="Volt",Description="5V ref 2 voltage")
	  double	refN12[3]; // @Metadata=(Units="Volt",Description="Negative 12 ref")
	  double	refP12[3]; // @Metadata=(Units="Volt",Description="Positive 12 ref")
	  double	rGL[3]; // @Metadata=(Units="Volt",Description="Reset gate lower")
	  double	rGU[3]; // @Metadata=(Units="Volt",Description="Reset gate upper")
	  double	rTDTemp[3]; // @Metadata=(Units="Celsius",Description="RTD temperature")
	  double	sClkL[3]; // @Metadata=(Units="Volt",Description="Serial lower")
	  double	sClkU[3]; // @Metadata=(Units="Volt",Description="Serial upper")
	  double	temp1[3]; // @Metadata=(Units="Celsius",Description="Board temperature 1")
	  double	temp10[3]; // @Metadata=(Units="Celsius",Description="Board temperature 10")
	  double	temp2[3]; // @Metadata=(Units="Celsius",Description="Board temperature 2")
	  double	temp3[3]; // @Metadata=(Units="Celsius",Description="Board temperature 3")
	  double	temp4[3]; // @Metadata=(Units="Celsius",Description="Board temperature 4")
	  double	temp5[3]; // @Metadata=(Units="Celsius",Description="Board temperature 5")
	  double	temp6[3]; // @Metadata=(Units="Celsius",Description="Board temperature 6")
	  double	temp7[3]; // @Metadata=(Units="Celsius",Description="Board temperature 7")
	  double	temp8[3]; // @Metadata=(Units="Celsius",Description="Board temperature 8")
	  double	temp9[3]; // @Metadata=(Units="Celsius",Description="Board temperature 9")
	};
#pragma keylist fp_Reb_94c352da 
struct fp_RebTotalPower_4d64a1d5 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	rebTotalPower; // @Metadata=(Units="Watt",Description="Reb Total Power")
	};
#pragma keylist fp_RebTotalPower_4d64a1d5 
struct fp_Segment_5bd53599 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	i[144]; // @Metadata=(Units="mA",Description="Amplifier current")
	  string	location; // @Metadata=(Units="unitless",Description="Segment Location")
	};
#pragma keylist fp_Segment_5bd53599 
struct logevent_appliedSettingsMatchStart_401c4372 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	appliedSettingsMatchStartIsTrue; // @Metadata=(Units="unitless",Description="True when the configuration matches the start conditions")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_appliedSettingsMatchStart_401c4372 
struct logevent_authList_7b70b520 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	authorizedUsers; // @Metadata=(Units="unitless",Description="Comma seperated list of authorized users currently allowed to command this CSC.")
	  string	nonAuthorizedCSCs; // @Metadata=(Units="unitless",Description="Comma seperated list of CSC's not currently allowed to command this CSC.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_authList_7b70b520 
struct logevent_availableFilters_6c01a58d {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	filterNames; // @Metadata=(Units="unitless",Description="A list of installed filter names (comma delimimted; U-001;G-004;R-010;Z-012;Y-014); in the same order as the list of filter types.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_availableFilters_6c01a58d 
struct logevent_calibrationDetailedState_a21eb9f8 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	timestampTransition; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_calibrationDetailedState_a21eb9f8 
	 const long calibrationDetailedState_DISABLED=1;
	 const long calibrationDetailedState_ENABLED=2;
	 const long calibrationDetailedState_INTEGRATING=3;
struct logevent_ccsCommandState_e3140ba3 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Substate of the CCS command.")
	  double	timestampTransition; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_ccsCommandState_e3140ba3 
	 const long ccsCommandState_IDLE=1;
	 const long ccsCommandState_BUSY=2;
struct logevent_ccsConfigured_ae21aa28 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_ccsConfigured_ae21aa28 
struct logevent_daq_monitorSettingsApplied_563ccf3f {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	version; // @Metadata=(Units="unitless",Description="Version number of these settings")
	  string	daqPartition; // @Metadata=(Units="unitless",Description="partition containing DAQ store")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_daq_monitorSettingsApplied_563ccf3f 
struct logevent_daq_monitor_StatsSettingsApplied_1e7fa160 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	version; // @Metadata=(Units="unitless",Description="Version number of these settings")
	  boolean	enablePeriodicPublication; // @Metadata=(Units="unitless",Description="enable periodic publication")
	  long	minDiffAlertWarning; // @Metadata=(Units="unitless",Description="minimum difference between successive reads to raise Alert at warning level")
	  long	minDiffLogWarning; // @Metadata=(Units="unitless",Description="minimum difference between successive reads to put warning in log")
	  string	sumDriverChecks; // @Metadata=(Units="unitless",Description="Driver Stats for warnings on sums")
	  string	sumDriverStats; // @Metadata=(Units="unitless",Description="Driver Stats for sums over location")
	  string	sumFirmwareChecks; // @Metadata=(Units="unitless",Description="Firmware Stats for warnings on sums")
	  string	sumFirmwareStats; // @Metadata=(Units="unitless",Description="Firmware Stats for sums over location")
	  string	sumRdsChecks; // @Metadata=(Units="unitless",Description="Rds Stats for warnings on sums")
	  string	sumRdsStats; // @Metadata=(Units="unitless",Description="Rds Stats for sums over location")
	  string	sumRmsChecks; // @Metadata=(Units="unitless",Description="Rms Stats for warnings on sums")
	  string	sumRmsStats; // @Metadata=(Units="unitless",Description="Rms Stats for sums over location")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_daq_monitor_StatsSettingsApplied_1e7fa160 
struct logevent_daq_monitor_StoreSettingsApplied_d53fe5a6 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	version; // @Metadata=(Units="unitless",Description="Version number of these settings")
	  string	daqFolder; // @Metadata=(Units="unitless",Description="top-level folder for DAQ store")
	  boolean	enableAutoPurge; // @Metadata=(Units="unitless",Description="enable automatic purge of DAQ store")
	  double	purgeTarget; // @Metadata=(Units="unitless",Description="goal of purge for minimum fraction of free disk space")
	  double	purgeThreshold; // @Metadata=(Units="unitless",Description="fraction of free disk space to trigger a store purge")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_daq_monitor_StoreSettingsApplied_d53fe5a6 
struct logevent_endInitializeGuider_b0afeab2 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endInitializeGuider_b0afeab2 
struct logevent_endInitializeImage_7635f053 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endInitializeImage_7635f053 
struct logevent_endLoadFilter_0f840515 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endLoadFilter_0f840515 
struct logevent_endOfImageTelemetry_09c0cceb {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timestampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  string<64>	imageTag; // @Metadata=(Units="unitless",Description="The DAQ assigned image tag (hex string)")
	  double	timestampDateObs; // @Metadata=(Units="second",Description="The observation date; as computed by CCS (as TAI)")
	  double	timestampDateEnd; // @Metadata=(Units="second",Description="The end observation date; as computed by CCS (as TAI)")
	  double	measuredShutterOpenTime; // @Metadata=(Units="second",Description="The measured shutter open time; as computed by CCS. This is a best estimate based on a summary of the full information provided")
	  double	darkTime; // @Metadata=(Units="second",Description="The dark time; as computed by CCS")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endOfImageTelemetry_09c0cceb 
struct logevent_endReadout_bd1bb138 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timestampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	requestedExposureTime; // @Metadata=(Units="second",Description="The requested exposure time (as specified in the takeImages command)")
	  double	timestampEndOfReadout; // @Metadata=(Units="second",Description="The time at which the readout was completed")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endReadout_bd1bb138 
struct logevent_endRotateCarousel_108dd5a8 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endRotateCarousel_108dd5a8 
struct logevent_endSetFilter_6b3c4483 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	filterName; // @Metadata=(Units="unitless",Description="The name of the filter being installed (e.g. U-001)")
	  string	filterType; // @Metadata=(Units="unitless",Description="The type of the filter being installed (e.g. g;r;i;z;y;u;none;other). If other it can optionally be")
	  long	filterSlot; // @Metadata=(Units="unitless",Description="The slot which the filter is in (ComCam) or came from (Main Camera)")
	  double	filterPosition; // @Metadata=(Units="mm",Description="For ComCam this is the measured linear encoder position once the filter in in place. For Main Camera it may be unused.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endSetFilter_6b3c4483 
struct logevent_endShutterClose_efba5238 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endShutterClose_efba5238 
struct logevent_endShutterOpen_1bf8ee89 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endShutterOpen_1bf8ee89 
struct logevent_endTakeImage_f25fc477 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endTakeImage_f25fc477 
struct logevent_endUnloadFilter_6ad93c32 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endUnloadFilter_6ad93c32 
struct logevent_errorCode_94088397 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	errorCode; // @Metadata=(Units="unitless",Description="A numeric error code")
	  string	errorReport; // @Metadata=(Units="unitless",Description="An string providing detailed information about the error")
	  string	traceback; // @Metadata=(Units="unitless",Description="An optional stack trace of the error condition")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_errorCode_94088397 
struct logevent_fileCommandExecution_310c8614 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  double	timestampCommandComplete; // @Metadata=(Units="second",Description="The time when the command completed.")
	  string	command; // @Metadata=(Units="unitless",Description="The comamnd executed included arguments.")
	  long	rc; // @Metadata=(Units="unitless",Description="The return code from the command execution.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_fileCommandExecution_310c8614 
struct logevent_filterChangerDetailedState_620dd198 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="The filter changer state")
	  double	timestampTransition; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_filterChangerDetailedState_620dd198 
	 const long filterChangerDetailedState_UNLOADING=1;
	 const long filterChangerDetailedState_LOADING=2;
	 const long filterChangerDetailedState_LOADED=3;
	 const long filterChangerDetailedState_UNLOADED=4;
	 const long filterChangerDetailedState_ROTATING=5;
struct logevent_fitsFilesWritten_68242413 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  double	timestampFilesWritten; // @Metadata=(Units="second",Description="The time when the (last) CCS FITS file was written.")
	  string	rootFileName; // @Metadata=(Units="unitless",Description="The common filesystem location of all files below.")
	  string	relativeFileNames; // @Metadata=(Units="unitless",Description="The file system location of each file; relative to rootFileName (: delimited).")
	  string	fileNode; // @Metadata=(Units="unitless",Description="The node on which each file is written (: delimited; in same order as above).")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_fitsFilesWritten_68242413 
struct logevent_focalPlaneDAQSettingsApplied_91ebdb84 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	version; // @Metadata=(Units="unitless",Description="Version number of these settings")
	  string	daqFolder; // @Metadata=(Units="unitless",Description="Folder in 2-day store where images will be created")
	  string	daqPartition; // @Metadata=(Units="unitless",Description="DAQ partition")
	  boolean	emulatedDAQ; // @Metadata=(Units="unitless",Description="True when using an emulated DAQ")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focalPlaneDAQSettingsApplied_91ebdb84 
struct logevent_focalPlaneHardwareIdSettingsApplied_7f9af110 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	version; // @Metadata=(Units="unitless",Description="Version number of these settings.")
	  string	rebLocation; // @Metadata=(Units="unitless",Description="REB location in focal-plane (e.g. R22RebX) (: delimited)")
	  string	rebLSSTName; // @Metadata=(Units="unitless",Description="REB LSST identifier (: delimited)")
	  string	ccdLocation; // @Metadata=(Units="unitless",Description="CCD location in focal-plane (e.g. R22Snn) (: delimited)")
	  string	ccdLSSTName; // @Metadata=(Units="unitless",Description="CCD LSST identifier (: delimited)")
	  string	ccdManSerNum; // @Metadata=(Units="unitless",Description="Sensor manufacturer's serial number (: delimited)")
	  string	raftLocation; // @Metadata=(Units="unitless",Description="Raft location in focal-plane (e.g. R22) (: delimited)")
	  string	raftLSSTName; // @Metadata=(Units="unitless",Description="Raft identifier (: delimited)")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focalPlaneHardwareIdSettingsApplied_7f9af110 
struct logevent_focalPlaneRaftTempControlSettingsApplied_008f5744 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	version; // @Metadata=(Units="unitless",Description="Version number of these settings")
	  string	raftLocation; // @Metadata=(Units="unitless",Description="Raft location in focal-plane (e.g. R22) (: delimited)")
	  double	raft_TempControl_awGain; // @Metadata=(Units="unitless",Description="anti-windup gain")
	  double	raft_TempControl_basePower; // @Metadata=(Units="Watt",Description="base power input")
	  double	raft_TempControl_gain; // @Metadata=(Units="unitless",Description="loop gain")
	  double	raft_TempControl_maxInput; // @Metadata=(Units="unitless",Description="maximum input")
	  double	raft_TempControl_maxOutput; // @Metadata=(Units="Watt",Description="maximum PID output")
	  double	raft_TempControl_minInput; // @Metadata=(Units="unitless",Description="minimum input")
	  double	raft_TempControl_minOutput; // @Metadata=(Units="Watt",Description="minimum PID output")
	  string	raft_TempControl_rebs; // @Metadata=(Units="unitless",Description="The REBs with heaters to use")
	  double	raft_TempControl_setTemp; // @Metadata=(Units="C",Description="Temperature set point")
	  double	raft_TempControl_smoothTime; // @Metadata=(Units="second",Description="input smoothing time")
	  string	raft_TempControl_tempChans; // @Metadata=(Units="unitless",Description="Temperature channels to use")
	  double	raft_TempControl_timeConst; // @Metadata=(Units="second",Description="integration time constant")
	  double	raft_TempControl_tolerance; // @Metadata=(Units="unitless",Description="maximum on-target error (%)")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focalPlaneRaftTempControlSettingsApplied_008f5744 
struct logevent_focalPlaneRaftTempControlStatusSettingsApplied_b5fb494a {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	version; // @Metadata=(Units="unitless",Description="Version number of these settings")
	  string	raftLocation; // @Metadata=(Units="unitless",Description="Raft location in focal-plane (e.g. R22) (: delimited)")
	  boolean	raft_TempControl_active; // @Metadata=(Units="unitless",Description="True if loop is active")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focalPlaneRaftTempControlStatusSettingsApplied_b5fb494a 
struct logevent_focalPlaneRebRaftsPowerSettingsApplied_cd22c91a {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	version; // @Metadata=(Units="unitless",Description="Version number of these settings")
	  double	bias0_gdCal[9]; // @Metadata=(Units="unitless",Description="GD convert factor")
	  double	bias0_gdTestVolts[9]; // @Metadata=(Units="volt",Description="Shorts Test Voltage for GD")
	  double	bias0_gdTol[9]; // @Metadata=(Units="volt",Description="Guard diode tolerance")
	  double	bias0_gdValueErr[9]; // @Metadata=(Units="volt",Description="Tolerance for GD at TestVolts")
	  double	bias0_gdZeroErr[9]; // @Metadata=(Units="volt",Description="Tolerance for GD at 0V")
	  double	bias0_odCal[9]; // @Metadata=(Units="unitless",Description="OD convert factor")
	  double	bias0_odIMax[9]; // @Metadata=(Units="A",Description="Max ODI value")
	  double	bias0_odTol[9]; // @Metadata=(Units="volt",Description="Output drain tolerance")
	  double	bias0_odZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for OD at 0V")
	  double	bias0_ogCal[9]; // @Metadata=(Units="unitless",Description="OG convert factor")
	  double	bias0_ogTestVolts[9]; // @Metadata=(Units="volt",Description="Shorts Test Voltage for OG")
	  double	bias0_ogTol[9]; // @Metadata=(Units="volt",Description="Output gate tolerance")
	  double	bias0_ogValueErr[9]; // @Metadata=(Units="volt",Description="Tolerance for OG at TestVolts")
	  double	bias0_ogZeroErr[9]; // @Metadata=(Units="volt",Description="Tolerance for OG at 0V")
	  double	bias0_rdCal[9]; // @Metadata=(Units="unitless",Description="RD convert factor")
	  double	bias0_rdTestVolts[9]; // @Metadata=(Units="volt",Description="Shorts Test Voltage for RD")
	  double	bias0_rdTol[9]; // @Metadata=(Units="volt",Description="Reset drain tolerance")
	  double	bias0_rdValueErr[9]; // @Metadata=(Units="volt",Description="Tolerance for RD at TestVolts")
	  double	bias0_rdZeroErr[9]; // @Metadata=(Units="volt",Description="Tolerance for RD at 0V")
	  double	bias1_gdCal[9]; // @Metadata=(Units="unitless",Description="GD convert factor")
	  double	bias1_gdTestVolts[9]; // @Metadata=(Units="volt",Description="Shorts Test Voltage for GD")
	  double	bias1_gdTol[9]; // @Metadata=(Units="volt",Description="Guard diode tolerance")
	  double	bias1_gdValueErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for GD at TestVolts")
	  double	bias1_gdZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for GD at 0V")
	  double	bias1_odCal[9]; // @Metadata=(Units="unitless",Description="OD convert factor")
	  double	bias1_odIMax[9]; // @Metadata=(Units="A",Description="Max ODI value")
	  double	bias1_odTol[9]; // @Metadata=(Units="volt",Description="Output drain tolerance")
	  double	bias1_odZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for OD at 0V")
	  double	bias1_ogCal[9]; // @Metadata=(Units="unitless",Description="OG convert factor")
	  double	bias1_ogTestVolts[9]; // @Metadata=(Units="volt",Description="Shorts Test Voltage for OG")
	  double	bias1_ogTol[9]; // @Metadata=(Units="volt",Description="Output gate tolerance")
	  double	bias1_ogValueErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for OG at TestVolts")
	  double	bias1_ogZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for OG at 0V")
	  double	bias1_rdCal[9]; // @Metadata=(Units="unitless",Description="RD convert factor")
	  double	bias1_rdTestVolts[9]; // @Metadata=(Units="volt",Description="Shorts Test Voltage for RD")
	  double	bias1_rdTol[9]; // @Metadata=(Units="volt",Description="Reset drain tolerance")
	  double	bias1_rdValueErr[9]; // @Metadata=(Units="volt",Description="Tolerance for RD at TestVolts")
	  double	bias1_rdZeroErr[9]; // @Metadata=(Units="volt",Description="Tolerance for RD at 0V")
	  double	bias2_gdCal[9]; // @Metadata=(Units="unitless",Description="GD convert factor")
	  double	bias2_gdTestVolts[9]; // @Metadata=(Units="volt",Description="Shorts Test Voltage for GD")
	  double	bias2_gdTol[9]; // @Metadata=(Units="volt",Description="Guard diode tolerance")
	  double	bias2_gdValueErr[9]; // @Metadata=(Units="volt",Description="Tolerance for GD at TestVolts")
	  double	bias2_gdZeroErr[9]; // @Metadata=(Units="volt",Description="Tolerance for GD at 0V")
	  double	bias2_odCal[9]; // @Metadata=(Units="unitless",Description="OD convert factor")
	  double	bias2_odIMax[9]; // @Metadata=(Units="A",Description="Max ODI value")
	  double	bias2_odTol[9]; // @Metadata=(Units="volt",Description="Output drain tolerance")
	  double	bias2_odZeroErr[9]; // @Metadata=(Units="volt",Description="Tolerance for OD at 0V")
	  double	bias2_ogCal[9]; // @Metadata=(Units="unitless",Description="OG convert factor")
	  double	bias2_ogTestVolts[9]; // @Metadata=(Units="volt",Description="Shorts Test Voltage for OG")
	  double	bias2_ogTol[9]; // @Metadata=(Units="volt",Description="Output gate tolerance")
	  double	bias2_ogValueErr[9]; // @Metadata=(Units="volt",Description="Tolerance for OG at TestVolts")
	  double	bias2_ogZeroErr[9]; // @Metadata=(Units="volt",Description="Tolerance for OG at 0V")
	  double	bias2_rdCal[9]; // @Metadata=(Units="unitless",Description="RD convert factor")
	  double	bias2_rdTestVolts[9]; // @Metadata=(Units="volt",Description="Shorts Test Voltage for RD")
	  double	bias2_rdTol[9]; // @Metadata=(Units="volt",Description="Reset drain tolerance")
	  double	bias2_rdValueErr[9]; // @Metadata=(Units="volt",Description="Tolerance for RD at TestVolts")
	  double	bias2_rdZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for RD at 0V")
	  double	clkhiAmin[9]; // @Metadata=(Units="A",Description="Minimum ON_State CLKHI (A) per REB")
	  double	clkhiQmax[9]; // @Metadata=(Units="A",Description="Max OFF_State CLKHI (A) per REB")
	  double	clkliAmin[9]; // @Metadata=(Units="A",Description="Minimum ON_State CLKLI (A) per REB")
	  double	clkliQmax[9]; // @Metadata=(Units="A",Description="Max OFF_State CLKLI (A) per REB")
	  double	dac_clkhIMax[9]; // @Metadata=(Units="A",Description="Max ClkHI value")
	  double	dac_clklIMax[9]; // @Metadata=(Units="A",Description="Max ClkLI value")
	  double	dac_pclkHighCal[9]; // @Metadata=(Units="unitless",Description="Parallel high calib")
	  double	dac_pclkHighTestV[9]; // @Metadata=(Units="Volt",Description="Shorts Test Voltage for PClkU")
	  double	dac_pclkHighTol[9]; // @Metadata=(Units="volt",Description="Parallel high tolerance")
	  double	dac_pclkHighValueErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for PClkU TestV")
	  double	dac_pclkHighZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for 0V w/PClkU test")
	  double	dac_pclkLowCal[9]; // @Metadata=(Units="unitless",Description="Parallel low calib")
	  double	dac_pclkLowTestV[9]; // @Metadata=(Units="Volt",Description="Shorts Test Voltage for PClkL")
	  double	dac_pclkLowTol[9]; // @Metadata=(Units="volt",Description="Parallel low tolerance")
	  double	dac_pclkLowValueErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for PClkL TestV")
	  double	dac_pclkLowZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for 0V w/PClkL test")
	  double	dac_rgHighCal[9]; // @Metadata=(Units="unitless",Description="Reset high calib")
	  double	dac_rgHighTestV[9]; // @Metadata=(Units="Volt",Description="Shorts Test Voltage for RGU")
	  double	dac_rgHighTol[9]; // @Metadata=(Units="volt",Description="Reset high tolerance")
	  double	dac_rgHighValueErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for RGU TestV")
	  double	dac_rgHighZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for 0V w/RGU test")
	  double	dac_rgLowCal[9]; // @Metadata=(Units="unitless",Description="Reset low calib")
	  double	dac_rgLowTestV[9]; // @Metadata=(Units="Volt",Description="Shorts Test Voltage for RGL")
	  double	dac_rgLowTol[9]; // @Metadata=(Units="volt",Description="Reset low tolerance")
	  double	dac_rgLowValueErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for RGL TestV")
	  double	dac_rgLowZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for 0V w/RGL test")
	  double	dac_sclkHighCal[9]; // @Metadata=(Units="unitless",Description="Serial high calib")
	  double	dac_sclkHighTestV[9]; // @Metadata=(Units="Volt",Description="Shorts Test Voltage for SClkU")
	  double	dac_sclkHighTol[9]; // @Metadata=(Units="volt",Description="Serial high tolerance")
	  double	dac_sclkHighValueErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for SClkU TestV")
	  double	dac_sclkHighZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for 0V w/SClkU test")
	  double	dac_sclkLowCal[9]; // @Metadata=(Units="unitless",Description="Serial low calib")
	  double	dac_sclkLowTestV[9]; // @Metadata=(Units="Volt",Description="Shorts Test Voltage for SClkL")
	  double	dac_sclkLowTol[9]; // @Metadata=(Units="volt",Description="Serial low tolerance")
	  double	dac_sclkLowValueErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for SClkL TestV")
	  double	dac_sclkLowZeroErr[9]; // @Metadata=(Units="Volt",Description="Tolerance for 0V w/SClkL test")
	  string	location; // @Metadata=(Units="unitless",Description="Reb Location")
	  double	maxDelta[9]; // @Metadata=(Units="Volt",Description="Max allowed SlowAdcs delta")
	  double	maxStep[9]; // @Metadata=(Units="Volt",Description="Max allowed SlowAdcs step")
	  double	minTol[9]; // @Metadata=(Units="Volt",Description="Min allowed SlowAdcs tolerance")
	  long	nPowerOnPub[9]; // @Metadata=(Units="unitless",Description="Number of consequtive monitor-update pubs after trigger")
	  double	odiAmin[9]; // @Metadata=(Units="A",Description="Minimum ON_State ODI (A) per CCD")
	  double	odiQmax[9]; // @Metadata=(Units="A",Description="Max OFF_State ODI (A) per CCD")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focalPlaneRebRaftsPowerSettingsApplied_cd22c91a 
struct logevent_focalPlaneRebRaftsSettingsApplied_ec1fd293 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	version; // @Metadata=(Units="unitless",Description="Version number of these settings")
	  double	bias0_csGateP[9]; // @Metadata=(Units="mA",Description="Current source")
	  double	bias0_gdP[9]; // @Metadata=(Units="volt",Description="Guard diode")
	  double	bias0_odP[9]; // @Metadata=(Units="volt",Description="Output drain")
	  double	bias0_ogP[9]; // @Metadata=(Units="volt",Description="Output gate")
	  double	bias0_rdP[9]; // @Metadata=(Units="volt",Description="Reset drain")
	  double	bias1_csGateP[9]; // @Metadata=(Units="mA",Description="Current source")
	  double	bias1_gdP[9]; // @Metadata=(Units="volt",Description="Guard diode")
	  double	bias1_odP[9]; // @Metadata=(Units="volt",Description="Output drain")
	  double	bias1_ogP[9]; // @Metadata=(Units="volt",Description="Output gate")
	  double	bias1_rdP[9]; // @Metadata=(Units="volt",Description="Reset drain")
	  double	bias2_csGateP[9]; // @Metadata=(Units="mA",Description="Current source")
	  double	bias2_gdP[9]; // @Metadata=(Units="volt",Description="Guard diode")
	  double	bias2_odP[9]; // @Metadata=(Units="volt",Description="Output drain")
	  double	bias2_ogP[9]; // @Metadata=(Units="volt",Description="Output gate")
	  double	bias2_rdP[9]; // @Metadata=(Units="volt",Description="Reset drain")
	  double	dac_pclkHighP[9]; // @Metadata=(Units="volt",Description="Parallel clock high")
	  double	dac_pclkLowP[9]; // @Metadata=(Units="volt",Description="Parallel clock low")
	  double	dac_rgHighP[9]; // @Metadata=(Units="volt",Description="Reset gate high")
	  double	dac_rgLowP[9]; // @Metadata=(Units="volt",Description="Reset gate low")
	  double	dac_sclkHighP[9]; // @Metadata=(Units="volt",Description="Serial clock high")
	  double	dac_sclkLowP[9]; // @Metadata=(Units="volt",Description="Serial clock low")
	  boolean	disableRTDHardwareCheck[9]; // @Metadata=(Units="unitless",Description="Disables the RTD derived CCD type check.")
	  string	location; // @Metadata=(Units="unitless",Description="Reb Location")
	  long	serialNum[9]; // @Metadata=(Units="unitless",Description="Serial number")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focalPlaneRebRaftsSettingsApplied_ec1fd293 
struct logevent_focalPlaneSequencerConfigSettingsApplied_b2a45ee7 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	clearCountParameter; // @Metadata=(Units="unitless",Description="Name of the clear count parameter")
	  string	clearMain; // @Metadata=(Units="unitless",Description="Name of the clear main")
	  string	idleFlushMain; // @Metadata=(Units="unitless",Description="Name of the idle flush main")
	  string	integrateMain; // @Metadata=(Units="unitless",Description="Name of the integrate main")
	  string	metaDataRegisters; // @Metadata=(Units="unitless",Description="Names of meta-data related registers which must be in the sequencer")
	  long	overCols; // @Metadata=(Units="unitless",Description="overCols")
	  long	overRows; // @Metadata=(Units="unitless",Description="overRows")
	  long	postCols; // @Metadata=(Units="unitless",Description="postCols")
	  long	postRows; // @Metadata=(Units="unitless",Description="postRows")
	  long	preCols; // @Metadata=(Units="unitless",Description="preCols")
	  long	preRows; // @Metadata=(Units="unitless",Description="preRows")
	  string	pseudoReadMain; // @Metadata=(Units="unitless",Description="Name of the pseudo read main")
	  long	readCols; // @Metadata=(Units="unitless",Description="readCols")
	  long	readCols2; // @Metadata=(Units="unitless",Description="readCol2")
	  string	readMain; // @Metadata=(Units="unitless",Description="Name of the read main")
	  long	readRows; // @Metadata=(Units="unitless",Description="readRows")
	  string	rowShiftForwardMain; // @Metadata=(Units="unitless",Description="Name of the row shift forward main")
	  string	rowShiftReverseMain; // @Metadata=(Units="unitless",Description="Name of the row shift reverse main")
	  boolean	scanMode; // @Metadata=(Units="unitless",Description="True if the sequencer is in scan mode")
	  string	sequencer; // @Metadata=(Units="unitless",Description="sequencer")
	  string	sequencerChecksums; // @Metadata=(Units="unitless",Description="sequencerChecksums")
	  string	shiftCountParameter; // @Metadata=(Units="unitless",Description="Name of the shift count parameter")
	  long	transparentMode; // @Metadata=(Units="unitless",Description="True if the ASPIC is in transparent mode")
	  long	underCols; // @Metadata=(Units="unitless",Description="underCols")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focalPlaneSequencerConfigSettingsApplied_b2a45ee7 
struct logevent_focalPlaneSummaryInfo_f54b3914 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	ccdLocation; // @Metadata=(Units="unitless",Description="CCD location in focal-plane (e.g. R22S01) (: delimited).")
	  string	raftBay; // @Metadata=(Units="unitless",Description="The raft bay for each CCD listed above; of the form Rnn : delimited")
	  string	ccdSlot; // @Metadata=(Units="unitless",Description="The CCD slot for each CCD listed above; of the form SXn : delimited")
	  string	rebSerialNumber; // @Metadata=(Units="unitless",Description="REB hardware serial number (: delimited)")
	  string	rebLSSTName; // @Metadata=(Units="unitless",Description="REB LSST identifier (: delimited)")
	  string	ccdLSSTName; // @Metadata=(Units="unitless",Description="CCD LSST identifier (: delimited)")
	  string	raftLSSTName; // @Metadata=(Units="unitless",Description="Raft LSST identifier (: delimited)")
	  string	ccdManSerNum; // @Metadata=(Units="unitless",Description="Sensor manufacturer's serial number (: delimited)")
	  string	ccdManufacturer; // @Metadata=(Units="unitless",Description="Sensor manufacturer E2V or ITL (: delimited)")
	  long	ccdType[9]; // @Metadata=(Units="unitless",Description="The type of each CCD")
	  double	ccdTempSetPoint[9]; // @Metadata=(Units="unitless",Description="Sensor temperature set point")
	  string	sequencerKey; // @Metadata=(Units="unitless",Description="The name of the CCD sequencer loaded (: delimited)")
	  string	sequencerChecksum; // @Metadata=(Units="unitless",Description="The checksum of the CCD sequencer loaded (: delimited)")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focalPlaneSummaryInfo_f54b3914 
	 const long focalPlaneSummaryInfo_E2V=1;
	 const long focalPlaneSummaryInfo_ITL=2;
struct logevent_heartbeat_afc6b952 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	heartbeat; // @Metadata=(Units="unitless",Description="Beats the drum.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_heartbeat_afc6b952 
struct logevent_imageReadinessDetailedState_f26d3051 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	timestampTransition; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_imageReadinessDetailedState_f26d3051 
	 const long imageReadinessDetailedState_READY=1;
	 const long imageReadinessDetailedState_NOT_READY=2;
	 const long imageReadinessDetailedState_GETTING_READY=3;
struct logevent_imageReadoutParameters_c33308aa {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure")
	  string	ccdLocation; // @Metadata=(Units="unitless",Description="A list of all ccds currently configured; of the form RnnSnn; : delimited (empty if entry not used)")
	  string	raftBay; // @Metadata=(Units="unitless",Description="The raft bay for each CCD listed above; of the form Rnn : delimited")
	  string	ccdSlot; // @Metadata=(Units="unitless",Description="The CCD slot for each CCD listed above; of the form SXn : delimited")
	  long	ccdType[9]; // @Metadata=(Units="unitless",Description="The type of each CCD; this determines segRows; segCols and serCols")
	  long	overRows[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	overCols[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	readRows[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	readCols[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	readCols2[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	preCols[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	preRows[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	postCols[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	underCols[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  string	daqFolder; // @Metadata=(Units="unitless",Description="DAQ folder where image will be created")
	  string	daqAnnotation; // @Metadata=(Units="unitless",Description="Annotation sent to DAQ")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_imageReadoutParameters_c33308aa 
	 const long imageReadoutParameters_E2V=1;
	 const long imageReadoutParameters_ITL=2;
struct logevent_imageStored_8a12e46d {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  double	timestampImageStored; // @Metadata=(Units="second",Description="The time when the DAQ image was store was complete.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_imageStored_8a12e46d 
struct logevent_imageVisualization_53732930 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  double	timestampVisualizationAvailable; // @Metadata=(Units="second",Description="The time when the command completed.")
	  string	url; // @Metadata=(Units="unitless",Description="The URL at which the full image visualization is available.")
	  string	thumbnail; // @Metadata=(Units="unitless",Description="The URL at which the image thumbnail is available.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_imageVisualization_53732930 
struct logevent_logLevel_19c45024 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	level; // @Metadata=(Units="unitless",Description="Current logging level; a Python logging level: error=40; warning=30; info=20; debug=10.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_logLevel_19c45024 
struct logevent_logMessage_f286f6d9 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	name; // @Metadata=(Units="unitless",Description="Log name.")
	  long	level; // @Metadata=(Units="unitless",Description="Message level; a Python logging level: error=40; warning=30; info=20; debug=10.")
	  string	message; // @Metadata=(Units="unitless",Description="Log message.")
	  string	traceback; // @Metadata=(Units="unitless",Description="Exception traceback; "" if not an exception.")
	  string	filePath; // @Metadata=(Units="unitless",Description="Path to source file.")
	  string	functionName; // @Metadata=(Units="unitless",Description="Function or method name.")
	  long	lineNumber; // @Metadata=(Units="unitless",Description="Line number in the file specified by filePath.")
	  long	process; // @Metadata=(Units="unitless",Description="Process ID.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_logMessage_f286f6d9 
struct logevent_notReadyToTakeImage_5d80bd58 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_notReadyToTakeImage_5d80bd58 
struct logevent_offlineDetailedState_7461f89b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	timestampTransition; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_offlineDetailedState_7461f89b 
	 const long offlineDetailedState_OFFLINE_AVAILABLE=1;
	 const long offlineDetailedState_OFFLINE_PUBLISH_ONLY=2;
struct logevent_prepareToTakeImage_e145c122 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_prepareToTakeImage_e145c122 
struct logevent_raftsDetailedState_292997f6 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	timestampTransition; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_raftsDetailedState_292997f6 
	 const long raftsDetailedState_NEEDS_CLEAR=1;
	 const long raftsDetailedState_CLEARING=2;
	 const long raftsDetailedState_INTEGRATING=3;
	 const long raftsDetailedState_READING_OUT=4;
	 const long raftsDetailedState_QUIESCENT=5;
struct logevent_readyToTakeImage_72b3f436 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_readyToTakeImage_72b3f436 
struct logevent_settingVersions_1851a70b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	recommendedSettingsVersion; // @Metadata=(Units="unitless",Description="List of comma seperated recomended versions of settings sets")
	  string	recommendedSettingsLabels; // @Metadata=(Units="unitless",Description="List of comma seperated names of settings sets")
	  string	settingsUrl; // @Metadata=(Units="unitless",Description="The URL where the settings sets definitions can be found")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_settingVersions_1851a70b 
struct logevent_settingsApplied_70151efb {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	settingsVersion; // @Metadata=(Units="unitless",Description="The SHA or name corresponding to the published configuration")
	  string	otherSettingsEvents; // @Metadata=(Units="unitless",Description="A comma delimited list of other specific CSC configuration events. This may be blank if no other CSC specific events are necessary")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_settingsApplied_70151efb 
struct logevent_shutterBladeMotionProfile_9d63f956 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	blade; // @Metadata=(Units="unitless",Description="The blade that is moving")
	  long	direction; // @Metadata=(Units="unitless",Description="Is the blade opening or closing")
	  double	timestampStart; // @Metadata=(Units="second",Description="The time at which the motion started (TAI)")
	  double	startPosition; // @Metadata=(Units="mm",Description="The start position of the blade")
	  double	targetDuration; // @Metadata=(Units="second",Description="Requested blade motion time")
	  double	targetPosition; // @Metadata=(Units="mm",Description="Requested position at end of motion")
	  double	endPosition; // @Metadata=(Units="mm",Description="Actual position and end of motion")
	  double	actualDuration; // @Metadata=(Units="second",Description="Actual blade motion time")
	  long	hallSensorCount; // @Metadata=(Units="unitless",Description="Actual number of hall sensor transitions")
	  double	timestampHallSensor[240]; // @Metadata=(Units="second",Description="Hall effect switch trasition times")
	  long	hallSensorID[240]; // @Metadata=(Units="unitless",Description="Which Hall effect switch trasitioned")
	  double	hallSensorPosition[240]; // @Metadata=(Units="mm",Description="Estimated position of the leading edge of the blade at transition time")
	  boolean	hallSensorTransition[240]; // @Metadata=(Units="unitless",Description="true if switch turned on; false if switch turned off")
	  long	encoderCount; // @Metadata=(Units="unitless",Description="Actual number of encoder measurements")
	  double	timestampEncoder[240]; // @Metadata=(Units="second",Description="timestamps for motor encoder position measurements (TAI)")
	  double	encoderPosition[240]; // @Metadata=(Units="mm",Description="Positions for motor encoder position measurements")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_shutterBladeMotionProfile_9d63f956 
	 const long shutterBladeMotionProfile_PLUS_X=1;
	 const long shutterBladeMotionProfile_MINUS_X=2;
	 const long shutterBladeMotionProfile_OPEN=1;
	 const long shutterBladeMotionProfile_CLOSE=2;
struct logevent_shutterDetailedState_e2ea9788 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	timestampTransition; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_shutterDetailedState_e2ea9788 
	 const long shutterDetailedState_CLOSED=1;
	 const long shutterDetailedState_OPEN=2;
	 const long shutterDetailedState_CLOSING=3;
	 const long shutterDetailedState_OPENING=4;
struct logevent_simulationMode_57f55b31 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	mode; // @Metadata=(Units="unitless",Description="Current simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_simulationMode_57f55b31 
struct logevent_softwareVersions_63ff6559 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	salVersion; // @Metadata=(Units="unitless",Description="This is the current version of SAL generation")
	  string<256>	xmlVersion; // @Metadata=(Units="unitless",Description="This is the current version of CSC XML")
	  string<256>	openSpliceVersion; // @Metadata=(Units="unitless",Description="This is the current version of OpenSplice")
	  string<256>	cscVersion; // @Metadata=(Units="unitless",Description="This is the top-level version of the CSC")
	  string	subsystemVersions; // @Metadata=(Units="unitless",Description="A comma delimited list of key=value pairs relating subsystem name (key) to its version number (value). This may be left blank if there are no subsystems within a CSC")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_softwareVersions_63ff6559 
struct logevent_startIntegration_fa4d4d7f {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timestampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startIntegration_fa4d4d7f 
struct logevent_startLoadFilter_9e1cd6ca {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startLoadFilter_9e1cd6ca 
struct logevent_startReadout_33a506c6 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timestampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  double	timestampStartOfReadout; // @Metadata=(Units="second",Description="The time at which the readout was triggered")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startReadout_33a506c6 
struct logevent_startRotateCarousel_08f8c0fb {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startRotateCarousel_08f8c0fb 
struct logevent_startSetFilter_57213cc7 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	filterName; // @Metadata=(Units="unitless",Description="The name of the filter being installed (e.g. U-001)")
	  string	filterType; // @Metadata=(Units="unitless",Description="The type of the filter being installed (e.g. g;r;i;z;y;u;none;other). If other it can optionally be")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startSetFilter_57213cc7 
struct logevent_startShutterClose_4e245430 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startShutterClose_4e245430 
struct logevent_startShutterOpen_f33cd204 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startShutterOpen_f33cd204 
struct logevent_startUnloadFilter_2267a563 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startUnloadFilter_2267a563 
struct logevent_summaryState_d558796b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	summaryState; // @Metadata=(Units="unitless",Description="High level state machine state identifier")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_summaryState_d558796b 
struct quadbox_BFR_01870983 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	heater_I; // @Metadata=(Units="mA",Description="Heater current")
	  double	protection_I; // @Metadata=(Units="mA",Description="Protection system current")
	  double	dirty_48V_I; // @Metadata=(Units="mA",Description="Dirty 48V current")
	  double	dirty_24V_I; // @Metadata=(Units="mA",Description="Dirty 24V current")
	  double	clean_5_24V_I; // @Metadata=(Units="mA",Description="Clean 5 and 24V current")
	  double	rebps_0; // @Metadata=(Units="mA",Description="REB PS 0-2 current")
	  double	dirty_28V_I; // @Metadata=(Units="mA",Description="Dirty 28V current")
	};
#pragma keylist quadbox_BFR_01870983 
struct quadbox_PDU_24VC_529ee72d {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	bpu_Maq20_I; // @Metadata=(Units="mA",Description="Body purge MAQ20 current")
	  double	ion_Pumps_I; // @Metadata=(Units="mA",Description="Ion pumps current")
	  double	fpga_T; // @Metadata=(Units="Celsius",Description="24V Clean PDU FPGA temperature")
	  double	bpu_Maq20_V; // @Metadata=(Units="Volt",Description="Body purge MAQ20 voltage")
	  double	fes_Shu_HCU_I; // @Metadata=(Units="mA",Description="FES/shutter HCU current")
	  double	board_T; // @Metadata=(Units="Celsius",Description="24V Clean PDU board temperature")
	  double	body_Purge_V; // @Metadata=(Units="Volt",Description="Body purge voltage")
	  double	pwr_Cry_HCU_V; // @Metadata=(Units="Volt",Description="Power/cryo HCU voltage")
	  double	pwr_Cry_HCU_I; // @Metadata=(Units="mA",Description="Power/cryo HCU current")
	  double	body_Purge_I; // @Metadata=(Units="mA",Description="Body purge current")
	  double	fes_Shu_HCU_V; // @Metadata=(Units="Volt",Description="FES/shutter HCU voltage")
	  double	gauges_V; // @Metadata=(Units="Volt",Description="Gauges voltage")
	  double	main_T; // @Metadata=(Units="Celsius",Description="24V Clean PDU main temperature")
	  double	main_V; // @Metadata=(Units="Volt",Description="24V Clean PDU main voltage")
	  double	ion_Pumps_V; // @Metadata=(Units="Volt",Description="Ion pumps voltage")
	  double	main_I; // @Metadata=(Units="mA",Description="24V Clean PDU main current")
	  double	gauges_I; // @Metadata=(Units="mA",Description="Gauges current")
	};
#pragma keylist quadbox_PDU_24VC_529ee72d 
struct quadbox_PDU_24VD_e8429810 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	board_T; // @Metadata=(Units="Celsius",Description="24V Dirty PDU board temperature")
	  double	fpga_T; // @Metadata=(Units="Celsius",Description="24V Dirty PDU FPGA temperature")
	  double	cryo_Turbo_I; // @Metadata=(Units="mA",Description="Cryo turbo pump current")
	  double	main_V; // @Metadata=(Units="Volt",Description="24V Dirty PDU main voltage")
	  double	main_T; // @Metadata=(Units="Celsius",Description="24V Dirty PDU main temperature")
	  double	cryo_Turbo_V; // @Metadata=(Units="Volt",Description="Cryo turbo pump voltage")
	  double	main_I; // @Metadata=(Units="mA",Description="24V Dirty PDU main current")
	};
#pragma keylist quadbox_PDU_24VD_e8429810 
struct quadbox_PDU_48V_35fb7ed1 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	board_T; // @Metadata=(Units="Celsius",Description="48V PDU board temperature")
	  double	main_T; // @Metadata=(Units="Celsius",Description="48V PDU main temperature")
	  double	main_V; // @Metadata=(Units="Volt",Description="48V PDU main voltage")
	  double	main_I; // @Metadata=(Units="mA",Description="48V PDU main current")
	  double	fpga_T; // @Metadata=(Units="Celsius",Description="48V PDU FPGA temperature")
	};
#pragma keylist quadbox_PDU_48V_35fb7ed1 
struct quadbox_PDU_5V_3bcedbd6 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	otm_0_B_V; // @Metadata=(Units="Volt",Description="OTM 0-B voltage")
	  double	otm_0_A_V; // @Metadata=(Units="Volt",Description="OTM 0-A voltage")
	  double	otm_0_A_I; // @Metadata=(Units="mA",Description="OTM 0-A current")
	  double	otm_0_B_I; // @Metadata=(Units="mA",Description="OTM 0-B current")
	};
#pragma keylist quadbox_PDU_5V_3bcedbd6 
struct rebpower_Reb_68517c50 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	digital_VbefLDO[3]; // @Metadata=(Units="Volt",Description="R22/Reb0 digital PS\Voltage before LDO")
	  string	location; // @Metadata=(Units="unitless",Description="Reb Location")
	  double	digital_IbefLDO[3]; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	digital_VaftLDO[3]; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	digital_IaftLDO[3]; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	digital_VaftSwch[3]; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	analog_VbefLDO[3]; // @Metadata=(Units="Volt",Description="R22/Reb0 analog PS\Voltage before LDO")
	  double	analog_IbefLDO[3]; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	analog_VaftLDO[3]; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	analog_IaftLDO[3]; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	analog_VaftSwch[3]; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	od_VbefLDO[3]; // @Metadata=(Units="Volt",Description="R22/Reb0 OD PS\Voltage before LDO")
	  double	od_IbefLDO[3]; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	od_VaftLDO[3]; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	od_VaftLDO2[3]; // @Metadata=(Units="Volt",Description="Voltage after LDO2")
	  double	od_IaftLDO[3]; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	od_VaftSwch[3]; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	clockhi_VbefLDO[3]; // @Metadata=(Units="Volt",Description="R22/Reb0 clockhi PS\Voltage before LDO")
	  double	clockhi_IbefLDO[3]; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	clockhi_VaftLDO[3]; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	clockhi_IaftLDO[3]; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	clockhi_VaftSwch[3]; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	clocklo_VbefLDO[3]; // @Metadata=(Units="Volt",Description="R22/Reb0 clocklo PS\Voltage before LDO")
	  double	clocklo_IbefLDO[3]; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	clocklo_VaftLDO[3]; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	clocklo_VaftLDO2[3]; // @Metadata=(Units="Volt",Description="Voltage after LDO2")
	  double	clocklo_IaftLDO[3]; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	clocklo_VaftSwch[3]; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	heater_VbefLDO[3]; // @Metadata=(Units="Volt",Description="R22/Reb0 heater PS\Voltage before LDO")
	  double	heater_IbefLDO[3]; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	heater_VaftLDO[3]; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	heater_IaftLDO[3]; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	heater_VaftSwch[3]; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	hvbias_VbefSwch[3]; // @Metadata=(Units="Volt",Description="R22/Reb0 hvbias PS\Voltage before switch")
	  double	hvbias_IbefSwch[3]; // @Metadata=(Units="mA",Description="Current before switch")
	  double	power[3]; // @Metadata=(Units="Watt",Description="R22/Reb0 all PSs\Total power")
	};
#pragma keylist rebpower_Reb_68517c50 
struct rebpower_Rebps_6559d479 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	boardTemp0; // @Metadata=(Units="Celsius",Description="Board temperature 0")
	  double	boardTemp1; // @Metadata=(Units="Celsius",Description="Board temperature 1")
	  double	boardTemp2; // @Metadata=(Units="Celsius",Description="Board temperature 2")
	  double	boardTemp3; // @Metadata=(Units="Celsius",Description="Board temperature 3")
	  double	boardTemp4; // @Metadata=(Units="Celsius",Description="Board temperature 4")
	  double	boardTemp5; // @Metadata=(Units="Celsius",Description="Board temperature 5")
	  double	boardTemp6; // @Metadata=(Units="Celsius",Description="Board temperature 6")
	  string	location; // @Metadata=(Units="unitless",Description="Rebps Location")
	};
#pragma keylist rebpower_Rebps_6559d479 
struct vacuum_Cold1_5be817b4 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	setPower; // @Metadata=(Units="W",Description="Cooler power")
	  double	power; // @Metadata=(Units="W",Description="Cooler power")
	  double	rejectTemperature; // @Metadata=(Units="Celsius",Description="Cooler reject temperature reading")
	  double	autoOnTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff turn back on temperature setting")
	  double	autoOffTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff temperature setting")
	  double	temperature; // @Metadata=(Units="Celsius",Description="Cooler temperature")
	  double	autoOffEnabled; // @Metadata=(Units="unitless",Description="Cooler auto shutoff state")
	  double	setpoint; // @Metadata=(Units="Celsius",Description="Cooler setpoint temperature")
	};
#pragma keylist vacuum_Cold1_5be817b4 
struct vacuum_Cold2_cfaa16cb {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	temperature; // @Metadata=(Units="Celsius",Description="Cooler temperature")
	  double	rejectTemperature; // @Metadata=(Units="Celsius",Description="Cooler reject temperature reading")
	  double	autoOnTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff turn back on temperature setting")
	  double	setpoint; // @Metadata=(Units="Celsius",Description="Cooler setpoint temperature")
	  double	power; // @Metadata=(Units="W",Description="Cooler power")
	  double	autoOffEnabled; // @Metadata=(Units="unitless",Description="Cooler auto shutoff state")
	  double	autoOffTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff temperature setting")
	  double	setPower; // @Metadata=(Units="W",Description="Cooler power")
	};
#pragma keylist vacuum_Cold2_cfaa16cb 
struct vacuum_Cryo_82ebb07d {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	rejectTemperature; // @Metadata=(Units="Celsius",Description="Cooler reject temperature reading")
	  double	autoOffEnabled; // @Metadata=(Units="unitless",Description="Cooler auto shutoff state")
	  double	power; // @Metadata=(Units="W",Description="Cooler power")
	  double	setPower; // @Metadata=(Units="W",Description="Cooler power")
	  double	temperature; // @Metadata=(Units="Celsius",Description="Cooler temperature")
	  double	autoOnTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff turn back on temperature setting")
	  double	setpoint; // @Metadata=(Units="Celsius",Description="Cooler setpoint temperature")
	  double	autoOffTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff temperature setting")
	};
#pragma keylist vacuum_Cryo_82ebb07d 
struct vacuum_IonPumps_4b3a5728 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	ionpump_voltage; // @Metadata=(Units="Volt",Description="Cryo ion pump 1 voltage")
	  double	ionpump_current; // @Metadata=(Units="mA",Description="Cryo ion pump 1 current")
	};
#pragma keylist vacuum_IonPumps_4b3a5728 
struct vacuum_Rtds_bb549469 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	temperatureCold1; // @Metadata=(Units="Celsius",Description="Cold Plate B Temperature")
	  double	temperatureCold2; // @Metadata=(Units="Celsius",Description="Cold Plate A Temperature")
	  double	temperatureCryo; // @Metadata=(Units="Celsius",Description="Cryo Plate Temperature")
	};
#pragma keylist vacuum_Rtds_bb549469 
struct vacuum_Turbo_c5095c0a {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	rpm; // @Metadata=(Units="unitless",Description="TurboPump speed (RPM)")
	  double	power; // @Metadata=(Units="Watt",Description="TurboPump power")
	  double	voltage; // @Metadata=(Units="Volt",Description="TurboPump voltage")
	  double	turboSpeed; // @Metadata=(Units="unitless",Description="Turbo pump speed (RPM)")
	  double	pumpTemperature; // @Metadata=(Units="Celsius",Description="TurboPump pump temperature")
	  double	status; // @Metadata=(Units="unitless",Description="TurboPump status: 5=normal; 6=fail")
	  double	cntrlrSinkTemperature; // @Metadata=(Units="Celsius",Description="TurboPump controller sink temp.")
	  double	driveFrequency; // @Metadata=(Units="Hz",Description="TurboPump drive freq.")
	  double	current; // @Metadata=(Units="mA",Description="TurboPump current")
	  double	cntrlrAirTemperature; // @Metadata=(Units="Celsius",Description="TurboPump controller air temp.")
	};
#pragma keylist vacuum_Turbo_c5095c0a 
struct vacuum_VQMonitor_d4e2f7e7 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	vqmpressure; // @Metadata=(Units="Torr",Description="VQM Pressure Reading")
	};
#pragma keylist vacuum_VQMonitor_d4e2f7e7 
struct ackcmd_44a48a0b {  // @Metadata=(Description="")
  string<8>	private_revCode; //private
  double	private_sndStamp;    //private
  double	private_rcvStamp;    //private
  long	private_seqNum;    //private
  string<128>	private_identity;    //private
  long	private_origin;    //private
  long	private_host;    //private
	  long	ack;
	  long	error;
	  string<256>	result;
	  long	host;
	  string	identity;
	  long	origin;
	  long	cmdtype;
	  double	timeout;
	};
#pragma keylist ackcmd_44a48a0b 
};

