Skip to main content

cimstructs/
registry.rs

1// Generated by cimgen — do not edit by hand.
2use std::collections::HashMap;
3use crate::base::{CimElement, RdfBlock};
4
5pub type ParseFn = fn(&RdfBlock) -> Box<dyn CimElement>;
6
7pub fn registry() -> HashMap<&'static str, ParseFn> {
8    let mut m: HashMap<&'static str, ParseFn> = HashMap::new();
9    m.insert("ACDCConverter", |b| Box::new(super::ACDCConverter::from_block(b)));
10    m.insert("ACDCConverterDCTerminal", |b| Box::new(super::ACDCConverterDCTerminal::from_block(b)));
11    m.insert("ACDCTerminal", |b| Box::new(super::ACDCTerminal::from_block(b)));
12    m.insert("ACLineSegment", |b| Box::new(super::ACLineSegment::from_block(b)));
13    m.insert("Accumulator", |b| Box::new(super::Accumulator::from_block(b)));
14    m.insert("AccumulatorLimit", |b| Box::new(super::AccumulatorLimit::from_block(b)));
15    m.insert("AccumulatorLimitSet", |b| Box::new(super::AccumulatorLimitSet::from_block(b)));
16    m.insert("AccumulatorReset", |b| Box::new(super::AccumulatorReset::from_block(b)));
17    m.insert("AccumulatorValue", |b| Box::new(super::AccumulatorValue::from_block(b)));
18    m.insert("ActivePowerLimit", |b| Box::new(super::ActivePowerLimit::from_block(b)));
19    m.insert("Analog", |b| Box::new(super::Analog::from_block(b)));
20    m.insert("AnalogControl", |b| Box::new(super::AnalogControl::from_block(b)));
21    m.insert("AnalogLimit", |b| Box::new(super::AnalogLimit::from_block(b)));
22    m.insert("AnalogLimitSet", |b| Box::new(super::AnalogLimitSet::from_block(b)));
23    m.insert("AnalogValue", |b| Box::new(super::AnalogValue::from_block(b)));
24    m.insert("ApparentPowerLimit", |b| Box::new(super::ApparentPowerLimit::from_block(b)));
25    m.insert("AsynchronousMachine", |b| Box::new(super::AsynchronousMachine::from_block(b)));
26    m.insert("AsynchronousMachineDynamics", |b| Box::new(super::AsynchronousMachineDynamics::from_block(b)));
27    m.insert("AsynchronousMachineEquivalentCircuit", |b| Box::new(super::AsynchronousMachineEquivalentCircuit::from_block(b)));
28    m.insert("AsynchronousMachineTimeConstantReactance", |b| Box::new(super::AsynchronousMachineTimeConstantReactance::from_block(b)));
29    m.insert("AsynchronousMachineUserDefined", |b| Box::new(super::AsynchronousMachineUserDefined::from_block(b)));
30    m.insert("AuxiliaryEquipment", |b| Box::new(super::AuxiliaryEquipment::from_block(b)));
31    m.insert("BaseVoltage", |b| Box::new(super::BaseVoltage::from_block(b)));
32    m.insert("BasicIntervalSchedule", |b| Box::new(super::BasicIntervalSchedule::from_block(b)));
33    m.insert("BatteryUnit", |b| Box::new(super::BatteryUnit::from_block(b)));
34    m.insert("Bay", |b| Box::new(super::Bay::from_block(b)));
35    m.insert("BoundaryPoint", |b| Box::new(super::BoundaryPoint::from_block(b)));
36    m.insert("Breaker", |b| Box::new(super::Breaker::from_block(b)));
37    m.insert("BusNameMarker", |b| Box::new(super::BusNameMarker::from_block(b)));
38    m.insert("BusbarSection", |b| Box::new(super::BusbarSection::from_block(b)));
39    m.insert("CAESPlant", |b| Box::new(super::CAESPlant::from_block(b)));
40    m.insert("CSCDynamics", |b| Box::new(super::CSCDynamics::from_block(b)));
41    m.insert("CSCUserDefined", |b| Box::new(super::CSCUserDefined::from_block(b)));
42    m.insert("Clamp", |b| Box::new(super::Clamp::from_block(b)));
43    m.insert("CogenerationPlant", |b| Box::new(super::CogenerationPlant::from_block(b)));
44    m.insert("CombinedCyclePlant", |b| Box::new(super::CombinedCyclePlant::from_block(b)));
45    m.insert("Command", |b| Box::new(super::Command::from_block(b)));
46    m.insert("ConductingEquipment", |b| Box::new(super::ConductingEquipment::from_block(b)));
47    m.insert("Conductor", |b| Box::new(super::Conductor::from_block(b)));
48    m.insert("ConformLoad", |b| Box::new(super::ConformLoad::from_block(b)));
49    m.insert("ConformLoadGroup", |b| Box::new(super::ConformLoadGroup::from_block(b)));
50    m.insert("ConformLoadSchedule", |b| Box::new(super::ConformLoadSchedule::from_block(b)));
51    m.insert("ConnectivityNode", |b| Box::new(super::ConnectivityNode::from_block(b)));
52    m.insert("ConnectivityNodeContainer", |b| Box::new(super::ConnectivityNodeContainer::from_block(b)));
53    m.insert("Connector", |b| Box::new(super::Connector::from_block(b)));
54    m.insert("Control", |b| Box::new(super::Control::from_block(b)));
55    m.insert("ControlArea", |b| Box::new(super::ControlArea::from_block(b)));
56    m.insert("ControlAreaGeneratingUnit", |b| Box::new(super::ControlAreaGeneratingUnit::from_block(b)));
57    m.insert("CoordinateSystem", |b| Box::new(super::CoordinateSystem::from_block(b)));
58    m.insert("CrossCompoundTurbineGovernorDynamics", |b| Box::new(super::CrossCompoundTurbineGovernorDynamics::from_block(b)));
59    m.insert("CsConverter", |b| Box::new(super::CsConverter::from_block(b)));
60    m.insert("CurrentLimit", |b| Box::new(super::CurrentLimit::from_block(b)));
61    m.insert("CurrentTransformer", |b| Box::new(super::CurrentTransformer::from_block(b)));
62    m.insert("Curve", |b| Box::new(super::Curve::from_block(b)));
63    m.insert("CurveData", |b| Box::new(super::CurveData::from_block(b)));
64    m.insert("Cut", |b| Box::new(super::Cut::from_block(b)));
65    m.insert("DCBaseTerminal", |b| Box::new(super::DCBaseTerminal::from_block(b)));
66    m.insert("DCBreaker", |b| Box::new(super::DCBreaker::from_block(b)));
67    m.insert("DCBusbar", |b| Box::new(super::DCBusbar::from_block(b)));
68    m.insert("DCChopper", |b| Box::new(super::DCChopper::from_block(b)));
69    m.insert("DCConductingEquipment", |b| Box::new(super::DCConductingEquipment::from_block(b)));
70    m.insert("DCConverterUnit", |b| Box::new(super::DCConverterUnit::from_block(b)));
71    m.insert("DCDisconnector", |b| Box::new(super::DCDisconnector::from_block(b)));
72    m.insert("DCEquipmentContainer", |b| Box::new(super::DCEquipmentContainer::from_block(b)));
73    m.insert("DCGround", |b| Box::new(super::DCGround::from_block(b)));
74    m.insert("DCLine", |b| Box::new(super::DCLine::from_block(b)));
75    m.insert("DCLineSegment", |b| Box::new(super::DCLineSegment::from_block(b)));
76    m.insert("DCNode", |b| Box::new(super::DCNode::from_block(b)));
77    m.insert("DCSeriesDevice", |b| Box::new(super::DCSeriesDevice::from_block(b)));
78    m.insert("DCShunt", |b| Box::new(super::DCShunt::from_block(b)));
79    m.insert("DCSwitch", |b| Box::new(super::DCSwitch::from_block(b)));
80    m.insert("DCTerminal", |b| Box::new(super::DCTerminal::from_block(b)));
81    m.insert("DCTopologicalIsland", |b| Box::new(super::DCTopologicalIsland::from_block(b)));
82    m.insert("DCTopologicalNode", |b| Box::new(super::DCTopologicalNode::from_block(b)));
83    m.insert("DayType", |b| Box::new(super::DayType::from_block(b)));
84    m.insert("Diagram", |b| Box::new(super::Diagram::from_block(b)));
85    m.insert("DiagramObject", |b| Box::new(super::DiagramObject::from_block(b)));
86    m.insert("DiagramObjectGluePoint", |b| Box::new(super::DiagramObjectGluePoint::from_block(b)));
87    m.insert("DiagramObjectPoint", |b| Box::new(super::DiagramObjectPoint::from_block(b)));
88    m.insert("DiagramObjectStyle", |b| Box::new(super::DiagramObjectStyle::from_block(b)));
89    m.insert("DiagramStyle", |b| Box::new(super::DiagramStyle::from_block(b)));
90    m.insert("DifferenceModel", |b| Box::new(super::DifferenceModel::from_block(b)));
91    m.insert("DiscExcContIEEEDEC1A", |b| Box::new(super::DiscExcContIEEEDEC1A::from_block(b)));
92    m.insert("DiscExcContIEEEDEC2A", |b| Box::new(super::DiscExcContIEEEDEC2A::from_block(b)));
93    m.insert("DiscExcContIEEEDEC3A", |b| Box::new(super::DiscExcContIEEEDEC3A::from_block(b)));
94    m.insert("DisconnectingCircuitBreaker", |b| Box::new(super::DisconnectingCircuitBreaker::from_block(b)));
95    m.insert("Disconnector", |b| Box::new(super::Disconnector::from_block(b)));
96    m.insert("DiscontinuousExcitationControlDynamics", |b| Box::new(super::DiscontinuousExcitationControlDynamics::from_block(b)));
97    m.insert("DiscontinuousExcitationControlUserDefined", |b| Box::new(super::DiscontinuousExcitationControlUserDefined::from_block(b)));
98    m.insert("Discrete", |b| Box::new(super::Discrete::from_block(b)));
99    m.insert("DiscreteValue", |b| Box::new(super::DiscreteValue::from_block(b)));
100    m.insert("DynamicsFunctionBlock", |b| Box::new(super::DynamicsFunctionBlock::from_block(b)));
101    m.insert("EarthFaultCompensator", |b| Box::new(super::EarthFaultCompensator::from_block(b)));
102    m.insert("EnergyArea", |b| Box::new(super::EnergyArea::from_block(b)));
103    m.insert("EnergyConnection", |b| Box::new(super::EnergyConnection::from_block(b)));
104    m.insert("EnergyConsumer", |b| Box::new(super::EnergyConsumer::from_block(b)));
105    m.insert("EnergySchedulingType", |b| Box::new(super::EnergySchedulingType::from_block(b)));
106    m.insert("EnergySource", |b| Box::new(super::EnergySource::from_block(b)));
107    m.insert("Equipment", |b| Box::new(super::Equipment::from_block(b)));
108    m.insert("EquipmentContainer", |b| Box::new(super::EquipmentContainer::from_block(b)));
109    m.insert("EquivalentBranch", |b| Box::new(super::EquivalentBranch::from_block(b)));
110    m.insert("EquivalentEquipment", |b| Box::new(super::EquivalentEquipment::from_block(b)));
111    m.insert("EquivalentInjection", |b| Box::new(super::EquivalentInjection::from_block(b)));
112    m.insert("EquivalentNetwork", |b| Box::new(super::EquivalentNetwork::from_block(b)));
113    m.insert("EquivalentShunt", |b| Box::new(super::EquivalentShunt::from_block(b)));
114    m.insert("ExcAC1A", |b| Box::new(super::ExcAC1A::from_block(b)));
115    m.insert("ExcAC2A", |b| Box::new(super::ExcAC2A::from_block(b)));
116    m.insert("ExcAC3A", |b| Box::new(super::ExcAC3A::from_block(b)));
117    m.insert("ExcAC4A", |b| Box::new(super::ExcAC4A::from_block(b)));
118    m.insert("ExcAC5A", |b| Box::new(super::ExcAC5A::from_block(b)));
119    m.insert("ExcAC6A", |b| Box::new(super::ExcAC6A::from_block(b)));
120    m.insert("ExcAC8B", |b| Box::new(super::ExcAC8B::from_block(b)));
121    m.insert("ExcANS", |b| Box::new(super::ExcANS::from_block(b)));
122    m.insert("ExcAVR1", |b| Box::new(super::ExcAVR1::from_block(b)));
123    m.insert("ExcAVR2", |b| Box::new(super::ExcAVR2::from_block(b)));
124    m.insert("ExcAVR3", |b| Box::new(super::ExcAVR3::from_block(b)));
125    m.insert("ExcAVR4", |b| Box::new(super::ExcAVR4::from_block(b)));
126    m.insert("ExcAVR5", |b| Box::new(super::ExcAVR5::from_block(b)));
127    m.insert("ExcAVR7", |b| Box::new(super::ExcAVR7::from_block(b)));
128    m.insert("ExcBBC", |b| Box::new(super::ExcBBC::from_block(b)));
129    m.insert("ExcCZ", |b| Box::new(super::ExcCZ::from_block(b)));
130    m.insert("ExcDC1A", |b| Box::new(super::ExcDC1A::from_block(b)));
131    m.insert("ExcDC2A", |b| Box::new(super::ExcDC2A::from_block(b)));
132    m.insert("ExcDC3A", |b| Box::new(super::ExcDC3A::from_block(b)));
133    m.insert("ExcDC3A1", |b| Box::new(super::ExcDC3A1::from_block(b)));
134    m.insert("ExcELIN1", |b| Box::new(super::ExcELIN1::from_block(b)));
135    m.insert("ExcELIN2", |b| Box::new(super::ExcELIN2::from_block(b)));
136    m.insert("ExcHU", |b| Box::new(super::ExcHU::from_block(b)));
137    m.insert("ExcIEEEAC1A", |b| Box::new(super::ExcIEEEAC1A::from_block(b)));
138    m.insert("ExcIEEEAC2A", |b| Box::new(super::ExcIEEEAC2A::from_block(b)));
139    m.insert("ExcIEEEAC3A", |b| Box::new(super::ExcIEEEAC3A::from_block(b)));
140    m.insert("ExcIEEEAC4A", |b| Box::new(super::ExcIEEEAC4A::from_block(b)));
141    m.insert("ExcIEEEAC5A", |b| Box::new(super::ExcIEEEAC5A::from_block(b)));
142    m.insert("ExcIEEEAC6A", |b| Box::new(super::ExcIEEEAC6A::from_block(b)));
143    m.insert("ExcIEEEAC7B", |b| Box::new(super::ExcIEEEAC7B::from_block(b)));
144    m.insert("ExcIEEEAC8B", |b| Box::new(super::ExcIEEEAC8B::from_block(b)));
145    m.insert("ExcIEEEDC1A", |b| Box::new(super::ExcIEEEDC1A::from_block(b)));
146    m.insert("ExcIEEEDC2A", |b| Box::new(super::ExcIEEEDC2A::from_block(b)));
147    m.insert("ExcIEEEDC3A", |b| Box::new(super::ExcIEEEDC3A::from_block(b)));
148    m.insert("ExcIEEEDC4B", |b| Box::new(super::ExcIEEEDC4B::from_block(b)));
149    m.insert("ExcIEEEST1A", |b| Box::new(super::ExcIEEEST1A::from_block(b)));
150    m.insert("ExcIEEEST2A", |b| Box::new(super::ExcIEEEST2A::from_block(b)));
151    m.insert("ExcIEEEST3A", |b| Box::new(super::ExcIEEEST3A::from_block(b)));
152    m.insert("ExcIEEEST4B", |b| Box::new(super::ExcIEEEST4B::from_block(b)));
153    m.insert("ExcIEEEST5B", |b| Box::new(super::ExcIEEEST5B::from_block(b)));
154    m.insert("ExcIEEEST6B", |b| Box::new(super::ExcIEEEST6B::from_block(b)));
155    m.insert("ExcIEEEST7B", |b| Box::new(super::ExcIEEEST7B::from_block(b)));
156    m.insert("ExcNI", |b| Box::new(super::ExcNI::from_block(b)));
157    m.insert("ExcOEX3T", |b| Box::new(super::ExcOEX3T::from_block(b)));
158    m.insert("ExcPIC", |b| Box::new(super::ExcPIC::from_block(b)));
159    m.insert("ExcREXS", |b| Box::new(super::ExcREXS::from_block(b)));
160    m.insert("ExcRQB", |b| Box::new(super::ExcRQB::from_block(b)));
161    m.insert("ExcSCRX", |b| Box::new(super::ExcSCRX::from_block(b)));
162    m.insert("ExcSEXS", |b| Box::new(super::ExcSEXS::from_block(b)));
163    m.insert("ExcSK", |b| Box::new(super::ExcSK::from_block(b)));
164    m.insert("ExcST1A", |b| Box::new(super::ExcST1A::from_block(b)));
165    m.insert("ExcST2A", |b| Box::new(super::ExcST2A::from_block(b)));
166    m.insert("ExcST3A", |b| Box::new(super::ExcST3A::from_block(b)));
167    m.insert("ExcST4B", |b| Box::new(super::ExcST4B::from_block(b)));
168    m.insert("ExcST6B", |b| Box::new(super::ExcST6B::from_block(b)));
169    m.insert("ExcST7B", |b| Box::new(super::ExcST7B::from_block(b)));
170    m.insert("ExcitationSystemDynamics", |b| Box::new(super::ExcitationSystemDynamics::from_block(b)));
171    m.insert("ExcitationSystemUserDefined", |b| Box::new(super::ExcitationSystemUserDefined::from_block(b)));
172    m.insert("ExternalNetworkInjection", |b| Box::new(super::ExternalNetworkInjection::from_block(b)));
173    m.insert("FaultIndicator", |b| Box::new(super::FaultIndicator::from_block(b)));
174    m.insert("FossilFuel", |b| Box::new(super::FossilFuel::from_block(b)));
175    m.insert("FullModel", |b| Box::new(super::FullModel::from_block(b)));
176    m.insert("Fuse", |b| Box::new(super::Fuse::from_block(b)));
177    m.insert("GenICompensationForGenJ", |b| Box::new(super::GenICompensationForGenJ::from_block(b)));
178    m.insert("GeneratingUnit", |b| Box::new(super::GeneratingUnit::from_block(b)));
179    m.insert("GeographicalRegion", |b| Box::new(super::GeographicalRegion::from_block(b)));
180    m.insert("GovCT1", |b| Box::new(super::GovCT1::from_block(b)));
181    m.insert("GovCT2", |b| Box::new(super::GovCT2::from_block(b)));
182    m.insert("GovGAST", |b| Box::new(super::GovGAST::from_block(b)));
183    m.insert("GovGAST1", |b| Box::new(super::GovGAST1::from_block(b)));
184    m.insert("GovGAST2", |b| Box::new(super::GovGAST2::from_block(b)));
185    m.insert("GovGAST3", |b| Box::new(super::GovGAST3::from_block(b)));
186    m.insert("GovGAST4", |b| Box::new(super::GovGAST4::from_block(b)));
187    m.insert("GovGASTWD", |b| Box::new(super::GovGASTWD::from_block(b)));
188    m.insert("GovHydro1", |b| Box::new(super::GovHydro1::from_block(b)));
189    m.insert("GovHydro2", |b| Box::new(super::GovHydro2::from_block(b)));
190    m.insert("GovHydro3", |b| Box::new(super::GovHydro3::from_block(b)));
191    m.insert("GovHydro4", |b| Box::new(super::GovHydro4::from_block(b)));
192    m.insert("GovHydroDD", |b| Box::new(super::GovHydroDD::from_block(b)));
193    m.insert("GovHydroFrancis", |b| Box::new(super::GovHydroFrancis::from_block(b)));
194    m.insert("GovHydroIEEE0", |b| Box::new(super::GovHydroIEEE0::from_block(b)));
195    m.insert("GovHydroIEEE2", |b| Box::new(super::GovHydroIEEE2::from_block(b)));
196    m.insert("GovHydroPID", |b| Box::new(super::GovHydroPID::from_block(b)));
197    m.insert("GovHydroPID2", |b| Box::new(super::GovHydroPID2::from_block(b)));
198    m.insert("GovHydroPelton", |b| Box::new(super::GovHydroPelton::from_block(b)));
199    m.insert("GovHydroR", |b| Box::new(super::GovHydroR::from_block(b)));
200    m.insert("GovHydroWEH", |b| Box::new(super::GovHydroWEH::from_block(b)));
201    m.insert("GovHydroWPID", |b| Box::new(super::GovHydroWPID::from_block(b)));
202    m.insert("GovSteam0", |b| Box::new(super::GovSteam0::from_block(b)));
203    m.insert("GovSteam1", |b| Box::new(super::GovSteam1::from_block(b)));
204    m.insert("GovSteam2", |b| Box::new(super::GovSteam2::from_block(b)));
205    m.insert("GovSteamBB", |b| Box::new(super::GovSteamBB::from_block(b)));
206    m.insert("GovSteamCC", |b| Box::new(super::GovSteamCC::from_block(b)));
207    m.insert("GovSteamEU", |b| Box::new(super::GovSteamEU::from_block(b)));
208    m.insert("GovSteamFV2", |b| Box::new(super::GovSteamFV2::from_block(b)));
209    m.insert("GovSteamFV3", |b| Box::new(super::GovSteamFV3::from_block(b)));
210    m.insert("GovSteamFV4", |b| Box::new(super::GovSteamFV4::from_block(b)));
211    m.insert("GovSteamIEEE1", |b| Box::new(super::GovSteamIEEE1::from_block(b)));
212    m.insert("GovSteamSGO", |b| Box::new(super::GovSteamSGO::from_block(b)));
213    m.insert("GrossToNetActivePowerCurve", |b| Box::new(super::GrossToNetActivePowerCurve::from_block(b)));
214    m.insert("Ground", |b| Box::new(super::Ground::from_block(b)));
215    m.insert("GroundDisconnector", |b| Box::new(super::GroundDisconnector::from_block(b)));
216    m.insert("GroundingImpedance", |b| Box::new(super::GroundingImpedance::from_block(b)));
217    m.insert("HVDCDynamics", |b| Box::new(super::HVDCDynamics::from_block(b)));
218    m.insert("HydroGeneratingUnit", |b| Box::new(super::HydroGeneratingUnit::from_block(b)));
219    m.insert("HydroPowerPlant", |b| Box::new(super::HydroPowerPlant::from_block(b)));
220    m.insert("HydroPump", |b| Box::new(super::HydroPump::from_block(b)));
221    m.insert("IOPoint", |b| Box::new(super::IOPoint::from_block(b)));
222    m.insert("IdentifiedObject", |b| Box::new(super::IdentifiedObject::from_block(b)));
223    m.insert("Jumper", |b| Box::new(super::Jumper::from_block(b)));
224    m.insert("Junction", |b| Box::new(super::Junction::from_block(b)));
225    m.insert("Limit", |b| Box::new(super::Limit::from_block(b)));
226    m.insert("LimitKind", |b| Box::new(super::LimitKind::from_block(b)));
227    m.insert("LimitSet", |b| Box::new(super::LimitSet::from_block(b)));
228    m.insert("Line", |b| Box::new(super::Line::from_block(b)));
229    m.insert("LinearShuntCompensator", |b| Box::new(super::LinearShuntCompensator::from_block(b)));
230    m.insert("LoadAggregate", |b| Box::new(super::LoadAggregate::from_block(b)));
231    m.insert("LoadArea", |b| Box::new(super::LoadArea::from_block(b)));
232    m.insert("LoadBreakSwitch", |b| Box::new(super::LoadBreakSwitch::from_block(b)));
233    m.insert("LoadComposite", |b| Box::new(super::LoadComposite::from_block(b)));
234    m.insert("LoadDynamics", |b| Box::new(super::LoadDynamics::from_block(b)));
235    m.insert("LoadGenericNonLinear", |b| Box::new(super::LoadGenericNonLinear::from_block(b)));
236    m.insert("LoadGroup", |b| Box::new(super::LoadGroup::from_block(b)));
237    m.insert("LoadMotor", |b| Box::new(super::LoadMotor::from_block(b)));
238    m.insert("LoadResponseCharacteristic", |b| Box::new(super::LoadResponseCharacteristic::from_block(b)));
239    m.insert("LoadStatic", |b| Box::new(super::LoadStatic::from_block(b)));
240    m.insert("LoadUserDefined", |b| Box::new(super::LoadUserDefined::from_block(b)));
241    m.insert("Location", |b| Box::new(super::Location::from_block(b)));
242    m.insert("Measurement", |b| Box::new(super::Measurement::from_block(b)));
243    m.insert("MeasurementValue", |b| Box::new(super::MeasurementValue::from_block(b)));
244    m.insert("MeasurementValueQuality", |b| Box::new(super::MeasurementValueQuality::from_block(b)));
245    m.insert("MeasurementValueSource", |b| Box::new(super::MeasurementValueSource::from_block(b)));
246    m.insert("MechLoad1", |b| Box::new(super::MechLoad1::from_block(b)));
247    m.insert("MechanicalLoadDynamics", |b| Box::new(super::MechanicalLoadDynamics::from_block(b)));
248    m.insert("MechanicalLoadUserDefined", |b| Box::new(super::MechanicalLoadUserDefined::from_block(b)));
249    m.insert("Model", |b| Box::new(super::Model::from_block(b)));
250    m.insert("MutualCoupling", |b| Box::new(super::MutualCoupling::from_block(b)));
251    m.insert("NonConformLoad", |b| Box::new(super::NonConformLoad::from_block(b)));
252    m.insert("NonConformLoadGroup", |b| Box::new(super::NonConformLoadGroup::from_block(b)));
253    m.insert("NonConformLoadSchedule", |b| Box::new(super::NonConformLoadSchedule::from_block(b)));
254    m.insert("NonlinearShuntCompensator", |b| Box::new(super::NonlinearShuntCompensator::from_block(b)));
255    m.insert("NonlinearShuntCompensatorPoint", |b| Box::new(super::NonlinearShuntCompensatorPoint::from_block(b)));
256    m.insert("NuclearGeneratingUnit", |b| Box::new(super::NuclearGeneratingUnit::from_block(b)));
257    m.insert("OperationalLimit", |b| Box::new(super::OperationalLimit::from_block(b)));
258    m.insert("OperationalLimitSet", |b| Box::new(super::OperationalLimitSet::from_block(b)));
259    m.insert("OperationalLimitType", |b| Box::new(super::OperationalLimitType::from_block(b)));
260    m.insert("OverexcLim2", |b| Box::new(super::OverexcLim2::from_block(b)));
261    m.insert("OverexcLimIEEE", |b| Box::new(super::OverexcLimIEEE::from_block(b)));
262    m.insert("OverexcLimX1", |b| Box::new(super::OverexcLimX1::from_block(b)));
263    m.insert("OverexcLimX2", |b| Box::new(super::OverexcLimX2::from_block(b)));
264    m.insert("OverexcitationLimiterDynamics", |b| Box::new(super::OverexcitationLimiterDynamics::from_block(b)));
265    m.insert("OverexcitationLimiterUserDefined", |b| Box::new(super::OverexcitationLimiterUserDefined::from_block(b)));
266    m.insert("PFVArControllerType1Dynamics", |b| Box::new(super::PFVArControllerType1Dynamics::from_block(b)));
267    m.insert("PFVArControllerType1UserDefined", |b| Box::new(super::PFVArControllerType1UserDefined::from_block(b)));
268    m.insert("PFVArControllerType2Dynamics", |b| Box::new(super::PFVArControllerType2Dynamics::from_block(b)));
269    m.insert("PFVArControllerType2UserDefined", |b| Box::new(super::PFVArControllerType2UserDefined::from_block(b)));
270    m.insert("PFVArType1IEEEPFController", |b| Box::new(super::PFVArType1IEEEPFController::from_block(b)));
271    m.insert("PFVArType1IEEEVArController", |b| Box::new(super::PFVArType1IEEEVArController::from_block(b)));
272    m.insert("PFVArType2Common1", |b| Box::new(super::PFVArType2Common1::from_block(b)));
273    m.insert("PFVArType2IEEEPFController", |b| Box::new(super::PFVArType2IEEEPFController::from_block(b)));
274    m.insert("PFVArType2IEEEVArController", |b| Box::new(super::PFVArType2IEEEVArController::from_block(b)));
275    m.insert("PetersenCoil", |b| Box::new(super::PetersenCoil::from_block(b)));
276    m.insert("PhaseTapChanger", |b| Box::new(super::PhaseTapChanger::from_block(b)));
277    m.insert("PhaseTapChangerAsymmetrical", |b| Box::new(super::PhaseTapChangerAsymmetrical::from_block(b)));
278    m.insert("PhaseTapChangerLinear", |b| Box::new(super::PhaseTapChangerLinear::from_block(b)));
279    m.insert("PhaseTapChangerNonLinear", |b| Box::new(super::PhaseTapChangerNonLinear::from_block(b)));
280    m.insert("PhaseTapChangerSymmetrical", |b| Box::new(super::PhaseTapChangerSymmetrical::from_block(b)));
281    m.insert("PhaseTapChangerTable", |b| Box::new(super::PhaseTapChangerTable::from_block(b)));
282    m.insert("PhaseTapChangerTablePoint", |b| Box::new(super::PhaseTapChangerTablePoint::from_block(b)));
283    m.insert("PhaseTapChangerTabular", |b| Box::new(super::PhaseTapChangerTabular::from_block(b)));
284    m.insert("PhotoVoltaicUnit", |b| Box::new(super::PhotoVoltaicUnit::from_block(b)));
285    m.insert("PositionPoint", |b| Box::new(super::PositionPoint::from_block(b)));
286    m.insert("PostLineSensor", |b| Box::new(super::PostLineSensor::from_block(b)));
287    m.insert("PotentialTransformer", |b| Box::new(super::PotentialTransformer::from_block(b)));
288    m.insert("PowerElectronicsConnection", |b| Box::new(super::PowerElectronicsConnection::from_block(b)));
289    m.insert("PowerElectronicsUnit", |b| Box::new(super::PowerElectronicsUnit::from_block(b)));
290    m.insert("PowerElectronicsWindUnit", |b| Box::new(super::PowerElectronicsWindUnit::from_block(b)));
291    m.insert("PowerSystemResource", |b| Box::new(super::PowerSystemResource::from_block(b)));
292    m.insert("PowerSystemStabilizerDynamics", |b| Box::new(super::PowerSystemStabilizerDynamics::from_block(b)));
293    m.insert("PowerSystemStabilizerUserDefined", |b| Box::new(super::PowerSystemStabilizerUserDefined::from_block(b)));
294    m.insert("PowerTransformer", |b| Box::new(super::PowerTransformer::from_block(b)));
295    m.insert("PowerTransformerEnd", |b| Box::new(super::PowerTransformerEnd::from_block(b)));
296    m.insert("ProprietaryParameterDynamics", |b| Box::new(super::ProprietaryParameterDynamics::from_block(b)));
297    m.insert("ProtectedSwitch", |b| Box::new(super::ProtectedSwitch::from_block(b)));
298    m.insert("Pss1", |b| Box::new(super::Pss1::from_block(b)));
299    m.insert("Pss1A", |b| Box::new(super::Pss1A::from_block(b)));
300    m.insert("Pss2B", |b| Box::new(super::Pss2B::from_block(b)));
301    m.insert("Pss2ST", |b| Box::new(super::Pss2ST::from_block(b)));
302    m.insert("Pss5", |b| Box::new(super::Pss5::from_block(b)));
303    m.insert("PssELIN2", |b| Box::new(super::PssELIN2::from_block(b)));
304    m.insert("PssIEEE1A", |b| Box::new(super::PssIEEE1A::from_block(b)));
305    m.insert("PssIEEE2B", |b| Box::new(super::PssIEEE2B::from_block(b)));
306    m.insert("PssIEEE3B", |b| Box::new(super::PssIEEE3B::from_block(b)));
307    m.insert("PssIEEE4B", |b| Box::new(super::PssIEEE4B::from_block(b)));
308    m.insert("PssPTIST1", |b| Box::new(super::PssPTIST1::from_block(b)));
309    m.insert("PssPTIST3", |b| Box::new(super::PssPTIST3::from_block(b)));
310    m.insert("PssRQB", |b| Box::new(super::PssRQB::from_block(b)));
311    m.insert("PssSB4", |b| Box::new(super::PssSB4::from_block(b)));
312    m.insert("PssSH", |b| Box::new(super::PssSH::from_block(b)));
313    m.insert("PssSK", |b| Box::new(super::PssSK::from_block(b)));
314    m.insert("PssSTAB2A", |b| Box::new(super::PssSTAB2A::from_block(b)));
315    m.insert("PssWECC", |b| Box::new(super::PssWECC::from_block(b)));
316    m.insert("Quality61850", |b| Box::new(super::Quality61850::from_block(b)));
317    m.insert("RaiseLowerCommand", |b| Box::new(super::RaiseLowerCommand::from_block(b)));
318    m.insert("RatioTapChanger", |b| Box::new(super::RatioTapChanger::from_block(b)));
319    m.insert("RatioTapChangerTable", |b| Box::new(super::RatioTapChangerTable::from_block(b)));
320    m.insert("RatioTapChangerTablePoint", |b| Box::new(super::RatioTapChangerTablePoint::from_block(b)));
321    m.insert("ReactiveCapabilityCurve", |b| Box::new(super::ReactiveCapabilityCurve::from_block(b)));
322    m.insert("RegularIntervalSchedule", |b| Box::new(super::RegularIntervalSchedule::from_block(b)));
323    m.insert("RegularTimePoint", |b| Box::new(super::RegularTimePoint::from_block(b)));
324    m.insert("RegulatingCondEq", |b| Box::new(super::RegulatingCondEq::from_block(b)));
325    m.insert("RegulatingControl", |b| Box::new(super::RegulatingControl::from_block(b)));
326    m.insert("RegulationSchedule", |b| Box::new(super::RegulationSchedule::from_block(b)));
327    m.insert("RemoteInputSignal", |b| Box::new(super::RemoteInputSignal::from_block(b)));
328    m.insert("ReportingGroup", |b| Box::new(super::ReportingGroup::from_block(b)));
329    m.insert("RotatingMachine", |b| Box::new(super::RotatingMachine::from_block(b)));
330    m.insert("RotatingMachineDynamics", |b| Box::new(super::RotatingMachineDynamics::from_block(b)));
331    m.insert("SVCControlMode", |b| Box::new(super::SVCControlMode::from_block(b)));
332    m.insert("SVCUserDefined", |b| Box::new(super::SVCUserDefined::from_block(b)));
333    m.insert("Season", |b| Box::new(super::Season::from_block(b)));
334    m.insert("SeasonDayTypeSchedule", |b| Box::new(super::SeasonDayTypeSchedule::from_block(b)));
335    m.insert("Sensor", |b| Box::new(super::Sensor::from_block(b)));
336    m.insert("SeriesCompensator", |b| Box::new(super::SeriesCompensator::from_block(b)));
337    m.insert("ServiceLocation", |b| Box::new(super::ServiceLocation::from_block(b)));
338    m.insert("SetPoint", |b| Box::new(super::SetPoint::from_block(b)));
339    m.insert("ShuntCompensator", |b| Box::new(super::ShuntCompensator::from_block(b)));
340    m.insert("SolarGeneratingUnit", |b| Box::new(super::SolarGeneratingUnit::from_block(b)));
341    m.insert("SolarPowerPlant", |b| Box::new(super::SolarPowerPlant::from_block(b)));
342    m.insert("Statements", |b| Box::new(super::Statements::from_block(b)));
343    m.insert("StaticVarCompensator", |b| Box::new(super::StaticVarCompensator::from_block(b)));
344    m.insert("StaticVarCompensatorDynamics", |b| Box::new(super::StaticVarCompensatorDynamics::from_block(b)));
345    m.insert("StationSupply", |b| Box::new(super::StationSupply::from_block(b)));
346    m.insert("Status", |b| Box::new(super::Status::from_block(b)));
347    m.insert("StreetAddress", |b| Box::new(super::StreetAddress::from_block(b)));
348    m.insert("StreetDetail", |b| Box::new(super::StreetDetail::from_block(b)));
349    m.insert("StringMeasurement", |b| Box::new(super::StringMeasurement::from_block(b)));
350    m.insert("StringMeasurementValue", |b| Box::new(super::StringMeasurementValue::from_block(b)));
351    m.insert("SubGeographicalRegion", |b| Box::new(super::SubGeographicalRegion::from_block(b)));
352    m.insert("SubLoadArea", |b| Box::new(super::SubLoadArea::from_block(b)));
353    m.insert("Substation", |b| Box::new(super::Substation::from_block(b)));
354    m.insert("SurgeArrester", |b| Box::new(super::SurgeArrester::from_block(b)));
355    m.insert("SvInjection", |b| Box::new(super::SvInjection::from_block(b)));
356    m.insert("SvPowerFlow", |b| Box::new(super::SvPowerFlow::from_block(b)));
357    m.insert("SvShuntCompensatorSections", |b| Box::new(super::SvShuntCompensatorSections::from_block(b)));
358    m.insert("SvStatus", |b| Box::new(super::SvStatus::from_block(b)));
359    m.insert("SvSwitch", |b| Box::new(super::SvSwitch::from_block(b)));
360    m.insert("SvTapStep", |b| Box::new(super::SvTapStep::from_block(b)));
361    m.insert("SvVoltage", |b| Box::new(super::SvVoltage::from_block(b)));
362    m.insert("Switch", |b| Box::new(super::Switch::from_block(b)));
363    m.insert("SwitchSchedule", |b| Box::new(super::SwitchSchedule::from_block(b)));
364    m.insert("SynchronousMachine", |b| Box::new(super::SynchronousMachine::from_block(b)));
365    m.insert("SynchronousMachineDetailed", |b| Box::new(super::SynchronousMachineDetailed::from_block(b)));
366    m.insert("SynchronousMachineDynamics", |b| Box::new(super::SynchronousMachineDynamics::from_block(b)));
367    m.insert("SynchronousMachineEquivalentCircuit", |b| Box::new(super::SynchronousMachineEquivalentCircuit::from_block(b)));
368    m.insert("SynchronousMachineSimplified", |b| Box::new(super::SynchronousMachineSimplified::from_block(b)));
369    m.insert("SynchronousMachineTimeConstantReactance", |b| Box::new(super::SynchronousMachineTimeConstantReactance::from_block(b)));
370    m.insert("SynchronousMachineUserDefined", |b| Box::new(super::SynchronousMachineUserDefined::from_block(b)));
371    m.insert("TapChanger", |b| Box::new(super::TapChanger::from_block(b)));
372    m.insert("TapChangerControl", |b| Box::new(super::TapChangerControl::from_block(b)));
373    m.insert("TapChangerTablePoint", |b| Box::new(super::TapChangerTablePoint::from_block(b)));
374    m.insert("TapSchedule", |b| Box::new(super::TapSchedule::from_block(b)));
375    m.insert("Terminal", |b| Box::new(super::Terminal::from_block(b)));
376    m.insert("TextDiagramObject", |b| Box::new(super::TextDiagramObject::from_block(b)));
377    m.insert("ThermalGeneratingUnit", |b| Box::new(super::ThermalGeneratingUnit::from_block(b)));
378    m.insert("TieFlow", |b| Box::new(super::TieFlow::from_block(b)));
379    m.insert("TopologicalIsland", |b| Box::new(super::TopologicalIsland::from_block(b)));
380    m.insert("TopologicalNode", |b| Box::new(super::TopologicalNode::from_block(b)));
381    m.insert("TownDetail", |b| Box::new(super::TownDetail::from_block(b)));
382    m.insert("TransformerEnd", |b| Box::new(super::TransformerEnd::from_block(b)));
383    m.insert("TurbLCFB1", |b| Box::new(super::TurbLCFB1::from_block(b)));
384    m.insert("TurbineGovernorDynamics", |b| Box::new(super::TurbineGovernorDynamics::from_block(b)));
385    m.insert("TurbineGovernorUserDefined", |b| Box::new(super::TurbineGovernorUserDefined::from_block(b)));
386    m.insert("TurbineLoadControllerDynamics", |b| Box::new(super::TurbineLoadControllerDynamics::from_block(b)));
387    m.insert("TurbineLoadControllerUserDefined", |b| Box::new(super::TurbineLoadControllerUserDefined::from_block(b)));
388    m.insert("URI", |b| Box::new(super::URI::from_block(b)));
389    m.insert("UnderexcLim2Simplified", |b| Box::new(super::UnderexcLim2Simplified::from_block(b)));
390    m.insert("UnderexcLimIEEE1", |b| Box::new(super::UnderexcLimIEEE1::from_block(b)));
391    m.insert("UnderexcLimIEEE2", |b| Box::new(super::UnderexcLimIEEE2::from_block(b)));
392    m.insert("UnderexcLimX1", |b| Box::new(super::UnderexcLimX1::from_block(b)));
393    m.insert("UnderexcLimX2", |b| Box::new(super::UnderexcLimX2::from_block(b)));
394    m.insert("UnderexcitationLimiterDynamics", |b| Box::new(super::UnderexcitationLimiterDynamics::from_block(b)));
395    m.insert("UnderexcitationLimiterUserDefined", |b| Box::new(super::UnderexcitationLimiterUserDefined::from_block(b)));
396    m.insert("VAdjIEEE", |b| Box::new(super::VAdjIEEE::from_block(b)));
397    m.insert("VCompIEEEType1", |b| Box::new(super::VCompIEEEType1::from_block(b)));
398    m.insert("VCompIEEEType2", |b| Box::new(super::VCompIEEEType2::from_block(b)));
399    m.insert("VSCDynamics", |b| Box::new(super::VSCDynamics::from_block(b)));
400    m.insert("VSCUserDefined", |b| Box::new(super::VSCUserDefined::from_block(b)));
401    m.insert("ValueAliasSet", |b| Box::new(super::ValueAliasSet::from_block(b)));
402    m.insert("ValueToAlias", |b| Box::new(super::ValueToAlias::from_block(b)));
403    m.insert("VisibilityLayer", |b| Box::new(super::VisibilityLayer::from_block(b)));
404    m.insert("VoltageAdjusterDynamics", |b| Box::new(super::VoltageAdjusterDynamics::from_block(b)));
405    m.insert("VoltageAdjusterUserDefined", |b| Box::new(super::VoltageAdjusterUserDefined::from_block(b)));
406    m.insert("VoltageCompensatorDynamics", |b| Box::new(super::VoltageCompensatorDynamics::from_block(b)));
407    m.insert("VoltageCompensatorUserDefined", |b| Box::new(super::VoltageCompensatorUserDefined::from_block(b)));
408    m.insert("VoltageLevel", |b| Box::new(super::VoltageLevel::from_block(b)));
409    m.insert("VoltageLimit", |b| Box::new(super::VoltageLimit::from_block(b)));
410    m.insert("VsCapabilityCurve", |b| Box::new(super::VsCapabilityCurve::from_block(b)));
411    m.insert("VsConverter", |b| Box::new(super::VsConverter::from_block(b)));
412    m.insert("WaveTrap", |b| Box::new(super::WaveTrap::from_block(b)));
413    m.insert("WindAeroConstIEC", |b| Box::new(super::WindAeroConstIEC::from_block(b)));
414    m.insert("WindAeroOneDimIEC", |b| Box::new(super::WindAeroOneDimIEC::from_block(b)));
415    m.insert("WindAeroTwoDimIEC", |b| Box::new(super::WindAeroTwoDimIEC::from_block(b)));
416    m.insert("WindContCurrLimIEC", |b| Box::new(super::WindContCurrLimIEC::from_block(b)));
417    m.insert("WindContPType3IEC", |b| Box::new(super::WindContPType3IEC::from_block(b)));
418    m.insert("WindContPType4aIEC", |b| Box::new(super::WindContPType4aIEC::from_block(b)));
419    m.insert("WindContPType4bIEC", |b| Box::new(super::WindContPType4bIEC::from_block(b)));
420    m.insert("WindContPitchAngleIEC", |b| Box::new(super::WindContPitchAngleIEC::from_block(b)));
421    m.insert("WindContQIEC", |b| Box::new(super::WindContQIEC::from_block(b)));
422    m.insert("WindContQLimIEC", |b| Box::new(super::WindContQLimIEC::from_block(b)));
423    m.insert("WindContQPQULimIEC", |b| Box::new(super::WindContQPQULimIEC::from_block(b)));
424    m.insert("WindContRotorRIEC", |b| Box::new(super::WindContRotorRIEC::from_block(b)));
425    m.insert("WindDynamicsLookupTable", |b| Box::new(super::WindDynamicsLookupTable::from_block(b)));
426    m.insert("WindGenTurbineType1aIEC", |b| Box::new(super::WindGenTurbineType1aIEC::from_block(b)));
427    m.insert("WindGenTurbineType1bIEC", |b| Box::new(super::WindGenTurbineType1bIEC::from_block(b)));
428    m.insert("WindGenTurbineType2IEC", |b| Box::new(super::WindGenTurbineType2IEC::from_block(b)));
429    m.insert("WindGenType3IEC", |b| Box::new(super::WindGenType3IEC::from_block(b)));
430    m.insert("WindGenType3aIEC", |b| Box::new(super::WindGenType3aIEC::from_block(b)));
431    m.insert("WindGenType3bIEC", |b| Box::new(super::WindGenType3bIEC::from_block(b)));
432    m.insert("WindGenType4IEC", |b| Box::new(super::WindGenType4IEC::from_block(b)));
433    m.insert("WindGeneratingUnit", |b| Box::new(super::WindGeneratingUnit::from_block(b)));
434    m.insert("WindMechIEC", |b| Box::new(super::WindMechIEC::from_block(b)));
435    m.insert("WindPitchContPowerIEC", |b| Box::new(super::WindPitchContPowerIEC::from_block(b)));
436    m.insert("WindPlantDynamics", |b| Box::new(super::WindPlantDynamics::from_block(b)));
437    m.insert("WindPlantFreqPcontrolIEC", |b| Box::new(super::WindPlantFreqPcontrolIEC::from_block(b)));
438    m.insert("WindPlantIEC", |b| Box::new(super::WindPlantIEC::from_block(b)));
439    m.insert("WindPlantReactiveControlIEC", |b| Box::new(super::WindPlantReactiveControlIEC::from_block(b)));
440    m.insert("WindPlantUserDefined", |b| Box::new(super::WindPlantUserDefined::from_block(b)));
441    m.insert("WindPowerPlant", |b| Box::new(super::WindPowerPlant::from_block(b)));
442    m.insert("WindProtectionIEC", |b| Box::new(super::WindProtectionIEC::from_block(b)));
443    m.insert("WindRefFrameRotIEC", |b| Box::new(super::WindRefFrameRotIEC::from_block(b)));
444    m.insert("WindTurbineType1or2Dynamics", |b| Box::new(super::WindTurbineType1or2Dynamics::from_block(b)));
445    m.insert("WindTurbineType1or2IEC", |b| Box::new(super::WindTurbineType1or2IEC::from_block(b)));
446    m.insert("WindTurbineType3IEC", |b| Box::new(super::WindTurbineType3IEC::from_block(b)));
447    m.insert("WindTurbineType3or4Dynamics", |b| Box::new(super::WindTurbineType3or4Dynamics::from_block(b)));
448    m.insert("WindTurbineType3or4IEC", |b| Box::new(super::WindTurbineType3or4IEC::from_block(b)));
449    m.insert("WindTurbineType4IEC", |b| Box::new(super::WindTurbineType4IEC::from_block(b)));
450    m.insert("WindTurbineType4aIEC", |b| Box::new(super::WindTurbineType4aIEC::from_block(b)));
451    m.insert("WindTurbineType4bIEC", |b| Box::new(super::WindTurbineType4bIEC::from_block(b)));
452    m.insert("WindType1or2UserDefined", |b| Box::new(super::WindType1or2UserDefined::from_block(b)));
453    m.insert("WindType3or4UserDefined", |b| Box::new(super::WindType3or4UserDefined::from_block(b)));
454    m.insert("WorkLocation", |b| Box::new(super::WorkLocation::from_block(b)));
455    m
456}
457
458pub type JsonParseFn = fn(serde_json::Value) -> Result<Box<dyn CimElement>, serde_json::Error>;
459
460pub fn json_registry() -> HashMap<&'static str, JsonParseFn> {
461    let mut m: HashMap<&'static str, JsonParseFn> = HashMap::new();
462    m.insert("ACDCConverter", |v| Ok(Box::new(serde_json::from_value::<super::ACDCConverter>(v)?)));
463    m.insert("ACDCConverterDCTerminal", |v| Ok(Box::new(serde_json::from_value::<super::ACDCConverterDCTerminal>(v)?)));
464    m.insert("ACDCTerminal", |v| Ok(Box::new(serde_json::from_value::<super::ACDCTerminal>(v)?)));
465    m.insert("ACLineSegment", |v| Ok(Box::new(serde_json::from_value::<super::ACLineSegment>(v)?)));
466    m.insert("Accumulator", |v| Ok(Box::new(serde_json::from_value::<super::Accumulator>(v)?)));
467    m.insert("AccumulatorLimit", |v| Ok(Box::new(serde_json::from_value::<super::AccumulatorLimit>(v)?)));
468    m.insert("AccumulatorLimitSet", |v| Ok(Box::new(serde_json::from_value::<super::AccumulatorLimitSet>(v)?)));
469    m.insert("AccumulatorReset", |v| Ok(Box::new(serde_json::from_value::<super::AccumulatorReset>(v)?)));
470    m.insert("AccumulatorValue", |v| Ok(Box::new(serde_json::from_value::<super::AccumulatorValue>(v)?)));
471    m.insert("ActivePowerLimit", |v| Ok(Box::new(serde_json::from_value::<super::ActivePowerLimit>(v)?)));
472    m.insert("Analog", |v| Ok(Box::new(serde_json::from_value::<super::Analog>(v)?)));
473    m.insert("AnalogControl", |v| Ok(Box::new(serde_json::from_value::<super::AnalogControl>(v)?)));
474    m.insert("AnalogLimit", |v| Ok(Box::new(serde_json::from_value::<super::AnalogLimit>(v)?)));
475    m.insert("AnalogLimitSet", |v| Ok(Box::new(serde_json::from_value::<super::AnalogLimitSet>(v)?)));
476    m.insert("AnalogValue", |v| Ok(Box::new(serde_json::from_value::<super::AnalogValue>(v)?)));
477    m.insert("ApparentPowerLimit", |v| Ok(Box::new(serde_json::from_value::<super::ApparentPowerLimit>(v)?)));
478    m.insert("AsynchronousMachine", |v| Ok(Box::new(serde_json::from_value::<super::AsynchronousMachine>(v)?)));
479    m.insert("AsynchronousMachineDynamics", |v| Ok(Box::new(serde_json::from_value::<super::AsynchronousMachineDynamics>(v)?)));
480    m.insert("AsynchronousMachineEquivalentCircuit", |v| Ok(Box::new(serde_json::from_value::<super::AsynchronousMachineEquivalentCircuit>(v)?)));
481    m.insert("AsynchronousMachineTimeConstantReactance", |v| Ok(Box::new(serde_json::from_value::<super::AsynchronousMachineTimeConstantReactance>(v)?)));
482    m.insert("AsynchronousMachineUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::AsynchronousMachineUserDefined>(v)?)));
483    m.insert("AuxiliaryEquipment", |v| Ok(Box::new(serde_json::from_value::<super::AuxiliaryEquipment>(v)?)));
484    m.insert("BaseVoltage", |v| Ok(Box::new(serde_json::from_value::<super::BaseVoltage>(v)?)));
485    m.insert("BasicIntervalSchedule", |v| Ok(Box::new(serde_json::from_value::<super::BasicIntervalSchedule>(v)?)));
486    m.insert("BatteryUnit", |v| Ok(Box::new(serde_json::from_value::<super::BatteryUnit>(v)?)));
487    m.insert("Bay", |v| Ok(Box::new(serde_json::from_value::<super::Bay>(v)?)));
488    m.insert("BoundaryPoint", |v| Ok(Box::new(serde_json::from_value::<super::BoundaryPoint>(v)?)));
489    m.insert("Breaker", |v| Ok(Box::new(serde_json::from_value::<super::Breaker>(v)?)));
490    m.insert("BusNameMarker", |v| Ok(Box::new(serde_json::from_value::<super::BusNameMarker>(v)?)));
491    m.insert("BusbarSection", |v| Ok(Box::new(serde_json::from_value::<super::BusbarSection>(v)?)));
492    m.insert("CAESPlant", |v| Ok(Box::new(serde_json::from_value::<super::CAESPlant>(v)?)));
493    m.insert("CSCDynamics", |v| Ok(Box::new(serde_json::from_value::<super::CSCDynamics>(v)?)));
494    m.insert("CSCUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::CSCUserDefined>(v)?)));
495    m.insert("Clamp", |v| Ok(Box::new(serde_json::from_value::<super::Clamp>(v)?)));
496    m.insert("CogenerationPlant", |v| Ok(Box::new(serde_json::from_value::<super::CogenerationPlant>(v)?)));
497    m.insert("CombinedCyclePlant", |v| Ok(Box::new(serde_json::from_value::<super::CombinedCyclePlant>(v)?)));
498    m.insert("Command", |v| Ok(Box::new(serde_json::from_value::<super::Command>(v)?)));
499    m.insert("ConductingEquipment", |v| Ok(Box::new(serde_json::from_value::<super::ConductingEquipment>(v)?)));
500    m.insert("Conductor", |v| Ok(Box::new(serde_json::from_value::<super::Conductor>(v)?)));
501    m.insert("ConformLoad", |v| Ok(Box::new(serde_json::from_value::<super::ConformLoad>(v)?)));
502    m.insert("ConformLoadGroup", |v| Ok(Box::new(serde_json::from_value::<super::ConformLoadGroup>(v)?)));
503    m.insert("ConformLoadSchedule", |v| Ok(Box::new(serde_json::from_value::<super::ConformLoadSchedule>(v)?)));
504    m.insert("ConnectivityNode", |v| Ok(Box::new(serde_json::from_value::<super::ConnectivityNode>(v)?)));
505    m.insert("ConnectivityNodeContainer", |v| Ok(Box::new(serde_json::from_value::<super::ConnectivityNodeContainer>(v)?)));
506    m.insert("Connector", |v| Ok(Box::new(serde_json::from_value::<super::Connector>(v)?)));
507    m.insert("Control", |v| Ok(Box::new(serde_json::from_value::<super::Control>(v)?)));
508    m.insert("ControlArea", |v| Ok(Box::new(serde_json::from_value::<super::ControlArea>(v)?)));
509    m.insert("ControlAreaGeneratingUnit", |v| Ok(Box::new(serde_json::from_value::<super::ControlAreaGeneratingUnit>(v)?)));
510    m.insert("CoordinateSystem", |v| Ok(Box::new(serde_json::from_value::<super::CoordinateSystem>(v)?)));
511    m.insert("CrossCompoundTurbineGovernorDynamics", |v| Ok(Box::new(serde_json::from_value::<super::CrossCompoundTurbineGovernorDynamics>(v)?)));
512    m.insert("CsConverter", |v| Ok(Box::new(serde_json::from_value::<super::CsConverter>(v)?)));
513    m.insert("CurrentLimit", |v| Ok(Box::new(serde_json::from_value::<super::CurrentLimit>(v)?)));
514    m.insert("CurrentTransformer", |v| Ok(Box::new(serde_json::from_value::<super::CurrentTransformer>(v)?)));
515    m.insert("Curve", |v| Ok(Box::new(serde_json::from_value::<super::Curve>(v)?)));
516    m.insert("CurveData", |v| Ok(Box::new(serde_json::from_value::<super::CurveData>(v)?)));
517    m.insert("Cut", |v| Ok(Box::new(serde_json::from_value::<super::Cut>(v)?)));
518    m.insert("DCBaseTerminal", |v| Ok(Box::new(serde_json::from_value::<super::DCBaseTerminal>(v)?)));
519    m.insert("DCBreaker", |v| Ok(Box::new(serde_json::from_value::<super::DCBreaker>(v)?)));
520    m.insert("DCBusbar", |v| Ok(Box::new(serde_json::from_value::<super::DCBusbar>(v)?)));
521    m.insert("DCChopper", |v| Ok(Box::new(serde_json::from_value::<super::DCChopper>(v)?)));
522    m.insert("DCConductingEquipment", |v| Ok(Box::new(serde_json::from_value::<super::DCConductingEquipment>(v)?)));
523    m.insert("DCConverterUnit", |v| Ok(Box::new(serde_json::from_value::<super::DCConverterUnit>(v)?)));
524    m.insert("DCDisconnector", |v| Ok(Box::new(serde_json::from_value::<super::DCDisconnector>(v)?)));
525    m.insert("DCEquipmentContainer", |v| Ok(Box::new(serde_json::from_value::<super::DCEquipmentContainer>(v)?)));
526    m.insert("DCGround", |v| Ok(Box::new(serde_json::from_value::<super::DCGround>(v)?)));
527    m.insert("DCLine", |v| Ok(Box::new(serde_json::from_value::<super::DCLine>(v)?)));
528    m.insert("DCLineSegment", |v| Ok(Box::new(serde_json::from_value::<super::DCLineSegment>(v)?)));
529    m.insert("DCNode", |v| Ok(Box::new(serde_json::from_value::<super::DCNode>(v)?)));
530    m.insert("DCSeriesDevice", |v| Ok(Box::new(serde_json::from_value::<super::DCSeriesDevice>(v)?)));
531    m.insert("DCShunt", |v| Ok(Box::new(serde_json::from_value::<super::DCShunt>(v)?)));
532    m.insert("DCSwitch", |v| Ok(Box::new(serde_json::from_value::<super::DCSwitch>(v)?)));
533    m.insert("DCTerminal", |v| Ok(Box::new(serde_json::from_value::<super::DCTerminal>(v)?)));
534    m.insert("DCTopologicalIsland", |v| Ok(Box::new(serde_json::from_value::<super::DCTopologicalIsland>(v)?)));
535    m.insert("DCTopologicalNode", |v| Ok(Box::new(serde_json::from_value::<super::DCTopologicalNode>(v)?)));
536    m.insert("DayType", |v| Ok(Box::new(serde_json::from_value::<super::DayType>(v)?)));
537    m.insert("Diagram", |v| Ok(Box::new(serde_json::from_value::<super::Diagram>(v)?)));
538    m.insert("DiagramObject", |v| Ok(Box::new(serde_json::from_value::<super::DiagramObject>(v)?)));
539    m.insert("DiagramObjectGluePoint", |v| Ok(Box::new(serde_json::from_value::<super::DiagramObjectGluePoint>(v)?)));
540    m.insert("DiagramObjectPoint", |v| Ok(Box::new(serde_json::from_value::<super::DiagramObjectPoint>(v)?)));
541    m.insert("DiagramObjectStyle", |v| Ok(Box::new(serde_json::from_value::<super::DiagramObjectStyle>(v)?)));
542    m.insert("DiagramStyle", |v| Ok(Box::new(serde_json::from_value::<super::DiagramStyle>(v)?)));
543    m.insert("DifferenceModel", |v| Ok(Box::new(serde_json::from_value::<super::DifferenceModel>(v)?)));
544    m.insert("DiscExcContIEEEDEC1A", |v| Ok(Box::new(serde_json::from_value::<super::DiscExcContIEEEDEC1A>(v)?)));
545    m.insert("DiscExcContIEEEDEC2A", |v| Ok(Box::new(serde_json::from_value::<super::DiscExcContIEEEDEC2A>(v)?)));
546    m.insert("DiscExcContIEEEDEC3A", |v| Ok(Box::new(serde_json::from_value::<super::DiscExcContIEEEDEC3A>(v)?)));
547    m.insert("DisconnectingCircuitBreaker", |v| Ok(Box::new(serde_json::from_value::<super::DisconnectingCircuitBreaker>(v)?)));
548    m.insert("Disconnector", |v| Ok(Box::new(serde_json::from_value::<super::Disconnector>(v)?)));
549    m.insert("DiscontinuousExcitationControlDynamics", |v| Ok(Box::new(serde_json::from_value::<super::DiscontinuousExcitationControlDynamics>(v)?)));
550    m.insert("DiscontinuousExcitationControlUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::DiscontinuousExcitationControlUserDefined>(v)?)));
551    m.insert("Discrete", |v| Ok(Box::new(serde_json::from_value::<super::Discrete>(v)?)));
552    m.insert("DiscreteValue", |v| Ok(Box::new(serde_json::from_value::<super::DiscreteValue>(v)?)));
553    m.insert("DynamicsFunctionBlock", |v| Ok(Box::new(serde_json::from_value::<super::DynamicsFunctionBlock>(v)?)));
554    m.insert("EarthFaultCompensator", |v| Ok(Box::new(serde_json::from_value::<super::EarthFaultCompensator>(v)?)));
555    m.insert("EnergyArea", |v| Ok(Box::new(serde_json::from_value::<super::EnergyArea>(v)?)));
556    m.insert("EnergyConnection", |v| Ok(Box::new(serde_json::from_value::<super::EnergyConnection>(v)?)));
557    m.insert("EnergyConsumer", |v| Ok(Box::new(serde_json::from_value::<super::EnergyConsumer>(v)?)));
558    m.insert("EnergySchedulingType", |v| Ok(Box::new(serde_json::from_value::<super::EnergySchedulingType>(v)?)));
559    m.insert("EnergySource", |v| Ok(Box::new(serde_json::from_value::<super::EnergySource>(v)?)));
560    m.insert("Equipment", |v| Ok(Box::new(serde_json::from_value::<super::Equipment>(v)?)));
561    m.insert("EquipmentContainer", |v| Ok(Box::new(serde_json::from_value::<super::EquipmentContainer>(v)?)));
562    m.insert("EquivalentBranch", |v| Ok(Box::new(serde_json::from_value::<super::EquivalentBranch>(v)?)));
563    m.insert("EquivalentEquipment", |v| Ok(Box::new(serde_json::from_value::<super::EquivalentEquipment>(v)?)));
564    m.insert("EquivalentInjection", |v| Ok(Box::new(serde_json::from_value::<super::EquivalentInjection>(v)?)));
565    m.insert("EquivalentNetwork", |v| Ok(Box::new(serde_json::from_value::<super::EquivalentNetwork>(v)?)));
566    m.insert("EquivalentShunt", |v| Ok(Box::new(serde_json::from_value::<super::EquivalentShunt>(v)?)));
567    m.insert("ExcAC1A", |v| Ok(Box::new(serde_json::from_value::<super::ExcAC1A>(v)?)));
568    m.insert("ExcAC2A", |v| Ok(Box::new(serde_json::from_value::<super::ExcAC2A>(v)?)));
569    m.insert("ExcAC3A", |v| Ok(Box::new(serde_json::from_value::<super::ExcAC3A>(v)?)));
570    m.insert("ExcAC4A", |v| Ok(Box::new(serde_json::from_value::<super::ExcAC4A>(v)?)));
571    m.insert("ExcAC5A", |v| Ok(Box::new(serde_json::from_value::<super::ExcAC5A>(v)?)));
572    m.insert("ExcAC6A", |v| Ok(Box::new(serde_json::from_value::<super::ExcAC6A>(v)?)));
573    m.insert("ExcAC8B", |v| Ok(Box::new(serde_json::from_value::<super::ExcAC8B>(v)?)));
574    m.insert("ExcANS", |v| Ok(Box::new(serde_json::from_value::<super::ExcANS>(v)?)));
575    m.insert("ExcAVR1", |v| Ok(Box::new(serde_json::from_value::<super::ExcAVR1>(v)?)));
576    m.insert("ExcAVR2", |v| Ok(Box::new(serde_json::from_value::<super::ExcAVR2>(v)?)));
577    m.insert("ExcAVR3", |v| Ok(Box::new(serde_json::from_value::<super::ExcAVR3>(v)?)));
578    m.insert("ExcAVR4", |v| Ok(Box::new(serde_json::from_value::<super::ExcAVR4>(v)?)));
579    m.insert("ExcAVR5", |v| Ok(Box::new(serde_json::from_value::<super::ExcAVR5>(v)?)));
580    m.insert("ExcAVR7", |v| Ok(Box::new(serde_json::from_value::<super::ExcAVR7>(v)?)));
581    m.insert("ExcBBC", |v| Ok(Box::new(serde_json::from_value::<super::ExcBBC>(v)?)));
582    m.insert("ExcCZ", |v| Ok(Box::new(serde_json::from_value::<super::ExcCZ>(v)?)));
583    m.insert("ExcDC1A", |v| Ok(Box::new(serde_json::from_value::<super::ExcDC1A>(v)?)));
584    m.insert("ExcDC2A", |v| Ok(Box::new(serde_json::from_value::<super::ExcDC2A>(v)?)));
585    m.insert("ExcDC3A", |v| Ok(Box::new(serde_json::from_value::<super::ExcDC3A>(v)?)));
586    m.insert("ExcDC3A1", |v| Ok(Box::new(serde_json::from_value::<super::ExcDC3A1>(v)?)));
587    m.insert("ExcELIN1", |v| Ok(Box::new(serde_json::from_value::<super::ExcELIN1>(v)?)));
588    m.insert("ExcELIN2", |v| Ok(Box::new(serde_json::from_value::<super::ExcELIN2>(v)?)));
589    m.insert("ExcHU", |v| Ok(Box::new(serde_json::from_value::<super::ExcHU>(v)?)));
590    m.insert("ExcIEEEAC1A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEAC1A>(v)?)));
591    m.insert("ExcIEEEAC2A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEAC2A>(v)?)));
592    m.insert("ExcIEEEAC3A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEAC3A>(v)?)));
593    m.insert("ExcIEEEAC4A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEAC4A>(v)?)));
594    m.insert("ExcIEEEAC5A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEAC5A>(v)?)));
595    m.insert("ExcIEEEAC6A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEAC6A>(v)?)));
596    m.insert("ExcIEEEAC7B", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEAC7B>(v)?)));
597    m.insert("ExcIEEEAC8B", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEAC8B>(v)?)));
598    m.insert("ExcIEEEDC1A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEDC1A>(v)?)));
599    m.insert("ExcIEEEDC2A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEDC2A>(v)?)));
600    m.insert("ExcIEEEDC3A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEDC3A>(v)?)));
601    m.insert("ExcIEEEDC4B", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEDC4B>(v)?)));
602    m.insert("ExcIEEEST1A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEST1A>(v)?)));
603    m.insert("ExcIEEEST2A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEST2A>(v)?)));
604    m.insert("ExcIEEEST3A", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEST3A>(v)?)));
605    m.insert("ExcIEEEST4B", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEST4B>(v)?)));
606    m.insert("ExcIEEEST5B", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEST5B>(v)?)));
607    m.insert("ExcIEEEST6B", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEST6B>(v)?)));
608    m.insert("ExcIEEEST7B", |v| Ok(Box::new(serde_json::from_value::<super::ExcIEEEST7B>(v)?)));
609    m.insert("ExcNI", |v| Ok(Box::new(serde_json::from_value::<super::ExcNI>(v)?)));
610    m.insert("ExcOEX3T", |v| Ok(Box::new(serde_json::from_value::<super::ExcOEX3T>(v)?)));
611    m.insert("ExcPIC", |v| Ok(Box::new(serde_json::from_value::<super::ExcPIC>(v)?)));
612    m.insert("ExcREXS", |v| Ok(Box::new(serde_json::from_value::<super::ExcREXS>(v)?)));
613    m.insert("ExcRQB", |v| Ok(Box::new(serde_json::from_value::<super::ExcRQB>(v)?)));
614    m.insert("ExcSCRX", |v| Ok(Box::new(serde_json::from_value::<super::ExcSCRX>(v)?)));
615    m.insert("ExcSEXS", |v| Ok(Box::new(serde_json::from_value::<super::ExcSEXS>(v)?)));
616    m.insert("ExcSK", |v| Ok(Box::new(serde_json::from_value::<super::ExcSK>(v)?)));
617    m.insert("ExcST1A", |v| Ok(Box::new(serde_json::from_value::<super::ExcST1A>(v)?)));
618    m.insert("ExcST2A", |v| Ok(Box::new(serde_json::from_value::<super::ExcST2A>(v)?)));
619    m.insert("ExcST3A", |v| Ok(Box::new(serde_json::from_value::<super::ExcST3A>(v)?)));
620    m.insert("ExcST4B", |v| Ok(Box::new(serde_json::from_value::<super::ExcST4B>(v)?)));
621    m.insert("ExcST6B", |v| Ok(Box::new(serde_json::from_value::<super::ExcST6B>(v)?)));
622    m.insert("ExcST7B", |v| Ok(Box::new(serde_json::from_value::<super::ExcST7B>(v)?)));
623    m.insert("ExcitationSystemDynamics", |v| Ok(Box::new(serde_json::from_value::<super::ExcitationSystemDynamics>(v)?)));
624    m.insert("ExcitationSystemUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::ExcitationSystemUserDefined>(v)?)));
625    m.insert("ExternalNetworkInjection", |v| Ok(Box::new(serde_json::from_value::<super::ExternalNetworkInjection>(v)?)));
626    m.insert("FaultIndicator", |v| Ok(Box::new(serde_json::from_value::<super::FaultIndicator>(v)?)));
627    m.insert("FossilFuel", |v| Ok(Box::new(serde_json::from_value::<super::FossilFuel>(v)?)));
628    m.insert("FullModel", |v| Ok(Box::new(serde_json::from_value::<super::FullModel>(v)?)));
629    m.insert("Fuse", |v| Ok(Box::new(serde_json::from_value::<super::Fuse>(v)?)));
630    m.insert("GenICompensationForGenJ", |v| Ok(Box::new(serde_json::from_value::<super::GenICompensationForGenJ>(v)?)));
631    m.insert("GeneratingUnit", |v| Ok(Box::new(serde_json::from_value::<super::GeneratingUnit>(v)?)));
632    m.insert("GeographicalRegion", |v| Ok(Box::new(serde_json::from_value::<super::GeographicalRegion>(v)?)));
633    m.insert("GovCT1", |v| Ok(Box::new(serde_json::from_value::<super::GovCT1>(v)?)));
634    m.insert("GovCT2", |v| Ok(Box::new(serde_json::from_value::<super::GovCT2>(v)?)));
635    m.insert("GovGAST", |v| Ok(Box::new(serde_json::from_value::<super::GovGAST>(v)?)));
636    m.insert("GovGAST1", |v| Ok(Box::new(serde_json::from_value::<super::GovGAST1>(v)?)));
637    m.insert("GovGAST2", |v| Ok(Box::new(serde_json::from_value::<super::GovGAST2>(v)?)));
638    m.insert("GovGAST3", |v| Ok(Box::new(serde_json::from_value::<super::GovGAST3>(v)?)));
639    m.insert("GovGAST4", |v| Ok(Box::new(serde_json::from_value::<super::GovGAST4>(v)?)));
640    m.insert("GovGASTWD", |v| Ok(Box::new(serde_json::from_value::<super::GovGASTWD>(v)?)));
641    m.insert("GovHydro1", |v| Ok(Box::new(serde_json::from_value::<super::GovHydro1>(v)?)));
642    m.insert("GovHydro2", |v| Ok(Box::new(serde_json::from_value::<super::GovHydro2>(v)?)));
643    m.insert("GovHydro3", |v| Ok(Box::new(serde_json::from_value::<super::GovHydro3>(v)?)));
644    m.insert("GovHydro4", |v| Ok(Box::new(serde_json::from_value::<super::GovHydro4>(v)?)));
645    m.insert("GovHydroDD", |v| Ok(Box::new(serde_json::from_value::<super::GovHydroDD>(v)?)));
646    m.insert("GovHydroFrancis", |v| Ok(Box::new(serde_json::from_value::<super::GovHydroFrancis>(v)?)));
647    m.insert("GovHydroIEEE0", |v| Ok(Box::new(serde_json::from_value::<super::GovHydroIEEE0>(v)?)));
648    m.insert("GovHydroIEEE2", |v| Ok(Box::new(serde_json::from_value::<super::GovHydroIEEE2>(v)?)));
649    m.insert("GovHydroPID", |v| Ok(Box::new(serde_json::from_value::<super::GovHydroPID>(v)?)));
650    m.insert("GovHydroPID2", |v| Ok(Box::new(serde_json::from_value::<super::GovHydroPID2>(v)?)));
651    m.insert("GovHydroPelton", |v| Ok(Box::new(serde_json::from_value::<super::GovHydroPelton>(v)?)));
652    m.insert("GovHydroR", |v| Ok(Box::new(serde_json::from_value::<super::GovHydroR>(v)?)));
653    m.insert("GovHydroWEH", |v| Ok(Box::new(serde_json::from_value::<super::GovHydroWEH>(v)?)));
654    m.insert("GovHydroWPID", |v| Ok(Box::new(serde_json::from_value::<super::GovHydroWPID>(v)?)));
655    m.insert("GovSteam0", |v| Ok(Box::new(serde_json::from_value::<super::GovSteam0>(v)?)));
656    m.insert("GovSteam1", |v| Ok(Box::new(serde_json::from_value::<super::GovSteam1>(v)?)));
657    m.insert("GovSteam2", |v| Ok(Box::new(serde_json::from_value::<super::GovSteam2>(v)?)));
658    m.insert("GovSteamBB", |v| Ok(Box::new(serde_json::from_value::<super::GovSteamBB>(v)?)));
659    m.insert("GovSteamCC", |v| Ok(Box::new(serde_json::from_value::<super::GovSteamCC>(v)?)));
660    m.insert("GovSteamEU", |v| Ok(Box::new(serde_json::from_value::<super::GovSteamEU>(v)?)));
661    m.insert("GovSteamFV2", |v| Ok(Box::new(serde_json::from_value::<super::GovSteamFV2>(v)?)));
662    m.insert("GovSteamFV3", |v| Ok(Box::new(serde_json::from_value::<super::GovSteamFV3>(v)?)));
663    m.insert("GovSteamFV4", |v| Ok(Box::new(serde_json::from_value::<super::GovSteamFV4>(v)?)));
664    m.insert("GovSteamIEEE1", |v| Ok(Box::new(serde_json::from_value::<super::GovSteamIEEE1>(v)?)));
665    m.insert("GovSteamSGO", |v| Ok(Box::new(serde_json::from_value::<super::GovSteamSGO>(v)?)));
666    m.insert("GrossToNetActivePowerCurve", |v| Ok(Box::new(serde_json::from_value::<super::GrossToNetActivePowerCurve>(v)?)));
667    m.insert("Ground", |v| Ok(Box::new(serde_json::from_value::<super::Ground>(v)?)));
668    m.insert("GroundDisconnector", |v| Ok(Box::new(serde_json::from_value::<super::GroundDisconnector>(v)?)));
669    m.insert("GroundingImpedance", |v| Ok(Box::new(serde_json::from_value::<super::GroundingImpedance>(v)?)));
670    m.insert("HVDCDynamics", |v| Ok(Box::new(serde_json::from_value::<super::HVDCDynamics>(v)?)));
671    m.insert("HydroGeneratingUnit", |v| Ok(Box::new(serde_json::from_value::<super::HydroGeneratingUnit>(v)?)));
672    m.insert("HydroPowerPlant", |v| Ok(Box::new(serde_json::from_value::<super::HydroPowerPlant>(v)?)));
673    m.insert("HydroPump", |v| Ok(Box::new(serde_json::from_value::<super::HydroPump>(v)?)));
674    m.insert("IOPoint", |v| Ok(Box::new(serde_json::from_value::<super::IOPoint>(v)?)));
675    m.insert("IdentifiedObject", |v| Ok(Box::new(serde_json::from_value::<super::IdentifiedObject>(v)?)));
676    m.insert("Jumper", |v| Ok(Box::new(serde_json::from_value::<super::Jumper>(v)?)));
677    m.insert("Junction", |v| Ok(Box::new(serde_json::from_value::<super::Junction>(v)?)));
678    m.insert("Limit", |v| Ok(Box::new(serde_json::from_value::<super::Limit>(v)?)));
679    m.insert("LimitKind", |v| Ok(Box::new(serde_json::from_value::<super::LimitKind>(v)?)));
680    m.insert("LimitSet", |v| Ok(Box::new(serde_json::from_value::<super::LimitSet>(v)?)));
681    m.insert("Line", |v| Ok(Box::new(serde_json::from_value::<super::Line>(v)?)));
682    m.insert("LinearShuntCompensator", |v| Ok(Box::new(serde_json::from_value::<super::LinearShuntCompensator>(v)?)));
683    m.insert("LoadAggregate", |v| Ok(Box::new(serde_json::from_value::<super::LoadAggregate>(v)?)));
684    m.insert("LoadArea", |v| Ok(Box::new(serde_json::from_value::<super::LoadArea>(v)?)));
685    m.insert("LoadBreakSwitch", |v| Ok(Box::new(serde_json::from_value::<super::LoadBreakSwitch>(v)?)));
686    m.insert("LoadComposite", |v| Ok(Box::new(serde_json::from_value::<super::LoadComposite>(v)?)));
687    m.insert("LoadDynamics", |v| Ok(Box::new(serde_json::from_value::<super::LoadDynamics>(v)?)));
688    m.insert("LoadGenericNonLinear", |v| Ok(Box::new(serde_json::from_value::<super::LoadGenericNonLinear>(v)?)));
689    m.insert("LoadGroup", |v| Ok(Box::new(serde_json::from_value::<super::LoadGroup>(v)?)));
690    m.insert("LoadMotor", |v| Ok(Box::new(serde_json::from_value::<super::LoadMotor>(v)?)));
691    m.insert("LoadResponseCharacteristic", |v| Ok(Box::new(serde_json::from_value::<super::LoadResponseCharacteristic>(v)?)));
692    m.insert("LoadStatic", |v| Ok(Box::new(serde_json::from_value::<super::LoadStatic>(v)?)));
693    m.insert("LoadUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::LoadUserDefined>(v)?)));
694    m.insert("Location", |v| Ok(Box::new(serde_json::from_value::<super::Location>(v)?)));
695    m.insert("Measurement", |v| Ok(Box::new(serde_json::from_value::<super::Measurement>(v)?)));
696    m.insert("MeasurementValue", |v| Ok(Box::new(serde_json::from_value::<super::MeasurementValue>(v)?)));
697    m.insert("MeasurementValueQuality", |v| Ok(Box::new(serde_json::from_value::<super::MeasurementValueQuality>(v)?)));
698    m.insert("MeasurementValueSource", |v| Ok(Box::new(serde_json::from_value::<super::MeasurementValueSource>(v)?)));
699    m.insert("MechLoad1", |v| Ok(Box::new(serde_json::from_value::<super::MechLoad1>(v)?)));
700    m.insert("MechanicalLoadDynamics", |v| Ok(Box::new(serde_json::from_value::<super::MechanicalLoadDynamics>(v)?)));
701    m.insert("MechanicalLoadUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::MechanicalLoadUserDefined>(v)?)));
702    m.insert("Model", |v| Ok(Box::new(serde_json::from_value::<super::Model>(v)?)));
703    m.insert("MutualCoupling", |v| Ok(Box::new(serde_json::from_value::<super::MutualCoupling>(v)?)));
704    m.insert("NonConformLoad", |v| Ok(Box::new(serde_json::from_value::<super::NonConformLoad>(v)?)));
705    m.insert("NonConformLoadGroup", |v| Ok(Box::new(serde_json::from_value::<super::NonConformLoadGroup>(v)?)));
706    m.insert("NonConformLoadSchedule", |v| Ok(Box::new(serde_json::from_value::<super::NonConformLoadSchedule>(v)?)));
707    m.insert("NonlinearShuntCompensator", |v| Ok(Box::new(serde_json::from_value::<super::NonlinearShuntCompensator>(v)?)));
708    m.insert("NonlinearShuntCompensatorPoint", |v| Ok(Box::new(serde_json::from_value::<super::NonlinearShuntCompensatorPoint>(v)?)));
709    m.insert("NuclearGeneratingUnit", |v| Ok(Box::new(serde_json::from_value::<super::NuclearGeneratingUnit>(v)?)));
710    m.insert("OperationalLimit", |v| Ok(Box::new(serde_json::from_value::<super::OperationalLimit>(v)?)));
711    m.insert("OperationalLimitSet", |v| Ok(Box::new(serde_json::from_value::<super::OperationalLimitSet>(v)?)));
712    m.insert("OperationalLimitType", |v| Ok(Box::new(serde_json::from_value::<super::OperationalLimitType>(v)?)));
713    m.insert("OverexcLim2", |v| Ok(Box::new(serde_json::from_value::<super::OverexcLim2>(v)?)));
714    m.insert("OverexcLimIEEE", |v| Ok(Box::new(serde_json::from_value::<super::OverexcLimIEEE>(v)?)));
715    m.insert("OverexcLimX1", |v| Ok(Box::new(serde_json::from_value::<super::OverexcLimX1>(v)?)));
716    m.insert("OverexcLimX2", |v| Ok(Box::new(serde_json::from_value::<super::OverexcLimX2>(v)?)));
717    m.insert("OverexcitationLimiterDynamics", |v| Ok(Box::new(serde_json::from_value::<super::OverexcitationLimiterDynamics>(v)?)));
718    m.insert("OverexcitationLimiterUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::OverexcitationLimiterUserDefined>(v)?)));
719    m.insert("PFVArControllerType1Dynamics", |v| Ok(Box::new(serde_json::from_value::<super::PFVArControllerType1Dynamics>(v)?)));
720    m.insert("PFVArControllerType1UserDefined", |v| Ok(Box::new(serde_json::from_value::<super::PFVArControllerType1UserDefined>(v)?)));
721    m.insert("PFVArControllerType2Dynamics", |v| Ok(Box::new(serde_json::from_value::<super::PFVArControllerType2Dynamics>(v)?)));
722    m.insert("PFVArControllerType2UserDefined", |v| Ok(Box::new(serde_json::from_value::<super::PFVArControllerType2UserDefined>(v)?)));
723    m.insert("PFVArType1IEEEPFController", |v| Ok(Box::new(serde_json::from_value::<super::PFVArType1IEEEPFController>(v)?)));
724    m.insert("PFVArType1IEEEVArController", |v| Ok(Box::new(serde_json::from_value::<super::PFVArType1IEEEVArController>(v)?)));
725    m.insert("PFVArType2Common1", |v| Ok(Box::new(serde_json::from_value::<super::PFVArType2Common1>(v)?)));
726    m.insert("PFVArType2IEEEPFController", |v| Ok(Box::new(serde_json::from_value::<super::PFVArType2IEEEPFController>(v)?)));
727    m.insert("PFVArType2IEEEVArController", |v| Ok(Box::new(serde_json::from_value::<super::PFVArType2IEEEVArController>(v)?)));
728    m.insert("PetersenCoil", |v| Ok(Box::new(serde_json::from_value::<super::PetersenCoil>(v)?)));
729    m.insert("PhaseTapChanger", |v| Ok(Box::new(serde_json::from_value::<super::PhaseTapChanger>(v)?)));
730    m.insert("PhaseTapChangerAsymmetrical", |v| Ok(Box::new(serde_json::from_value::<super::PhaseTapChangerAsymmetrical>(v)?)));
731    m.insert("PhaseTapChangerLinear", |v| Ok(Box::new(serde_json::from_value::<super::PhaseTapChangerLinear>(v)?)));
732    m.insert("PhaseTapChangerNonLinear", |v| Ok(Box::new(serde_json::from_value::<super::PhaseTapChangerNonLinear>(v)?)));
733    m.insert("PhaseTapChangerSymmetrical", |v| Ok(Box::new(serde_json::from_value::<super::PhaseTapChangerSymmetrical>(v)?)));
734    m.insert("PhaseTapChangerTable", |v| Ok(Box::new(serde_json::from_value::<super::PhaseTapChangerTable>(v)?)));
735    m.insert("PhaseTapChangerTablePoint", |v| Ok(Box::new(serde_json::from_value::<super::PhaseTapChangerTablePoint>(v)?)));
736    m.insert("PhaseTapChangerTabular", |v| Ok(Box::new(serde_json::from_value::<super::PhaseTapChangerTabular>(v)?)));
737    m.insert("PhotoVoltaicUnit", |v| Ok(Box::new(serde_json::from_value::<super::PhotoVoltaicUnit>(v)?)));
738    m.insert("PositionPoint", |v| Ok(Box::new(serde_json::from_value::<super::PositionPoint>(v)?)));
739    m.insert("PostLineSensor", |v| Ok(Box::new(serde_json::from_value::<super::PostLineSensor>(v)?)));
740    m.insert("PotentialTransformer", |v| Ok(Box::new(serde_json::from_value::<super::PotentialTransformer>(v)?)));
741    m.insert("PowerElectronicsConnection", |v| Ok(Box::new(serde_json::from_value::<super::PowerElectronicsConnection>(v)?)));
742    m.insert("PowerElectronicsUnit", |v| Ok(Box::new(serde_json::from_value::<super::PowerElectronicsUnit>(v)?)));
743    m.insert("PowerElectronicsWindUnit", |v| Ok(Box::new(serde_json::from_value::<super::PowerElectronicsWindUnit>(v)?)));
744    m.insert("PowerSystemResource", |v| Ok(Box::new(serde_json::from_value::<super::PowerSystemResource>(v)?)));
745    m.insert("PowerSystemStabilizerDynamics", |v| Ok(Box::new(serde_json::from_value::<super::PowerSystemStabilizerDynamics>(v)?)));
746    m.insert("PowerSystemStabilizerUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::PowerSystemStabilizerUserDefined>(v)?)));
747    m.insert("PowerTransformer", |v| Ok(Box::new(serde_json::from_value::<super::PowerTransformer>(v)?)));
748    m.insert("PowerTransformerEnd", |v| Ok(Box::new(serde_json::from_value::<super::PowerTransformerEnd>(v)?)));
749    m.insert("ProprietaryParameterDynamics", |v| Ok(Box::new(serde_json::from_value::<super::ProprietaryParameterDynamics>(v)?)));
750    m.insert("ProtectedSwitch", |v| Ok(Box::new(serde_json::from_value::<super::ProtectedSwitch>(v)?)));
751    m.insert("Pss1", |v| Ok(Box::new(serde_json::from_value::<super::Pss1>(v)?)));
752    m.insert("Pss1A", |v| Ok(Box::new(serde_json::from_value::<super::Pss1A>(v)?)));
753    m.insert("Pss2B", |v| Ok(Box::new(serde_json::from_value::<super::Pss2B>(v)?)));
754    m.insert("Pss2ST", |v| Ok(Box::new(serde_json::from_value::<super::Pss2ST>(v)?)));
755    m.insert("Pss5", |v| Ok(Box::new(serde_json::from_value::<super::Pss5>(v)?)));
756    m.insert("PssELIN2", |v| Ok(Box::new(serde_json::from_value::<super::PssELIN2>(v)?)));
757    m.insert("PssIEEE1A", |v| Ok(Box::new(serde_json::from_value::<super::PssIEEE1A>(v)?)));
758    m.insert("PssIEEE2B", |v| Ok(Box::new(serde_json::from_value::<super::PssIEEE2B>(v)?)));
759    m.insert("PssIEEE3B", |v| Ok(Box::new(serde_json::from_value::<super::PssIEEE3B>(v)?)));
760    m.insert("PssIEEE4B", |v| Ok(Box::new(serde_json::from_value::<super::PssIEEE4B>(v)?)));
761    m.insert("PssPTIST1", |v| Ok(Box::new(serde_json::from_value::<super::PssPTIST1>(v)?)));
762    m.insert("PssPTIST3", |v| Ok(Box::new(serde_json::from_value::<super::PssPTIST3>(v)?)));
763    m.insert("PssRQB", |v| Ok(Box::new(serde_json::from_value::<super::PssRQB>(v)?)));
764    m.insert("PssSB4", |v| Ok(Box::new(serde_json::from_value::<super::PssSB4>(v)?)));
765    m.insert("PssSH", |v| Ok(Box::new(serde_json::from_value::<super::PssSH>(v)?)));
766    m.insert("PssSK", |v| Ok(Box::new(serde_json::from_value::<super::PssSK>(v)?)));
767    m.insert("PssSTAB2A", |v| Ok(Box::new(serde_json::from_value::<super::PssSTAB2A>(v)?)));
768    m.insert("PssWECC", |v| Ok(Box::new(serde_json::from_value::<super::PssWECC>(v)?)));
769    m.insert("Quality61850", |v| Ok(Box::new(serde_json::from_value::<super::Quality61850>(v)?)));
770    m.insert("RaiseLowerCommand", |v| Ok(Box::new(serde_json::from_value::<super::RaiseLowerCommand>(v)?)));
771    m.insert("RatioTapChanger", |v| Ok(Box::new(serde_json::from_value::<super::RatioTapChanger>(v)?)));
772    m.insert("RatioTapChangerTable", |v| Ok(Box::new(serde_json::from_value::<super::RatioTapChangerTable>(v)?)));
773    m.insert("RatioTapChangerTablePoint", |v| Ok(Box::new(serde_json::from_value::<super::RatioTapChangerTablePoint>(v)?)));
774    m.insert("ReactiveCapabilityCurve", |v| Ok(Box::new(serde_json::from_value::<super::ReactiveCapabilityCurve>(v)?)));
775    m.insert("RegularIntervalSchedule", |v| Ok(Box::new(serde_json::from_value::<super::RegularIntervalSchedule>(v)?)));
776    m.insert("RegularTimePoint", |v| Ok(Box::new(serde_json::from_value::<super::RegularTimePoint>(v)?)));
777    m.insert("RegulatingCondEq", |v| Ok(Box::new(serde_json::from_value::<super::RegulatingCondEq>(v)?)));
778    m.insert("RegulatingControl", |v| Ok(Box::new(serde_json::from_value::<super::RegulatingControl>(v)?)));
779    m.insert("RegulationSchedule", |v| Ok(Box::new(serde_json::from_value::<super::RegulationSchedule>(v)?)));
780    m.insert("RemoteInputSignal", |v| Ok(Box::new(serde_json::from_value::<super::RemoteInputSignal>(v)?)));
781    m.insert("ReportingGroup", |v| Ok(Box::new(serde_json::from_value::<super::ReportingGroup>(v)?)));
782    m.insert("RotatingMachine", |v| Ok(Box::new(serde_json::from_value::<super::RotatingMachine>(v)?)));
783    m.insert("RotatingMachineDynamics", |v| Ok(Box::new(serde_json::from_value::<super::RotatingMachineDynamics>(v)?)));
784    m.insert("SVCControlMode", |v| Ok(Box::new(serde_json::from_value::<super::SVCControlMode>(v)?)));
785    m.insert("SVCUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::SVCUserDefined>(v)?)));
786    m.insert("Season", |v| Ok(Box::new(serde_json::from_value::<super::Season>(v)?)));
787    m.insert("SeasonDayTypeSchedule", |v| Ok(Box::new(serde_json::from_value::<super::SeasonDayTypeSchedule>(v)?)));
788    m.insert("Sensor", |v| Ok(Box::new(serde_json::from_value::<super::Sensor>(v)?)));
789    m.insert("SeriesCompensator", |v| Ok(Box::new(serde_json::from_value::<super::SeriesCompensator>(v)?)));
790    m.insert("ServiceLocation", |v| Ok(Box::new(serde_json::from_value::<super::ServiceLocation>(v)?)));
791    m.insert("SetPoint", |v| Ok(Box::new(serde_json::from_value::<super::SetPoint>(v)?)));
792    m.insert("ShuntCompensator", |v| Ok(Box::new(serde_json::from_value::<super::ShuntCompensator>(v)?)));
793    m.insert("SolarGeneratingUnit", |v| Ok(Box::new(serde_json::from_value::<super::SolarGeneratingUnit>(v)?)));
794    m.insert("SolarPowerPlant", |v| Ok(Box::new(serde_json::from_value::<super::SolarPowerPlant>(v)?)));
795    m.insert("Statements", |v| Ok(Box::new(serde_json::from_value::<super::Statements>(v)?)));
796    m.insert("StaticVarCompensator", |v| Ok(Box::new(serde_json::from_value::<super::StaticVarCompensator>(v)?)));
797    m.insert("StaticVarCompensatorDynamics", |v| Ok(Box::new(serde_json::from_value::<super::StaticVarCompensatorDynamics>(v)?)));
798    m.insert("StationSupply", |v| Ok(Box::new(serde_json::from_value::<super::StationSupply>(v)?)));
799    m.insert("Status", |v| Ok(Box::new(serde_json::from_value::<super::Status>(v)?)));
800    m.insert("StreetAddress", |v| Ok(Box::new(serde_json::from_value::<super::StreetAddress>(v)?)));
801    m.insert("StreetDetail", |v| Ok(Box::new(serde_json::from_value::<super::StreetDetail>(v)?)));
802    m.insert("StringMeasurement", |v| Ok(Box::new(serde_json::from_value::<super::StringMeasurement>(v)?)));
803    m.insert("StringMeasurementValue", |v| Ok(Box::new(serde_json::from_value::<super::StringMeasurementValue>(v)?)));
804    m.insert("SubGeographicalRegion", |v| Ok(Box::new(serde_json::from_value::<super::SubGeographicalRegion>(v)?)));
805    m.insert("SubLoadArea", |v| Ok(Box::new(serde_json::from_value::<super::SubLoadArea>(v)?)));
806    m.insert("Substation", |v| Ok(Box::new(serde_json::from_value::<super::Substation>(v)?)));
807    m.insert("SurgeArrester", |v| Ok(Box::new(serde_json::from_value::<super::SurgeArrester>(v)?)));
808    m.insert("SvInjection", |v| Ok(Box::new(serde_json::from_value::<super::SvInjection>(v)?)));
809    m.insert("SvPowerFlow", |v| Ok(Box::new(serde_json::from_value::<super::SvPowerFlow>(v)?)));
810    m.insert("SvShuntCompensatorSections", |v| Ok(Box::new(serde_json::from_value::<super::SvShuntCompensatorSections>(v)?)));
811    m.insert("SvStatus", |v| Ok(Box::new(serde_json::from_value::<super::SvStatus>(v)?)));
812    m.insert("SvSwitch", |v| Ok(Box::new(serde_json::from_value::<super::SvSwitch>(v)?)));
813    m.insert("SvTapStep", |v| Ok(Box::new(serde_json::from_value::<super::SvTapStep>(v)?)));
814    m.insert("SvVoltage", |v| Ok(Box::new(serde_json::from_value::<super::SvVoltage>(v)?)));
815    m.insert("Switch", |v| Ok(Box::new(serde_json::from_value::<super::Switch>(v)?)));
816    m.insert("SwitchSchedule", |v| Ok(Box::new(serde_json::from_value::<super::SwitchSchedule>(v)?)));
817    m.insert("SynchronousMachine", |v| Ok(Box::new(serde_json::from_value::<super::SynchronousMachine>(v)?)));
818    m.insert("SynchronousMachineDetailed", |v| Ok(Box::new(serde_json::from_value::<super::SynchronousMachineDetailed>(v)?)));
819    m.insert("SynchronousMachineDynamics", |v| Ok(Box::new(serde_json::from_value::<super::SynchronousMachineDynamics>(v)?)));
820    m.insert("SynchronousMachineEquivalentCircuit", |v| Ok(Box::new(serde_json::from_value::<super::SynchronousMachineEquivalentCircuit>(v)?)));
821    m.insert("SynchronousMachineSimplified", |v| Ok(Box::new(serde_json::from_value::<super::SynchronousMachineSimplified>(v)?)));
822    m.insert("SynchronousMachineTimeConstantReactance", |v| Ok(Box::new(serde_json::from_value::<super::SynchronousMachineTimeConstantReactance>(v)?)));
823    m.insert("SynchronousMachineUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::SynchronousMachineUserDefined>(v)?)));
824    m.insert("TapChanger", |v| Ok(Box::new(serde_json::from_value::<super::TapChanger>(v)?)));
825    m.insert("TapChangerControl", |v| Ok(Box::new(serde_json::from_value::<super::TapChangerControl>(v)?)));
826    m.insert("TapChangerTablePoint", |v| Ok(Box::new(serde_json::from_value::<super::TapChangerTablePoint>(v)?)));
827    m.insert("TapSchedule", |v| Ok(Box::new(serde_json::from_value::<super::TapSchedule>(v)?)));
828    m.insert("Terminal", |v| Ok(Box::new(serde_json::from_value::<super::Terminal>(v)?)));
829    m.insert("TextDiagramObject", |v| Ok(Box::new(serde_json::from_value::<super::TextDiagramObject>(v)?)));
830    m.insert("ThermalGeneratingUnit", |v| Ok(Box::new(serde_json::from_value::<super::ThermalGeneratingUnit>(v)?)));
831    m.insert("TieFlow", |v| Ok(Box::new(serde_json::from_value::<super::TieFlow>(v)?)));
832    m.insert("TopologicalIsland", |v| Ok(Box::new(serde_json::from_value::<super::TopologicalIsland>(v)?)));
833    m.insert("TopologicalNode", |v| Ok(Box::new(serde_json::from_value::<super::TopologicalNode>(v)?)));
834    m.insert("TownDetail", |v| Ok(Box::new(serde_json::from_value::<super::TownDetail>(v)?)));
835    m.insert("TransformerEnd", |v| Ok(Box::new(serde_json::from_value::<super::TransformerEnd>(v)?)));
836    m.insert("TurbLCFB1", |v| Ok(Box::new(serde_json::from_value::<super::TurbLCFB1>(v)?)));
837    m.insert("TurbineGovernorDynamics", |v| Ok(Box::new(serde_json::from_value::<super::TurbineGovernorDynamics>(v)?)));
838    m.insert("TurbineGovernorUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::TurbineGovernorUserDefined>(v)?)));
839    m.insert("TurbineLoadControllerDynamics", |v| Ok(Box::new(serde_json::from_value::<super::TurbineLoadControllerDynamics>(v)?)));
840    m.insert("TurbineLoadControllerUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::TurbineLoadControllerUserDefined>(v)?)));
841    m.insert("URI", |v| Ok(Box::new(serde_json::from_value::<super::URI>(v)?)));
842    m.insert("UnderexcLim2Simplified", |v| Ok(Box::new(serde_json::from_value::<super::UnderexcLim2Simplified>(v)?)));
843    m.insert("UnderexcLimIEEE1", |v| Ok(Box::new(serde_json::from_value::<super::UnderexcLimIEEE1>(v)?)));
844    m.insert("UnderexcLimIEEE2", |v| Ok(Box::new(serde_json::from_value::<super::UnderexcLimIEEE2>(v)?)));
845    m.insert("UnderexcLimX1", |v| Ok(Box::new(serde_json::from_value::<super::UnderexcLimX1>(v)?)));
846    m.insert("UnderexcLimX2", |v| Ok(Box::new(serde_json::from_value::<super::UnderexcLimX2>(v)?)));
847    m.insert("UnderexcitationLimiterDynamics", |v| Ok(Box::new(serde_json::from_value::<super::UnderexcitationLimiterDynamics>(v)?)));
848    m.insert("UnderexcitationLimiterUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::UnderexcitationLimiterUserDefined>(v)?)));
849    m.insert("VAdjIEEE", |v| Ok(Box::new(serde_json::from_value::<super::VAdjIEEE>(v)?)));
850    m.insert("VCompIEEEType1", |v| Ok(Box::new(serde_json::from_value::<super::VCompIEEEType1>(v)?)));
851    m.insert("VCompIEEEType2", |v| Ok(Box::new(serde_json::from_value::<super::VCompIEEEType2>(v)?)));
852    m.insert("VSCDynamics", |v| Ok(Box::new(serde_json::from_value::<super::VSCDynamics>(v)?)));
853    m.insert("VSCUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::VSCUserDefined>(v)?)));
854    m.insert("ValueAliasSet", |v| Ok(Box::new(serde_json::from_value::<super::ValueAliasSet>(v)?)));
855    m.insert("ValueToAlias", |v| Ok(Box::new(serde_json::from_value::<super::ValueToAlias>(v)?)));
856    m.insert("VisibilityLayer", |v| Ok(Box::new(serde_json::from_value::<super::VisibilityLayer>(v)?)));
857    m.insert("VoltageAdjusterDynamics", |v| Ok(Box::new(serde_json::from_value::<super::VoltageAdjusterDynamics>(v)?)));
858    m.insert("VoltageAdjusterUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::VoltageAdjusterUserDefined>(v)?)));
859    m.insert("VoltageCompensatorDynamics", |v| Ok(Box::new(serde_json::from_value::<super::VoltageCompensatorDynamics>(v)?)));
860    m.insert("VoltageCompensatorUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::VoltageCompensatorUserDefined>(v)?)));
861    m.insert("VoltageLevel", |v| Ok(Box::new(serde_json::from_value::<super::VoltageLevel>(v)?)));
862    m.insert("VoltageLimit", |v| Ok(Box::new(serde_json::from_value::<super::VoltageLimit>(v)?)));
863    m.insert("VsCapabilityCurve", |v| Ok(Box::new(serde_json::from_value::<super::VsCapabilityCurve>(v)?)));
864    m.insert("VsConverter", |v| Ok(Box::new(serde_json::from_value::<super::VsConverter>(v)?)));
865    m.insert("WaveTrap", |v| Ok(Box::new(serde_json::from_value::<super::WaveTrap>(v)?)));
866    m.insert("WindAeroConstIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindAeroConstIEC>(v)?)));
867    m.insert("WindAeroOneDimIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindAeroOneDimIEC>(v)?)));
868    m.insert("WindAeroTwoDimIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindAeroTwoDimIEC>(v)?)));
869    m.insert("WindContCurrLimIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindContCurrLimIEC>(v)?)));
870    m.insert("WindContPType3IEC", |v| Ok(Box::new(serde_json::from_value::<super::WindContPType3IEC>(v)?)));
871    m.insert("WindContPType4aIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindContPType4aIEC>(v)?)));
872    m.insert("WindContPType4bIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindContPType4bIEC>(v)?)));
873    m.insert("WindContPitchAngleIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindContPitchAngleIEC>(v)?)));
874    m.insert("WindContQIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindContQIEC>(v)?)));
875    m.insert("WindContQLimIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindContQLimIEC>(v)?)));
876    m.insert("WindContQPQULimIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindContQPQULimIEC>(v)?)));
877    m.insert("WindContRotorRIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindContRotorRIEC>(v)?)));
878    m.insert("WindDynamicsLookupTable", |v| Ok(Box::new(serde_json::from_value::<super::WindDynamicsLookupTable>(v)?)));
879    m.insert("WindGenTurbineType1aIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindGenTurbineType1aIEC>(v)?)));
880    m.insert("WindGenTurbineType1bIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindGenTurbineType1bIEC>(v)?)));
881    m.insert("WindGenTurbineType2IEC", |v| Ok(Box::new(serde_json::from_value::<super::WindGenTurbineType2IEC>(v)?)));
882    m.insert("WindGenType3IEC", |v| Ok(Box::new(serde_json::from_value::<super::WindGenType3IEC>(v)?)));
883    m.insert("WindGenType3aIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindGenType3aIEC>(v)?)));
884    m.insert("WindGenType3bIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindGenType3bIEC>(v)?)));
885    m.insert("WindGenType4IEC", |v| Ok(Box::new(serde_json::from_value::<super::WindGenType4IEC>(v)?)));
886    m.insert("WindGeneratingUnit", |v| Ok(Box::new(serde_json::from_value::<super::WindGeneratingUnit>(v)?)));
887    m.insert("WindMechIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindMechIEC>(v)?)));
888    m.insert("WindPitchContPowerIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindPitchContPowerIEC>(v)?)));
889    m.insert("WindPlantDynamics", |v| Ok(Box::new(serde_json::from_value::<super::WindPlantDynamics>(v)?)));
890    m.insert("WindPlantFreqPcontrolIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindPlantFreqPcontrolIEC>(v)?)));
891    m.insert("WindPlantIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindPlantIEC>(v)?)));
892    m.insert("WindPlantReactiveControlIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindPlantReactiveControlIEC>(v)?)));
893    m.insert("WindPlantUserDefined", |v| Ok(Box::new(serde_json::from_value::<super::WindPlantUserDefined>(v)?)));
894    m.insert("WindPowerPlant", |v| Ok(Box::new(serde_json::from_value::<super::WindPowerPlant>(v)?)));
895    m.insert("WindProtectionIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindProtectionIEC>(v)?)));
896    m.insert("WindRefFrameRotIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindRefFrameRotIEC>(v)?)));
897    m.insert("WindTurbineType1or2Dynamics", |v| Ok(Box::new(serde_json::from_value::<super::WindTurbineType1or2Dynamics>(v)?)));
898    m.insert("WindTurbineType1or2IEC", |v| Ok(Box::new(serde_json::from_value::<super::WindTurbineType1or2IEC>(v)?)));
899    m.insert("WindTurbineType3IEC", |v| Ok(Box::new(serde_json::from_value::<super::WindTurbineType3IEC>(v)?)));
900    m.insert("WindTurbineType3or4Dynamics", |v| Ok(Box::new(serde_json::from_value::<super::WindTurbineType3or4Dynamics>(v)?)));
901    m.insert("WindTurbineType3or4IEC", |v| Ok(Box::new(serde_json::from_value::<super::WindTurbineType3or4IEC>(v)?)));
902    m.insert("WindTurbineType4IEC", |v| Ok(Box::new(serde_json::from_value::<super::WindTurbineType4IEC>(v)?)));
903    m.insert("WindTurbineType4aIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindTurbineType4aIEC>(v)?)));
904    m.insert("WindTurbineType4bIEC", |v| Ok(Box::new(serde_json::from_value::<super::WindTurbineType4bIEC>(v)?)));
905    m.insert("WindType1or2UserDefined", |v| Ok(Box::new(serde_json::from_value::<super::WindType1or2UserDefined>(v)?)));
906    m.insert("WindType3or4UserDefined", |v| Ok(Box::new(serde_json::from_value::<super::WindType3or4UserDefined>(v)?)));
907    m.insert("WorkLocation", |v| Ok(Box::new(serde_json::from_value::<super::WorkLocation>(v)?)));
908    m
909}