Updated Vehicle API auto completion 60/31660/1
authorAlice Liu <alice.liu@intel.com>
Mon, 8 Dec 2014 12:43:22 +0000 (20:43 +0800)
committerAlice Liu <alice.liu@intel.com>
Mon, 8 Dec 2014 12:51:12 +0000 (20:51 +0800)
Updated Vehicle API auto completion according the new
spec which was published on Nov 24, 2014.

Vehcile API spec:
https://rawgit.com/w3c/automotive-bg/master/vehicle_spec.html
Vehcile data spec:
https://rawgit.com/w3c/automotive-bg/master/data_spec.html

Changed to use 'navigator.vehicle' namespace instead of
'tizen.vehicle'.

Package version up (3.0.36).

Change-Id: I2efc88e54d848b7bace1fdc33a3d49984c8e3645
Signed-off-by: Alice Liu <alice.liu@intel.com>
package/changelog
package/pkginfo.manifest
widlprocxmls/tizen.widlprocxml

index d53f3cb..f16cdd0 100644 (file)
@@ -1,3 +1,7 @@
+* 3.0.36
+- Updated Vehicle API auto completion
+== Alice Liu <alice.liu@intel.com> 2014-12-08
+
 * 3.0.35
 - Updated Modello Common libraries
 == Alice Liu <alice.liu@intel.com> 2014-11-25
index ac1c506..928ff32 100644 (file)
@@ -1,4 +1,4 @@
-Version:3.0.35
+Version:3.0.36
 Maintainer: Wenchao Wang<wenchao.wang@intel.com>
 
 Package:ivi-3.0-web-add-ons
index f531f32..ad26e69 100644 (file)
 <Definitions>
 <Module name="Vehicle" id="::Vehicle">
 <webidl>  module Vehicle {
-[NoInterfaceObject]
- interface VehicleManagerObject {
-        readonly attribute <ref>Vehicle</ref> vehicle;
- };
+interface VehicleManagerObject {
+    readonly attribute <ref>Vehicle</ref> vehicle;
+};
   
-<ref>Tizen</ref> implements <ref>VehicleManagerObject</ref>;
+<ref>Navigator</ref> implements <ref>VehicleManagerObject</ref>;
 
 [NoInterfaceObject]
 interface Vehicle {
-        readonly attribute <ref>VehicleConfigurationInterface</ref> identification;
-        readonly attribute <ref>VehicleConfigurationInterface</ref> sizeConfiguration;
-        readonly attribute <ref>VehicleConfigurationInterface</ref> fuelConfiguration;
-        readonly attribute <ref>VehicleConfigurationInterface</ref> transmissionConfiguration;
-        readonly attribute <ref>VehicleConfigurationInterface</ref> wheelConfiguration;
-        readonly attribute <ref>VehicleConfigurationInterface</ref> steeringWheelConfiguration;
-
-        readonly attribute <ref>VehicleSignalInterface</ref> vehicleSpeed;
-        readonly attribute <ref>VehicleSignalInterface</ref> wheelSpeed;
-        readonly attribute <ref>VehicleSignalInterface</ref> engineSpeed;
-        readonly attribute <ref>VehicleSignalInterface</ref> powerTrainTorque;
-        readonly attribute <ref>VehicleSignalInterface</ref> acceleratorPedalPosition;
-        readonly attribute <ref>VehicleSignalInterface</ref> throttlePosition;
-        readonly attribute <ref>VehicleSignalInterface</ref> tripMeters;
-        readonly attribute <ref>VehicleSignalInterface</ref> diagnostic;
-        readonly attribute <ref>VehicleSignalInterface</ref> transmission;
-        readonly attribute <ref>VehicleSignalInterface</ref> cruiseControlStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> lightStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> interiorLightStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> chime;
-        readonly attribute <ref>VehicleSignalInterface</ref> fuel;
-        readonly attribute <ref>VehicleSignalInterface</ref> engineOil;
-        readonly attribute <ref>VehicleSignalInterface</ref> acceleration;
-        readonly attribute <ref>VehicleSignalInterface</ref> engineCoolant;
-        readonly attribute <ref>VehicleSignalInterface</ref> steeringWheel;
-        readonly attribute <ref>VehicleSignalInterface</ref> ignitionTime;
-        readonly attribute <ref>VehicleSignalInterface</ref> yawRate;
-        readonly attribute <ref>VehicleSignalInterface</ref> brakeOperation;
-        readonly attribute <ref>VehicleSignalInterface</ref> wheelTick;
-        readonly attribute <ref>VehicleSignalInterface</ref> buttonEvent;
-        readonly attribute <ref>VehicleSignalInterface</ref> drivingMode;
-        readonly attribute <ref>VehicleSignalInterface</ref> nightMode;
-
-        readonly attribute <ref>VehicleSignalInterface</ref> odometer;
-        readonly attribute <ref>VehicleSignalInterface</ref> transmissionOil;
-        readonly attribute <ref>VehicleSignalInterface</ref> transmissionClutch;
-        readonly attribute <ref>VehicleSignalInterface</ref> brakeMaintenance;
-        readonly attribute <ref>VehicleSignalInterface</ref> washerFluid;
-        readonly attribute <ref>VehicleSignalInterface</ref> malfunctionIndicator;
-        readonly attribute <ref>VehicleSignalInterface</ref> batteryStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> tire;
-        readonly attribute <ref>VehicleInterface</ref>       diagnostic;
-
-        readonly attribute <ref>VehicleSignalInterface</ref>  driverIdentification;
-        readonly attribute <ref>VehicleSignalInterface</ref>? languageConfiguration;
-        readonly attribute <ref>VehicleSignalInterface</ref>  unitsOfMeasure;
-        readonly attribute <ref>VehicleSignalInterface</ref>  mirror;
-        readonly attribute <ref>VehicleSignalInterface</ref>  steeringWheel;
-        readonly attribute <ref>VehicleSignalInterface</ref>  driveMode;
-        readonly attribute <ref>VehicleSignalInterface</ref>  seatAdjustment;
-        readonly attribute <ref>VehicleSignalInterface</ref>  dashboardIllumination;
-        readonly attribute <ref>VehicleSignalInterface</ref>  vehicleSound;
-
-        readonly attribute <ref>VehicleSignalInterface</ref> antilockBrakingSystem;
-        readonly attribute <ref>VehicleSignalInterface</ref> tractionControlSystem;
-        readonly attribute <ref>VehicleSignalInterface</ref> electronicStabilityControl;
-        readonly attribute <ref>VehicleSignalInterface</ref> topSpeedLimit;
-        readonly attribute <ref>VehicleSignalInterface</ref> airbagStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> door;
-        readonly attribute <ref>VehicleSignalInterface</ref> childSafetyLock;
-        readonly attribute <ref>VehicleSignalInterface</ref> seat;
-
-        readonly attribute <ref>VehicleSignalInterface</ref> temperature;
-        readonly attribute <ref>VehicleSignalInterface</ref> rainSensor;
-        readonly attribute <ref>VehicleSignalInterface</ref> wiperStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> wiperSetting;
-        readonly attribute <ref>VehicleSignalInterface</ref> defrost;
-        readonly attribute <ref>VehicleSignalInterface</ref> sunroof;
-        readonly attribute <ref>VehicleSignalInterface</ref> convertibleRoof;
-        readonly attribute <ref>VehicleSignalInterface</ref> sideWindow;
-        readonly attribute <ref>VehicleSignalInterface</ref> climateControl;
-        readonly attribute <ref>VehicleSignalInterface</ref> atmosphericPressure;
-
-        readonly attribute <ref>VehicleSignalInterface</ref> laneDepartureStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> alarm;
-        readonly attribute <ref>VehicleSignalInterface</ref> parkingBrake;
-        readonly attribute <ref>VehicleSignalInterface</ref> parkingLights;
+    readonly    attribute <ref>VehicleConfigurationInterface</ref> identification;
+    readonly    attribute <ref>VehicleConfigurationInterface</ref> sizeConfiguration;
+    readonly    attribute <ref>VehicleConfigurationInterface</ref> fuelConfiguration;
+    readonly    attribute <ref>VehicleConfigurationInterface</ref> transmissionConfiguration;
+    readonly    attribute <ref>VehicleConfigurationInterface</ref> wheelConfiguration;
+    readonly    attribute <ref>VehicleSignalInterface</ref>        steeringWheelConfiguration;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref> vehicleSpeed;
+    readonly    attribute <ref>VehicleSignalInterface</ref> wheelSpeed;
+    readonly    attribute <ref>VehicleSignalInterface</ref> engineSpeed;
+    readonly    attribute <ref>VehicleSignalInterface</ref> powerTrainTorque;
+    readonly    attribute <ref>VehicleSignalInterface</ref> acceleratorPedalPosition;
+    readonly    attribute <ref>VehicleSignalInterface</ref> throttlePosition;
+    readonly    attribute <ref>VehicleSignalInterface</ref> tripMeters;
+    readonly    attribute <ref>VehicleSignalInterface</ref> transmission;
+    readonly    attribute <ref>VehicleSignalInterface</ref> cruiseControlStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> lightStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> interiorLightStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> horn;
+    readonly    attribute <ref>VehicleSignalInterface</ref> chime;
+    readonly    attribute <ref>VehicleSignalInterface</ref> fuel;
+    readonly    attribute <ref>VehicleSignalInterface</ref> engineOil;
+    readonly    attribute <ref>VehicleSignalInterface</ref> acceleration;
+    readonly    attribute <ref>VehicleSignalInterface</ref> engineCoolant;
+    readonly    attribute <ref>VehicleSignalInterface</ref> steeringWheel;
+    readonly    attribute <ref>VehicleSignalInterface</ref> ignitionTime;
+    readonly    attribute <ref>VehicleSignalInterface</ref> yawRate;
+    readonly    attribute <ref>VehicleSignalInterface</ref> brakeOperation;
+    readonly    attribute <ref>VehicleSignalInterface</ref> wheelTick;
+    readonly    attribute <ref>VehicleSignalInterface</ref> buttonEvent;
+    readonly    attribute <ref>VehicleSignalInterface</ref> drivingMode;
+    readonly    attribute <ref>VehicleSignalInterface</ref> nightMode;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref> odometer;
+    readonly    attribute <ref>VehicleSignalInterface</ref> transmissionOil;
+    readonly    attribute <ref>VehicleSignalInterface</ref> transmissionClutch;
+    readonly    attribute <ref>VehicleSignalInterface</ref> brakeMaintenance;
+    readonly    attribute <ref>VehicleSignalInterface</ref> washerFluid;
+    readonly    attribute <ref>VehicleSignalInterface</ref> malfunctionIndicator;
+    readonly    attribute <ref>VehicleSignalInterface</ref> batteryStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> tire;
+    readonly    attribute <ref>VehicleSignalInterface</ref> diagnostic;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref>? languageConfiguration;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  unitsOfMeasure;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  mirror;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  driveMode;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  seatAdjustment;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  dashboardIllumination;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  vehicleSound;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref> antilockBrakingSystem;
+    readonly    attribute <ref>VehicleSignalInterface</ref> tractionControlSystem;
+    readonly    attribute <ref>VehicleSignalInterface</ref> electronicStabilityControl;
+    readonly    attribute <ref>VehicleSignalInterface</ref> topSpeedLimit;
+    readonly    attribute <ref>VehicleSignalInterface</ref> airbagStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> door;
+    readonly    attribute <ref>VehicleSignalInterface</ref> childSafetyLock;
+    readonly    attribute <ref>VehicleSignalInterface</ref> seat;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref> temperature;
+    readonly    attribute <ref>VehicleSignalInterface</ref> rainSensor;
+    readonly    attribute <ref>VehicleSignalInterface</ref> wiperStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> wiperSetting;
+    readonly    attribute <ref>VehicleSignalInterface</ref> defrost;
+    readonly    attribute <ref>VehicleSignalInterface</ref> sunroof;
+    readonly    attribute <ref>VehicleSignalInterface</ref> convertibleRoof;
+    readonly    attribute <ref>VehicleSignalInterface</ref> sideWindow;
+    readonly    attribute <ref>VehicleSignalInterface</ref> climateControl;
+    readonly    attribute <ref>VehicleSignalInterface</ref> atmosphericPressure;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref> laneDepartureStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> alarm;
+    readonly    attribute <ref>VehicleSignalInterface</ref> parkingBrake;
+    readonly    attribute <ref>VehicleSignalInterface</ref> parkingLights;
+};
+
+enum ZonePosition {
+    &quot;front&quot;,
+    &quot;middle&quot;,
+    &quot;right&quot;,
+    &quot;left&quot;,
+    &quot;rear&quot;,
+    &quot;center&quot;
+};
+
+interface Zone {
+                attribute DOMString[] value;
+    readonly    attribute <ref>Zone</ref>        driver;
+    boolean equals (<ref>Zone</ref> zone);
+    boolean contains (<ref>Zone</ref> zone);
 };
 
 [Callback=FunctionOnly, NoInterfaceObject]
 interface VehicleInterfaceCallback {
-        void onsuccess(object value);
+    void onsuccess(object value);
 };
 
 [Callback=FunctionOnly, NoInterfaceObject]
 interface AvailableCallback {
-        void onsuccess(<ref>Availability</ref> available);
+    void onsuccess(<ref>Availability</ref> available);
 };
 
-enum Availability {
-        &quot;available&quot;, &quot;not_supported&quot;, &quot;not_supported_yet&quot;, &quot;not_supported_security_policy&quot;,
-        &quot;not_supported_business_policy&quot;, &quot;not_supported_other&quot;
+enum VehicleError {
+    &quot;permission_denied&quot;,
+    &quot;invalid_operation&quot;,
+    &quot;timeout&quot;,
+    &quot;invalid_zone&quot;,
+    &quot;unknown&quot;
 };
 
 [NoInterfaceObject]
+interface VehicleInterfaceError {
+    readonly    attribute <ref>VehicleError</ref> error;
+    readonly    attribute DOMString    message;
+};
+
 interface VehicleInterface {
-        <ref>Availability</ref> availableForRetrieval (DOMString attributeName);
-        short            availabilityChangedListener (<ref>AvailableCallback</ref> callback);
-        void         removeAvailabilityChangedListener (short handle);
-        <ref>Promise</ref>      get (optional <ref>Zone</ref> zone);
-        <ref>Promise</ref>      getHistory (Date begin, Date end, optional <ref>Zone</ref> zone);
-        readonly attribute boolean isLogged;
-        readonly attribute Date ?  from;
-        readonly attribute Date ?  to;
-        readonly attribute boolean supported;
-        readonly attribute <ref>Zone</ref>[] zones;
+    <ref>Availability</ref>   availableForRetrieval (DOMString attributeName);
+    <ref>Promise</ref>        get (optional <ref>Zone</ref> zone);
+    <ref>Promise</ref>        getHistory (Date begin, Date end, optional <ref>Zone</ref> zone);
+    short          availabilityChangedListener (<ref>AvailableCallback</ref> callback);
+    void           removeAvailabilityChangedListener (short handle);
+    readonly       attribute <ref>Zone</ref>[] zones;
+    readonly       attribute boolean supported;
+    readonly       attribute boolean isLogged;
+    readonly       attribute Date ?  from;
+    readonly       attribute Date ?  to;
 };
 
 [NoInterfaceObject]
@@ -127,255 +148,298 @@ interface VehicleConfigurationInterface : <ref>VehicleInterface</ref> {};
 interface VehicleSignalInterface : <ref>VehicleInterface</ref> {
     <ref>Availability</ref>   availableForSubscription (DOMString attributeName);
     <ref>Availability</ref>   availableForSetting (DOMString attributeName);
-        <ref>Promise</ref>        set (object value, optional <ref>Zone</ref> zone);
-        unsigned short subscribe (<ref>VehicleInterfaceCallback</ref> callback, optional <ref>Zone</ref> zone);
-        void           unsubscribe (unsigned short handle);
-};
-
-enum ZonePosition {&quot;Front&quot;, &quot;Middle&quot;, &quot;Right&quot;, &quot;Left&quot;, &quot;Rear&quot;, &quot;Center&quot;};
-
-[NoInterfaceObject]
-interface Zone {
-                         attribute DOMString[]  value;
-        readonly attribute <ref>Zone</ref> driver;
-        boolean equals (<ref>Zone</ref> zone);
-        boolean contains (<ref>Zone</ref> zone);
+    <ref>Promise</ref>        set (object value, optional <ref>Zone</ref> zone);
+    unsigned short subscribe (<ref>VehicleInterfaceCallback</ref> callback, optional <ref>Zone</ref> zone);
+    void           unsubscribe (unsigned short handle);
 };
 
-enum VehicleError {&quot;permission_denied&quot;, &quot;invalid_operation&quot;, &quot;timeout&quot;, &quot;invalid_zone&quot;, &quot;unknown&quot;};
-
-[NoInterfaceObject]
-interface VehicleInterfaceError {
-        readonly attribute <ref>VehicleError</ref> error;
-        readonly attribute DOMString    message;
+enum Availability {
+    &quot;available&quot;,
+    &quot;not_supported&quot;,
+    &quot;not_supported_yet&quot;,
+    &quot;not_supported_security_policy&quot;,
+    &quot;not_supported_business_policy&quot;,
+    &quot;not_supported_other&quot;
 };
 
 [NoInterfaceObject]
 interface VehicleCommonDataType {
-        readonly attribute <ref>DOMTimeStamp</ref>? timeStamp;
+    readonly    attribute <ref>DOMTimeStamp</ref>? timeStamp;
 };
 
-
 enum VehicleTypeEnum {
-        &quot;passengerCarMini&quot;, &quot;passengerCarLight&quot;, &quot;passengerCarCompact&quot;, &quot;passengerCarMedium&quot;,
-        &quot;passengerCarHeavy&quot;, &quot;sportUtilityVehicle&quot;, &quot;pickupTruck&quot;, &quot;van&quot;
+    &quot;passengerCarMini&quot;,
+    &quot;passengerCarLight&quot;,
+    &quot;passengerCarCompact&quot;,
+    &quot;passengerCarMedium&quot;,
+    &quot;passengerCarHeavy&quot;,
+    &quot;sportUtilityVehicle&quot;,
+    &quot;pickupTruck&quot;,
+    &quot;van&quot;
 };
 
 [NoInterfaceObject]
 interface Identification : <ref>VehicleCommonDataType</ref> {
-        readonly attribute DOMString?       VIN;
-        readonly attribute DOMString?       WMI;
-        readonly attribute <ref>VehicleTypeEnum</ref>? vehicleType;
-        readonly attribute DOMString?       brand;
-        readonly attribute DOMString?       model;
-        readonly attribute unsigned short?  year;
+    readonly    attribute DOMString?       VIN;
+    readonly    attribute DOMString?       WMI;
+    readonly    attribute <ref>VehicleTypeEnum</ref>? vehicleType;
+    readonly    attribute DOMString?       brand;
+    readonly    attribute DOMString?       model;
+    readonly    attribute unsigned short?  year;
 };
 
 [NoInterfaceObject]
 interface SizeConfiguration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short?   width;
-        readonly attribute unsigned short?   height;
-        readonly attribute unsigned short?   length;
-        readonly attribute unsigned short[]? doorsCount;
-        readonly attribute unsigned short?   totalDoors;
+    readonly    attribute unsigned short?   width;
+    readonly    attribute unsigned short?   height;
+    readonly    attribute unsigned short?   length;
+    readonly    attribute unsigned short[]? doorsCount;
+    readonly    attribute unsigned short?   totalDoors;
 };
 
 enum FuelTypeEnum {
-        &quot;gasoline&quot;, &quot;methanol&quot;, &quot;ethanol&quot;, &quot;diesel&quot;, &quot;lpg&quot;, &quot;cng&quot;, &quot;electric&quot;
+    &quot;gasoline&quot;,
+    &quot;methanol&quot;,
+    &quot;ethanol&quot;,
+    &quot;diesel&quot;,
+    &quot;lpg&quot;,
+    &quot;cng&quot;,
+    &quot;electric&quot;
 };
 
 [NoInterfaceObject]
 interface FuelConfiguration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>FuelTypeEnum</ref>[]? fuelType;
-        readonly attribute <ref>Zone</ref>?           refuelPosition;
+    readonly    attribute <ref>FuelTypeEnum</ref>[]? fuelType;
+    readonly    attribute <ref>Zone</ref>?           refuelPosition;
 };
 
-enum TransmissionGearTypeEnum {&quot;auto&quot;, &quot;manual&quot;};
+enum TransmissionGearTypeEnum {
+    &quot;auto&quot;,
+    &quot;manual&quot;
+};
 
 [NoInterfaceObject]
 interface TransmissionConfiguration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>TransmissionGearTypeEnum</ref>? transmissionGearType;
+    readonly    attribute <ref>TransmissionGearTypeEnum</ref>? transmissionGearType;
 };
 
 [NoInterfaceObject]
 interface WheelConfiguration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short? wheelRadius;
-                     attribute <ref>Zone</ref>?           zone;
+    readonly    attribute unsigned short? wheelRadius;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };
 
 [NoInterfaceObject]
 interface SteeringWheelConfiguration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean? steeringWheelLeft;
+    readonly    attribute boolean?        steeringWheelLeft;
+                attribute unsigned short? steeringWheelTelescopingPosition;
+                attribute unsigned short? steeringWheelPositionTilt;
 };
 
 [NoInterfaceObject]
 interface VehicleSpeed : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short speed;
+    readonly    attribute unsigned short speed;
 };
 
 [NoInterfaceObject]
 interface WheelSpeed : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short speed;
-                     attribute <ref>Zone</ref>?          zone;
+    readonly    attribute unsigned short speed;
+    readonly    attribute <ref>Zone</ref>?          zone;
 };
 
 [NoInterfaceObject]
 interface EngineSpeed : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long speed;
+    readonly    attribute unsigned long speed;
+};
+
+enum VehiclePowerMode {
+    &quot;off&quot;,
+    &quot;accessory1&quot;,
+    &quot;accessory2&quot;,
+    &quot;running&quot;
+};
+
+[NoInterfaceObject]
+interface VehiclePowerModeType : <ref>VehicleCommonDataType</ref> {
+    readonly    attribute <ref>VehiclePowerMode</ref> value;
 };
 
 [NoInterfaceObject]
 interface PowerTrainTorque : <ref>VehicleCommonDataType</ref> {
-        readonly attribute short value;
+    readonly    attribute short value;
 };
 
 [NoInterfaceObject]
 interface AcceleratorPedalPosition : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short value;
+    readonly    attribute unsigned short value;
 };
 
 [NoInterfaceObject]
 interface ThrottlePosition : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short value;
+    readonly    attribute unsigned short value;
 };
 
 [NoInterfaceObject]
 interface Trip {
-        readonly attribute unsigned long   distance;
-        readonly attribute unsigned short? averageSpeed;
-        readonly attribute unsigned short? fuelConsumption;
+    readonly    attribute unsigned long   distance;
+    readonly    attribute unsigned short? averageSpeed;
+    readonly    attribute unsigned short? fuelConsumption;
 };
 
 [NoInterfaceObject]
 interface TripMeters : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>Trip</ref>[] meters;
+    readonly    attribute <ref>Trip</ref>[] meters;
 };
 
-[NoInterfaceObject]
-interface Diagnostic : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long accumulatedEngineRuntime;
-        readonly attribute unsigned long distanceWithMILOn;
-        readonly attribute unsigned long distanceSinceCodeCleared;
-        readonly attribute unsigned long timeRunMILOn;
-        readonly attribute unsigned long timeTroubleCodeClear;
+enum TransmissionMode {
+    &quot;park&quot;,
+    &quot;reverse&quot;,
+    &quot;neutral&quot;,
+    &quot;low&quot;,
+    &quot;drive&quot;,
+    &quot;overdrive&quot;
 };
 
-enum TransmissionMode {&quot;park&quot;, &quot;reverse&quot;, &quot;neutral&quot;, &quot;low&quot;, &quot;drive&quot;, &quot;overdrive&quot;};
-
 [NoInterfaceObject]
 interface Transmission : <ref>VehicleCommonDataType</ref> {
-        readonly attribute octet?            gear;
-        readonly attribute <ref>TransmissionMode</ref>? mode;
+    readonly    attribute octet?            gear;
+    readonly    attribute <ref>TransmissionMode</ref>? mode;
 };
 
 [NoInterfaceObject]
 interface CruiseControlStatus : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean        status;
-        readonly attribute unsigned short speed;
+    readonly    attribute boolean        status;
+    readonly    attribute unsigned short speed;
 };
 
 [NoInterfaceObject]
 interface LightStatus : <ref>VehicleCommonDataType</ref> {
-        attribute boolean  head;
-        attribute boolean  rightTurn;
-        attribute boolean  leftTurn;
-        attribute boolean  brake;
-        attribute boolean? fog;
-        attribute boolean  hazard;
-        attribute boolean  parking;
-        attribute boolean  highBeam;
-        attribute boolean? automaticHeadlights;
-        attribute boolean? dynamicHighBeam;
-        attribute <ref>Zone</ref>?    zone;
+                attribute boolean  head;
+                attribute boolean  rightTurn;
+                attribute boolean  leftTurn;
+                attribute boolean  brake;
+                attribute boolean? fog;
+                attribute boolean  hazard;
+                attribute boolean  parking;
+                attribute boolean  highBeam;
+                attribute boolean? automaticHeadlights;
+                attribute boolean? dynamicHighBeam;
+    readonly    attribute <ref>Zone</ref>?    zone;
 };
 
 [NoInterfaceObject]
 interface InteriorLightStatus : <ref>VehicleCommonDataType</ref> {
-        attribute boolean status;
-        attribute <ref>Zone</ref>?   zone;
+                attribute boolean status;
+    readonly    attribute <ref>Zone</ref>?   zone;
 };
 
 [NoInterfaceObject]
 interface Horn : <ref>VehicleCommonDataType</ref> {
-        attribute boolean status;
+                attribute boolean status;
 };
 
 [NoInterfaceObject]
 interface Chime : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean status;
+    readonly    attribute boolean status;
 };
 
 [NoInterfaceObject]
 interface Fuel : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short level;
-        readonly attribute unsigned long  range;
-        readonly attribute unsigned long  instantConsumption;
-        readonly attribute unsigned long  averageConsumption;
-        readonly attribute unsigned long  fuelConsumedSinceRestart;
-        readonly attribute unsigned long  vehicleTimeSinceRestart;
+    readonly    attribute unsigned short? level;
+    readonly    attribute unsigned long?  range;
+    readonly    attribute unsigned long?  instantConsumption;
+                attribute unsigned long?  averageConsumption;
+    readonly    attribute unsigned long?  fuelConsumedSinceRestart;
+    readonly    attribute unsigned long?  timeSinceRestart;
 };
 
 [NoInterfaceObject]
 interface EngineOil : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short level;
-        readonly attribute unsigned short lifeRemaining;
-        readonly attribute long           temperature;
-        readonly attribute unsigned short pressure;
-        readonly attribute boolean        change;
+    readonly    attribute unsigned short level;
+    readonly    attribute unsigned short lifeRemaining;
+    readonly    attribute long           temperature;
+    readonly    attribute unsigned short pressure;
+    readonly    attribute boolean        change;
 };
 
 [NoInterfaceObject]
 interface Acceleration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long x;
-        readonly attribute unsigned long y;
-        readonly attribute unsigned long z;
+    readonly    attribute long x;
+    readonly    attribute long y;
+    readonly    attribute long z;
 };
 
 [NoInterfaceObject]
 interface EngineCoolant : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short level;
-        readonly attribute unsigned short temperature;
+    readonly    attribute octet level;
+    readonly    attribute short temperature;
 };
 
 [NoInterfaceObject]
 interface SteeringWheel : <ref>VehicleCommonDataType</ref> {
-        readonly attribute short angle;
+    readonly    attribute short angle;
+};
+
+[NoInterfaceObject]
+interface WheelTick : <ref>VehicleCommonDataType</ref> {
+    readonly    attribute unsigned long value;
+    readonly    attribute <ref>Zone</ref>?         zone;
 };
 
 [NoInterfaceObject]
 interface IgnitionTime : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>DOMTimeStamp</ref> ignitionOnTime;
-        readonly attribute <ref>DOMTimeStamp</ref> ignitionOffTime;
+    readonly    attribute <ref>DOMTimeStamp</ref> ignitionOnTime;
+    readonly    attribute <ref>DOMTimeStamp</ref> ignitionOffTime;
 };
 
 [NoInterfaceObject]
 interface YawRate : <ref>VehicleCommonDataType</ref> {
-        readonly attribute short value;
+    readonly    attribute short value;
 };
 
 [NoInterfaceObject]
 interface BrakeOperation : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean brakePedalDepressed;
+    readonly    attribute boolean brakePedalDepressed;
 };
 
-[NoInterfaceObject]
-interface WheelTick : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long value;
-                         attribute <ref>Zone</ref>?         zone;
+enum Button {
+    &quot;home&quot;,
+    &quot;back&quot;,
+    &quot;search&quot;,
+    &quot;call&quot;,
+    &quot;end_call&quot;,
+    &quot;media_play&quot;,
+    &quot;media_next&quot;,
+    &quot;media_previous&quot;,
+    &quot;media_pause&quot;,
+    &quot;voice_recognize&quot;,
+    &quot;enter&quot;,
+    &quot;left&quot;,
+    &quot;right&quot;,
+    &quot;up&quot;,
+    &quot;down&quot;
 };
 
-enum VehicleButton {
-        &quot;home&quot;, &quot;back&quot;, &quot;search&quot;, &quot;call&quot;, &quot;end_call&quot;, &quot;media_play&quot;,
-        &quot;media_next&quot;, &quot;media_previous&quot;, &quot;media_pause&quot;, &quot;voice_recognize&quot;,
-        &quot;enter&quot;, &quot;left&quot;, &quot;right&quot;, &quot;up&quot;, &quot;down&quot;
+enum ButtonEventType {
+    &quot;press&quot;,
+    &quot;long_press&quot;,
+    &quot;release&quot;
 };
 
-enum PressType {&quot;press&quot;, &quot;long_press&quot;, &quot;release&quot;};
+[NoInterfaceObject]
+interface VehicleButton {
+    readonly    attribute <ref>Button</ref>          button;
+    readonly    attribute <ref>ButtonEventType</ref> state;
+};
 
 [NoInterfaceObject]
 interface ButtonEvent : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>VehicleButton</ref>[] button;
-        readonly attribute <ref>PressType</ref>       state;
+    readonly    attribute <ref>VehicleButton</ref>[] button;
+};
+
+[NoInterfaceObject]
+interface DrivingMode : <ref>VehicleCommonDataType</ref> {
+    readonly    attribute boolean mode;
 };
 
 [NoInterfaceObject]
@@ -385,378 +449,425 @@ interface DrivingMode : <ref>VehicleCommonDataType</ref> {
 
 [NoInterfaceObject]
 interface NightMode : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean mode;
+    readonly    attribute boolean mode;
 };
 
 [NoInterfaceObject]
 interface Odometer : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long? distanceSinceStart;
-        readonly attribute unsigned long  distanceTotal;
+    readonly    attribute unsigned long? distanceSinceStart;
+    readonly    attribute unsigned long  distanceTotal;
 };
 
 [NoInterfaceObject]
 interface TransmissionOil : <ref>VehicleCommonDataType</ref> {
-        readonly attribute byte?  wear;
-        readonly attribute short? temperature;
+    readonly    attribute octet?  wear;
+    readonly    attribute short?  temperature;
 };
 
 [NoInterfaceObject]
 interface TransmissionClutch : <ref>VehicleCommonDataType</ref> {
-        readonly attribute byte wear;
+    readonly    attribute octet wear;
 };
 
 [NoInterfaceObject]
 interface BrakeMaintenance : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short? fluidLevel;
-        readonly attribute boolean?        fluidLevelLow;
-        readonly attribute byte?           padWear;
-        readonly attribute boolean?        brakesWorn;
-                         attribute <ref>Zone</ref>?           zone;
+    readonly    attribute octet?   fluidLevel;
+    readonly    attribute boolean? fluidLevelLow;
+    readonly    attribute octet?   padWear;
+    readonly    attribute boolean? brakesWorn;
+    readonly    attribute <ref>Zone</ref>?    zone;
 };
 
 [NoInterfaceObject]
 interface WasherFluid : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short? level;
-        readonly attribute boolean?        levelLow;
+    readonly    attribute unsigned short? level;
+    readonly    attribute boolean?        levelLow;
 };
 
 [NoInterfaceObject]
 interface MalfunctionIndicator : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean on;
+    readonly    attribute boolean on;
 };
 
 [NoInterfaceObject]
 interface BatteryStatus : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short? chargeLevel;
-        readonly attribute unsigned short? voltage;
-        readonly attribute unsigned short? current;
-                         attribute <ref>Zone</ref>?           zone;
+    readonly    attribute unsigned short? chargeLevel;
+    readonly    attribute unsigned short? voltage;
+    readonly    attribute unsigned short? current;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };
 
 [NoInterfaceObject]
 interface Tire : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean?        pressureLow;
-        readonly attribute unsigned short? pressure;
-        readonly attribute short?          temperature;
-                         attribute <ref>Zone</ref>?           zone;
+    readonly    attribute boolean?        pressureLow;
+    readonly    attribute unsigned short? pressure;
+    readonly    attribute short?          temperature;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };
 
 [NoInterfaceObject]
 interface Diagnostic : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long accumulatedEngineRuntime;
-        readonly attribute unsigned long distanceWithMILOn;
-        readonly attribute unsigned long distanceSinceCodeCleared;
-        readonly attribute unsigned long timeRunMILOn;
-        readonly attribute unsigned long timeTroubleCodeClear;
+    readonly    attribute unsigned long accumulatedEngineRuntime;
+    readonly    attribute unsigned long distanceWithMILOn;
+    readonly    attribute unsigned long distanceSinceCodeCleared;
+    readonly    attribute unsigned long timeRunMILOn;
+    readonly    attribute unsigned long timeTroubleCodeClear;
 };
 
 [NoInterfaceObject]
 interface LanguageConfiguration : <ref>VehicleCommonDataType</ref> {
-        attribute DOMString? language;
+                attribute DOMString? language;
 };
 
 [NoInterfaceObject]
 interface UnitsOfMeasure : <ref>VehicleCommonDataType</ref> {
-        attribute boolean?   isMKSSystem;
-        attribute DOMString? unitsFuelVolume;
-        attribute DOMString? unitsDistance;
-        attribute DOMString? unitsSpeed;
-        attribute DOMString? unitsFuelConsumption;
+                attribute boolean?   isMKSSystem;
+                attribute DOMString? unitsFuelVolume;
+                attribute DOMString? unitsDistance;
+                attribute DOMString? unitsSpeed;
+                attribute DOMString? unitsFuelConsumption;
 };
 
 [NoInterfaceObject]
 interface Mirror : <ref>VehicleCommonDataType</ref> {
-        attribute unsigned short? mirrorTilt;
-        attribute unsigned short? mirrorPan;
-        attribute <ref>Zone</ref>?           zone;
+                attribute unsigned short? mirrorTilt;
+                attribute unsigned short? mirrorPan;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };
 
 [NoInterfaceObject]
 interface SeatAdjustment : <ref>VehicleCommonDataType</ref> {
-        attribute unsigned short? reclineSeatBack;
-        attribute unsigned short? seatSlide;
-        attribute unsigned short? seatCushionHeight;
-        attribute unsigned short? seatHeadrest;
-        attribute unsigned short? seatBackCushion;
-        attribute unsigned short? seatSideCushion;
-        attribute <ref>Zone</ref>?           zone;
+                attribute unsigned short? reclineSeatBack;
+                attribute unsigned short? seatSlide;
+                attribute unsigned short? seatCushionHeight;
+                attribute unsigned short? seatHeadrest;
+                attribute unsigned short? seatBackCushion;
+                attribute unsigned short? seatSideCushion;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };
 
-enum DriveModeEnum {&quot;comfort&quot;, &quot;auto&quot;, &quot;sport&quot;, &quot;eco&quot;, &quot;manual&quot;, &quot;winter&quot;};
+enum DriveModeEnum {
+    &quot;comfort&quot;,
+    &quot;auto&quot;,
+    &quot;sport&quot;,
+    &quot;eco&quot;,
+    &quot;manual&quot;,
+    &quot;winter&quot;
+};
 
 [NoInterfaceObject]
 interface DriveMode : <ref>VehicleCommonDataType</ref> {
-        attribute <ref>DriveModeEnum</ref>? driveMode;
+                attribute <ref>DriveModeEnum</ref>? driveMode;
 };
 
 [NoInterfaceObject]
 interface DashboardIllumination : <ref>VehicleCommonDataType</ref> {
-        attribute DOMString? dashboardIllumination;
+                attribute DOMString? dashboardIllumination;
 };
 
 [NoInterfaceObject]
 interface VehicleSound : <ref>VehicleCommonDataType</ref> {
-        attribute boolean    activeNoiseControlMode;
-        attribute DOMString? engineSoundEnhancementMode;
+                attribute boolean    activeNoiseControlMode;
+                attribute DOMString? engineSoundEnhancementMode;
 };
 
 [NoInterfaceObject]
 interface AntilockBrakingSystem : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean enabled;
-        readonly attribute boolean engaged;
+    readonly    attribute boolean enabled;
+    readonly    attribute boolean engaged;
 };
 
 [NoInterfaceObject]
 interface TractionControlSystem : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean enabled;
-        readonly attribute boolean engaged;
+    readonly    attribute boolean enabled;
+    readonly    attribute boolean engaged;
 };
 
 [NoInterfaceObject]
 interface ElectronicStabilityControl : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean enabled;
-        readonly attribute boolean engaged;
+    readonly    attribute boolean enabled;
+    readonly    attribute boolean engaged;
 };
 
 [NoInterfaceObject]
 interface TopSpeedLimit : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short speed;
+    readonly    attribute unsigned short speed;
 };
 
 [NoInterfaceObject]
 interface AirbagStatus : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean activated;
-        readonly attribute boolean deployed;
-                         attribute <ref>Zone</ref>?   zone;
+    readonly    attribute boolean activated;
+    readonly    attribute boolean deployed;
+    readonly    attribute <ref>Zone</ref>?   zone;
 };
 
-enum DoorOpenStatus {&quot;open&quot;, &quot;ajar&quot;, &quot;closed&quot;};
+enum DoorOpenStatus {
+    &quot;open&quot;,
+    &quot;ajar&quot;,
+    &quot;closed&quot;
+};
 
 [NoInterfaceObject]
 interface Door : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>DoorOpenStatus</ref> status;
-                     attribute boolean        lock;
-                         attribute <ref>Zone</ref>?          zone;
+    readonly    attribute <ref>DoorOpenStatus</ref> status;
+                attribute boolean        lock;
+    readonly    attribute <ref>Zone</ref>?          zone;
 };
 
 [NoInterfaceObject]
 interface ChildSafetyLock : <ref>VehicleCommonDataType</ref> {
-        attribute boolean lock;
-        attribute <ref>Zone</ref>?   zone;
+                attribute boolean lock;
+    readonly    attribute <ref>Zone</ref>?   zone;
 };
 
-enum OccupantStatus {&quot;adult&quot;, &quot;child&quot;, &quot;vacant&quot;};
+enum OccupantStatus {
+    &quot;adult&quot;,
+    &quot;child&quot;,
+    &quot;vacant&quot;
+};
 
-enum IdentificationType {&quot;pin&quot;, &quot;keyfob&quot;, &quot;Bluetooth&quot;, &quot;NFC&quot;, &quot;fingerprint&quot;, &quot;camera&quot;, &quot;voice&quot;};
+enum IdentificationType {
+    &quot;pin&quot;,
+    &quot;keyfob&quot;,
+    &quot;Bluetooth&quot;,
+    &quot;NFC&quot;,
+    &quot;fingerprint&quot;,
+    &quot;camera&quot;,
+    &quot;voice&quot;
+};
 
 [NoInterfaceObject]
 interface Seat : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>OccupantStatus</ref>     occupant;
-        readonly attribute boolean            seatbelt;
-        readonly attribute DOMString?         occupantName;
-        readonly attribute <ref>IdentificationType</ref> identificationType;
-                         attribute <ref>Zone</ref>?              zone;
+    readonly    attribute <ref>OccupantStatus</ref>     occupant;
+    readonly    attribute boolean            seatbelt;
+    readonly    attribute DOMString?         occupantName;
+    readonly    attribute <ref>IdentificationType</ref> identificationType;
+    readonly    attribute <ref>Zone</ref>?              zone;
 };
 
 [NoInterfaceObject]
 interface Temperature : <ref>VehicleCommonDataType</ref> {
-        readonly attribute float interiorTemperature;
-        readonly attribute float exteriorTemperature;
+    readonly    attribute float interiorTemperature;
+    readonly    attribute float exteriorTemperature;
 };
 
 [NoInterfaceObject]
 interface RainSensor : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short rain;
-                     attribute <ref>Zone</ref>?         zone;
+    readonly    attribute unsigned short rain;
+    readonly    attribute <ref>Zone</ref>?          zone;
 };
 
 [NoInterfaceObject]
 interface WiperStatus : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short wiperSpeed;
-                     attribute <ref>Zone</ref>?         zone;
+    readonly    attribute unsigned short wiperSpeed;
+    readonly    attribute <ref>Zone</ref>?          zone;
 };
 
-enum WiperControl {&quot;off&quot;, &quot;once&quot;, &quot;slowest&quot;, &quot;slow&quot;, &quot;middle&quot;, &quot;fast&quot;, &quot;fastest&quot;, &quot;auto&quot;};
+enum WiperControl {
+    &quot;off&quot;,
+    &quot;once&quot;,
+    &quot;slowest&quot;,
+    &quot;slow&quot;,
+    &quot;middle&quot;,
+    &quot;fast&quot;,
+    &quot;fastest&quot;,
+    &quot;auto&quot;
+};
 
 [NoInterfaceObject]
 interface WiperSetting : <ref>VehicleCommonDataType</ref> {
-        attribute <ref>WiperControl</ref> wiperControl;
-        attribute <ref>Zone</ref>?        zone;
+                attribute <ref>WiperControl</ref> wiperControl;
+    readonly    attribute <ref>Zone</ref>?        zone;
 };
 
 [NoInterfaceObject]
 interface Defrost : <ref>VehicleCommonDataType</ref> {
-        attribute boolean? defrostWindow;
-        attribute boolean? defrostMirrors;
-        attribute <ref>Zone</ref>?    zone;
-};
-
-enum AirflowDirection {&quot;frontpanel&quot;, &quot;floorduct&quot;, &quot;bilevel&quot;, &quot;defrostfloor&quot;};
-
-[NoInterfaceObject]
-interface ClimateControl : <ref>VehicleCommonDataType</ref> {
-        attribute <ref>AirflowDirection</ref> airflowDirection;
-        attribute unsigned short    fanSpeedLevel;
-        attribute byte?            targetTemperature;
-        attribute boolean          airConditioning;
-        attribute boolean          heater;
-        attribute unsigned short?   seatHeater;
-        attribute unsigned short?   seatCooler;
-        attribute boolean          airRecirculation;
-        attribute unsigned short?   steeringWheelHeater;
-        attribute <ref>Zone</ref>?            zone;
+                attribute boolean? defrostWindow;
+                attribute boolean? defrostMirrors;
+    readonly    attribute <ref>Zone</ref>?    zone;
 };
 
 [NoInterfaceObject]
 interface Sunroof : <ref>VehicleCommonDataType</ref> {
-        attribute unsigned short openness;
-        attribute unsigned short tilt;
-        attribute <ref>Zone</ref>?         zone;
+                attribute unsigned short openness;
+                attribute unsigned short tilt;
+    readonly    attribute <ref>Zone</ref>?          zone;
 };
 
-enum ConvertibleRoofStatus {&quot;closed&quot;, &quot;closing&quot;, &quot;opening&quot;, &quot;opened&quot;};
+enum ConvertibleRoofStatus {
+    &quot;closed&quot;,
+    &quot;closing&quot;,
+    &quot;opening&quot;,
+    &quot;opened&quot;
+};
 
 [NoInterfaceObject]
 interface ConvertibleRoof : <ref>VehicleCommonDataType</ref> {
-        attribute <ref>ConvertibleRoofStatus</ref> status;
+                attribute <ref>ConvertibleRoofStatus</ref> status;
 };
 
 [NoInterfaceObject]
 interface SideWindow : <ref>VehicleCommonDataType</ref> {
-        attribute boolean? lock;
-        attribute unsigned short?    openness;
-        attribute <ref>Zone</ref>?             zone;
+                attribute boolean?        lock;
+                attribute unsigned short? openness;
+    readonly    attribute <ref>Zone</ref>?           zone;
+};
+
+enum AirflowDirection {
+    &quot;frontpanel&quot;,
+    &quot;floorduct&quot;,
+    &quot;bilevel&quot;,
+    &quot;defrostfloor&quot;
+};
+
+[NoInterfaceObject]
+interface ClimateControl : <ref>VehicleCommonDataType</ref> {
+                attribute <ref>AirflowDirection</ref>  airflowDirection;
+                attribute unsigned short    fanSpeedLevel;
+                attribute short?            targetTemperature;
+                attribute boolean           airConditioning;
+                attribute boolean           heater;
+                attribute unsigned short?   seatHeater;
+                attribute unsigned short?   seatCooler;
+                attribute boolean           airRecirculation;
+                attribute unsigned short?   steeringWheelHeater;
+    readonly    attribute <ref>Zone</ref>?             zone;
 };
 
 [NoInterfaceObject]
 interface AtmosphericPressure : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short pressure;
+    readonly    attribute unsigned short pressure;
 };
 
-enum LaneDepartureStatus {&quot;off&quot;, &quot;pause&quot;, &quot;running&quot;};
+enum LaneDepartureStatus {
+    &quot;off&quot;,
+    &quot;pause&quot;,
+    &quot;running&quot;
+};
 
 [NoInterfaceObject]
 interface LaneDepartureDetection : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>LaneDepartureStatus</ref> status;
+    readonly    attribute <ref>LaneDepartureStatus</ref> status;
 };
 
-enum AlarmStatus {&quot;disarmed&quot;, &quot;preArmed&quot;, &quot;armed&quot;, &quot;alarmed&quot;};
+enum AlarmStatus {
+    &quot;disarmed&quot;,
+    &quot;preArmed&quot;,
+    &quot;armed&quot;,
+    &quot;alarmed&quot;
+};
 
 [NoInterfaceObject]
 interface Alarm : <ref>VehicleCommonDataType</ref> {
-        attribute <ref>AlarmStatus</ref> status;
+                attribute <ref>AlarmStatus</ref> status;
 };
 
-enum ParkingBrakeStatus {&quot;inactive&quot;, &quot;active&quot;, &quot;error&quot;};
+enum ParkingBrakeStatus {
+    &quot;inactive&quot;,
+    &quot;active&quot;,
+    &quot;error&quot;
+};
 
 [NoInterfaceObject]
 interface ParkingBrake : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>ParkingBrakeStatus</ref> status;
+    readonly    attribute <ref>ParkingBrakeStatus</ref> status;
 };
 
 [NoInterfaceObject]
 interface ParkingLights : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean status;
-                     attribute boolean setting;
-};};</webidl>
+    readonly    attribute boolean status;
+                attribute boolean setting;
+};</webidl>
   <Interface name="VehicleManagerObject" id="::VehicleManagerObject">
-    <webidl> [NoInterfaceObject]
- interface VehicleManagerObject {
-        readonly attribute <ref>Vehicle</ref> vehicle;
- };</webidl>
-    <ExtendedAttributeList>
-      <ExtendedAttribute name="NoInterfaceObject">
-        <webidl>NoInterfaceObject</webidl>
-      </ExtendedAttribute>
-    </ExtendedAttributeList>
+    <webidl>interface VehicleManagerObject {
+    readonly attribute <ref>Vehicle</ref> vehicle;
+};</webidl>
     <Attribute readonly="readonly" name="vehicle" id="::VehicleManagerObject::vehicle">
-      <webidl>        readonly attribute <ref>Vehicle</ref> vehicle;</webidl>
+      <webidl>    readonly attribute <ref>Vehicle</ref> vehicle;</webidl>
       <Type name="Vehicle"/>
     </Attribute>
   </Interface>
-  <Implements name1="Tizen" name2="VehicleManagerObject">
-    <webidl><ref>Tizen</ref> implements <ref>VehicleManagerObject</ref>;</webidl>
+  <Implements name1="Navigator" name2="VehicleManagerObject">
+    <webidl><ref>Navigator</ref> implements <ref>VehicleManagerObject</ref>;</webidl>
   </Implements>
   <Interface name="Vehicle" id="::Vehicle">
     <webidl>[NoInterfaceObject]
 interface Vehicle {
-        readonly attribute <ref>VehicleConfigurationInterface</ref> identification;
-        readonly attribute <ref>VehicleConfigurationInterface</ref> sizeConfiguration;
-        readonly attribute <ref>VehicleConfigurationInterface</ref> fuelConfiguration;
-        readonly attribute <ref>VehicleConfigurationInterface</ref> transmissionConfiguration;
-        readonly attribute <ref>VehicleConfigurationInterface</ref> wheelConfiguration;
-        readonly attribute <ref>VehicleConfigurationInterface</ref> steeringWheelConfiguration;
-
-        readonly attribute <ref>VehicleSignalInterface</ref> vehicleSpeed;
-        readonly attribute <ref>VehicleSignalInterface</ref> wheelSpeed;
-        readonly attribute <ref>VehicleSignalInterface</ref> engineSpeed;
-        readonly attribute <ref>VehicleSignalInterface</ref> powerTrainTorque;
-        readonly attribute <ref>VehicleSignalInterface</ref> acceleratorPedalPosition;
-        readonly attribute <ref>VehicleSignalInterface</ref> throttlePosition;
-        readonly attribute <ref>VehicleSignalInterface</ref> tripMeters;
-        readonly attribute <ref>VehicleSignalInterface</ref> diagnostic;
-        readonly attribute <ref>VehicleSignalInterface</ref> transmission;
-        readonly attribute <ref>VehicleSignalInterface</ref> cruiseControlStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> lightStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> interiorLightStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> chime;
-        readonly attribute <ref>VehicleSignalInterface</ref> fuel;
-        readonly attribute <ref>VehicleSignalInterface</ref> engineOil;
-        readonly attribute <ref>VehicleSignalInterface</ref> acceleration;
-        readonly attribute <ref>VehicleSignalInterface</ref> engineCoolant;
-        readonly attribute <ref>VehicleSignalInterface</ref> steeringWheel;
-        readonly attribute <ref>VehicleSignalInterface</ref> ignitionTime;
-        readonly attribute <ref>VehicleSignalInterface</ref> yawRate;
-        readonly attribute <ref>VehicleSignalInterface</ref> brakeOperation;
-        readonly attribute <ref>VehicleSignalInterface</ref> wheelTick;
-        readonly attribute <ref>VehicleSignalInterface</ref> buttonEvent;
-        readonly attribute <ref>VehicleSignalInterface</ref> drivingMode;
-        readonly attribute <ref>VehicleSignalInterface</ref> nightMode;
-
-        readonly attribute <ref>VehicleSignalInterface</ref> odometer;
-        readonly attribute <ref>VehicleSignalInterface</ref> transmissionOil;
-        readonly attribute <ref>VehicleSignalInterface</ref> transmissionClutch;
-        readonly attribute <ref>VehicleSignalInterface</ref> brakeMaintenance;
-        readonly attribute <ref>VehicleSignalInterface</ref> washerFluid;
-        readonly attribute <ref>VehicleSignalInterface</ref> malfunctionIndicator;
-        readonly attribute <ref>VehicleSignalInterface</ref> batteryStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> tire;
-        readonly attribute <ref>VehicleInterface</ref>       diagnostic;
-
-        readonly attribute <ref>VehicleSignalInterface</ref>  driverIdentification;
-        readonly attribute <ref>VehicleSignalInterface</ref>? languageConfiguration;
-        readonly attribute <ref>VehicleSignalInterface</ref>  unitsOfMeasure;
-        readonly attribute <ref>VehicleSignalInterface</ref>  mirror;
-        readonly attribute <ref>VehicleSignalInterface</ref>  steeringWheel;
-        readonly attribute <ref>VehicleSignalInterface</ref>  driveMode;
-        readonly attribute <ref>VehicleSignalInterface</ref>  seatAdjustment;
-        readonly attribute <ref>VehicleSignalInterface</ref>  dashboardIllumination;
-        readonly attribute <ref>VehicleSignalInterface</ref>  vehicleSound;
-
-        readonly attribute <ref>VehicleSignalInterface</ref> antilockBrakingSystem;
-        readonly attribute <ref>VehicleSignalInterface</ref> tractionControlSystem;
-        readonly attribute <ref>VehicleSignalInterface</ref> electronicStabilityControl;
-        readonly attribute <ref>VehicleSignalInterface</ref> topSpeedLimit;
-        readonly attribute <ref>VehicleSignalInterface</ref> airbagStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> door;
-        readonly attribute <ref>VehicleSignalInterface</ref> childSafetyLock;
-        readonly attribute <ref>VehicleSignalInterface</ref> seat;
-
-        readonly attribute <ref>VehicleSignalInterface</ref> temperature;
-        readonly attribute <ref>VehicleSignalInterface</ref> rainSensor;
-        readonly attribute <ref>VehicleSignalInterface</ref> wiperStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> wiperSetting;
-        readonly attribute <ref>VehicleSignalInterface</ref> defrost;
-        readonly attribute <ref>VehicleSignalInterface</ref> sunroof;
-        readonly attribute <ref>VehicleSignalInterface</ref> convertibleRoof;
-        readonly attribute <ref>VehicleSignalInterface</ref> sideWindow;
-        readonly attribute <ref>VehicleSignalInterface</ref> climateControl;
-        readonly attribute <ref>VehicleSignalInterface</ref> atmosphericPressure;
-
-        readonly attribute <ref>VehicleSignalInterface</ref> laneDepartureStatus;
-        readonly attribute <ref>VehicleSignalInterface</ref> alarm;
-        readonly attribute <ref>VehicleSignalInterface</ref> parkingBrake;
-        readonly attribute <ref>VehicleSignalInterface</ref> parkingLights;
+    readonly    attribute <ref>VehicleConfigurationInterface</ref> identification;
+    readonly    attribute <ref>VehicleConfigurationInterface</ref> sizeConfiguration;
+    readonly    attribute <ref>VehicleConfigurationInterface</ref> fuelConfiguration;
+    readonly    attribute <ref>VehicleConfigurationInterface</ref> transmissionConfiguration;
+    readonly    attribute <ref>VehicleConfigurationInterface</ref> wheelConfiguration;
+    readonly    attribute <ref>VehicleSignalInterface</ref>        steeringWheelConfiguration;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref> vehicleSpeed;
+    readonly    attribute <ref>VehicleSignalInterface</ref> wheelSpeed;
+    readonly    attribute <ref>VehicleSignalInterface</ref> engineSpeed;
+    readonly    attribute <ref>VehicleSignalInterface</ref> powerTrainTorque;
+    readonly    attribute <ref>VehicleSignalInterface</ref> acceleratorPedalPosition;
+    readonly    attribute <ref>VehicleSignalInterface</ref> throttlePosition;
+    readonly    attribute <ref>VehicleSignalInterface</ref> tripMeters;
+    readonly    attribute <ref>VehicleSignalInterface</ref> transmission;
+    readonly    attribute <ref>VehicleSignalInterface</ref> cruiseControlStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> lightStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> interiorLightStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> horn;
+    readonly    attribute <ref>VehicleSignalInterface</ref> chime;
+    readonly    attribute <ref>VehicleSignalInterface</ref> fuel;
+    readonly    attribute <ref>VehicleSignalInterface</ref> engineOil;
+    readonly    attribute <ref>VehicleSignalInterface</ref> acceleration;
+    readonly    attribute <ref>VehicleSignalInterface</ref> engineCoolant;
+    readonly    attribute <ref>VehicleSignalInterface</ref> steeringWheel;
+    readonly    attribute <ref>VehicleSignalInterface</ref> ignitionTime;
+    readonly    attribute <ref>VehicleSignalInterface</ref> yawRate;
+    readonly    attribute <ref>VehicleSignalInterface</ref> brakeOperation;
+    readonly    attribute <ref>VehicleSignalInterface</ref> wheelTick;
+    readonly    attribute <ref>VehicleSignalInterface</ref> buttonEvent;
+    readonly    attribute <ref>VehicleSignalInterface</ref> drivingMode;
+    readonly    attribute <ref>VehicleSignalInterface</ref> nightMode;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref> odometer;
+    readonly    attribute <ref>VehicleSignalInterface</ref> transmissionOil;
+    readonly    attribute <ref>VehicleSignalInterface</ref> transmissionClutch;
+    readonly    attribute <ref>VehicleSignalInterface</ref> brakeMaintenance;
+    readonly    attribute <ref>VehicleSignalInterface</ref> washerFluid;
+    readonly    attribute <ref>VehicleSignalInterface</ref> malfunctionIndicator;
+    readonly    attribute <ref>VehicleSignalInterface</ref> batteryStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> tire;
+    readonly    attribute <ref>VehicleSignalInterface</ref> diagnostic;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref>? languageConfiguration;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  unitsOfMeasure;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  mirror;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  driveMode;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  seatAdjustment;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  dashboardIllumination;
+    readonly    attribute <ref>VehicleSignalInterface</ref>  vehicleSound;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref> antilockBrakingSystem;
+    readonly    attribute <ref>VehicleSignalInterface</ref> tractionControlSystem;
+    readonly    attribute <ref>VehicleSignalInterface</ref> electronicStabilityControl;
+    readonly    attribute <ref>VehicleSignalInterface</ref> topSpeedLimit;
+    readonly    attribute <ref>VehicleSignalInterface</ref> airbagStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> door;
+    readonly    attribute <ref>VehicleSignalInterface</ref> childSafetyLock;
+    readonly    attribute <ref>VehicleSignalInterface</ref> seat;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref> temperature;
+    readonly    attribute <ref>VehicleSignalInterface</ref> rainSensor;
+    readonly    attribute <ref>VehicleSignalInterface</ref> wiperStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> wiperSetting;
+    readonly    attribute <ref>VehicleSignalInterface</ref> defrost;
+    readonly    attribute <ref>VehicleSignalInterface</ref> sunroof;
+    readonly    attribute <ref>VehicleSignalInterface</ref> convertibleRoof;
+    readonly    attribute <ref>VehicleSignalInterface</ref> sideWindow;
+    readonly    attribute <ref>VehicleSignalInterface</ref> climateControl;
+    readonly    attribute <ref>VehicleSignalInterface</ref> atmosphericPressure;
+
+    readonly    attribute <ref>VehicleSignalInterface</ref> laneDepartureStatus;
+    readonly    attribute <ref>VehicleSignalInterface</ref> alarm;
+    readonly    attribute <ref>VehicleSignalInterface</ref> parkingBrake;
+    readonly    attribute <ref>VehicleSignalInterface</ref> parkingLights;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -764,294 +875,350 @@ interface Vehicle {
       </ExtendedAttribute>
     </ExtendedAttributeList>
     <Attribute readonly="readonly" name="identification" id="::Vehicle::identification">
-      <webidl>        readonly attribute <ref>VehicleConfigurationInterface</ref> identification;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleConfigurationInterface</ref> identification;</webidl>
       <Type name="VehicleConfigurationInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="sizeConfiguration" id="::Vehicle::sizeConfiguration">
-      <webidl>        readonly attribute <ref>VehicleConfigurationInterface</ref> sizeConfiguration;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleConfigurationInterface</ref> sizeConfiguration;</webidl>
       <Type name="VehicleConfigurationInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="fuelConfiguration" id="::Vehicle::fuelConfiguration">
-      <webidl>        readonly attribute <ref>VehicleConfigurationInterface</ref> fuelConfiguration;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleConfigurationInterface</ref> fuelConfiguration;</webidl>
       <Type name="VehicleConfigurationInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="transmissionConfiguration" id="::Vehicle::transmissionConfiguration">
-      <webidl>        readonly attribute <ref>VehicleConfigurationInterface</ref> transmissionConfiguration;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleConfigurationInterface</ref> transmissionConfiguration;</webidl>
       <Type name="VehicleConfigurationInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="wheelConfiguration" id="::Vehicle::wheelConfiguration">
-      <webidl>        readonly attribute <ref>VehicleConfigurationInterface</ref> wheelConfiguration;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleConfigurationInterface</ref> wheelConfiguration;</webidl>
       <Type name="VehicleConfigurationInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="steeringWheelConfiguration" id="::Vehicle::steeringWheelConfiguration">
-      <webidl>        readonly attribute <ref>VehicleConfigurationInterface</ref> steeringWheelConfiguration;</webidl>
-      <Type name="VehicleConfigurationInterface"/>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref>        steeringWheelConfiguration;</webidl>
+      <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="vehicleSpeed" id="::Vehicle::vehicleSpeed">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> vehicleSpeed;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> vehicleSpeed;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="wheelSpeed" id="::Vehicle::wheelSpeed">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> wheelSpeed;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> wheelSpeed;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="engineSpeed" id="::Vehicle::engineSpeed">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> engineSpeed;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> engineSpeed;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="powerTrainTorque" id="::Vehicle::powerTrainTorque">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> powerTrainTorque;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> powerTrainTorque;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="acceleratorPedalPosition" id="::Vehicle::acceleratorPedalPosition">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> acceleratorPedalPosition;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> acceleratorPedalPosition;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="throttlePosition" id="::Vehicle::throttlePosition">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> throttlePosition;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> throttlePosition;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="tripMeters" id="::Vehicle::tripMeters">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> tripMeters;</webidl>
-      <Type name="VehicleSignalInterface"/>
-    </Attribute>
-    <Attribute readonly="readonly" name="diagnostic" id="::Vehicle::diagnostic">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> diagnostic;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> tripMeters;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="transmission" id="::Vehicle::transmission">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> transmission;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> transmission;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="cruiseControlStatus" id="::Vehicle::cruiseControlStatus">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> cruiseControlStatus;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> cruiseControlStatus;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="lightStatus" id="::Vehicle::lightStatus">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> lightStatus;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> lightStatus;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="interiorLightStatus" id="::Vehicle::interiorLightStatus">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> interiorLightStatus;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> interiorLightStatus;</webidl>
+      <Type name="VehicleSignalInterface"/>
+    </Attribute>
+    <Attribute readonly="readonly" name="horn" id="::Vehicle::horn">
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> horn;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="chime" id="::Vehicle::chime">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> chime;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> chime;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="fuel" id="::Vehicle::fuel">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> fuel;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> fuel;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="engineOil" id="::Vehicle::engineOil">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> engineOil;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> engineOil;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="acceleration" id="::Vehicle::acceleration">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> acceleration;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> acceleration;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="engineCoolant" id="::Vehicle::engineCoolant">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> engineCoolant;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> engineCoolant;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="steeringWheel" id="::Vehicle::steeringWheel">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> steeringWheel;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> steeringWheel;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="ignitionTime" id="::Vehicle::ignitionTime">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> ignitionTime;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> ignitionTime;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="yawRate" id="::Vehicle::yawRate">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> yawRate;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> yawRate;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="brakeOperation" id="::Vehicle::brakeOperation">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> brakeOperation;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> brakeOperation;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="wheelTick" id="::Vehicle::wheelTick">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> wheelTick;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> wheelTick;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="buttonEvent" id="::Vehicle::buttonEvent">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> buttonEvent;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> buttonEvent;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="drivingMode" id="::Vehicle::drivingMode">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> drivingMode;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> drivingMode;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="nightMode" id="::Vehicle::nightMode">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> nightMode;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> nightMode;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="odometer" id="::Vehicle::odometer">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> odometer;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> odometer;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="transmissionOil" id="::Vehicle::transmissionOil">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> transmissionOil;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> transmissionOil;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="transmissionClutch" id="::Vehicle::transmissionClutch">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> transmissionClutch;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> transmissionClutch;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="brakeMaintenance" id="::Vehicle::brakeMaintenance">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> brakeMaintenance;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> brakeMaintenance;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="washerFluid" id="::Vehicle::washerFluid">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> washerFluid;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> washerFluid;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="malfunctionIndicator" id="::Vehicle::malfunctionIndicator">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> malfunctionIndicator;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> malfunctionIndicator;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="batteryStatus" id="::Vehicle::batteryStatus">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> batteryStatus;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> batteryStatus;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="tire" id="::Vehicle::tire">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> tire;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> tire;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="diagnostic" id="::Vehicle::diagnostic">
-      <webidl>        readonly attribute <ref>VehicleInterface</ref>       diagnostic;</webidl>
-      <Type name="VehicleInterface"/>
-    </Attribute>
-    <Attribute readonly="readonly" name="driverIdentification" id="::Vehicle::driverIdentification">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref>  driverIdentification;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> diagnostic;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="languageConfiguration" id="::Vehicle::languageConfiguration">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref>? languageConfiguration;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref>? languageConfiguration;</webidl>
       <Type name="VehicleSignalInterface" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="unitsOfMeasure" id="::Vehicle::unitsOfMeasure">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref>  unitsOfMeasure;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref>  unitsOfMeasure;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="mirror" id="::Vehicle::mirror">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref>  mirror;</webidl>
-      <Type name="VehicleSignalInterface"/>
-    </Attribute>
-    <Attribute readonly="readonly" name="steeringWheel" id="::Vehicle::steeringWheel">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref>  steeringWheel;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref>  mirror;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="driveMode" id="::Vehicle::driveMode">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref>  driveMode;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref>  driveMode;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="seatAdjustment" id="::Vehicle::seatAdjustment">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref>  seatAdjustment;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref>  seatAdjustment;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="dashboardIllumination" id="::Vehicle::dashboardIllumination">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref>  dashboardIllumination;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref>  dashboardIllumination;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="vehicleSound" id="::Vehicle::vehicleSound">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref>  vehicleSound;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref>  vehicleSound;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="antilockBrakingSystem" id="::Vehicle::antilockBrakingSystem">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> antilockBrakingSystem;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> antilockBrakingSystem;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="tractionControlSystem" id="::Vehicle::tractionControlSystem">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> tractionControlSystem;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> tractionControlSystem;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="electronicStabilityControl" id="::Vehicle::electronicStabilityControl">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> electronicStabilityControl;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> electronicStabilityControl;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="topSpeedLimit" id="::Vehicle::topSpeedLimit">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> topSpeedLimit;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> topSpeedLimit;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="airbagStatus" id="::Vehicle::airbagStatus">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> airbagStatus;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> airbagStatus;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="door" id="::Vehicle::door">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> door;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> door;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="childSafetyLock" id="::Vehicle::childSafetyLock">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> childSafetyLock;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> childSafetyLock;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="seat" id="::Vehicle::seat">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> seat;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> seat;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="temperature" id="::Vehicle::temperature">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> temperature;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> temperature;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="rainSensor" id="::Vehicle::rainSensor">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> rainSensor;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> rainSensor;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="wiperStatus" id="::Vehicle::wiperStatus">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> wiperStatus;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> wiperStatus;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="wiperSetting" id="::Vehicle::wiperSetting">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> wiperSetting;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> wiperSetting;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="defrost" id="::Vehicle::defrost">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> defrost;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> defrost;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="sunroof" id="::Vehicle::sunroof">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> sunroof;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> sunroof;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="convertibleRoof" id="::Vehicle::convertibleRoof">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> convertibleRoof;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> convertibleRoof;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="sideWindow" id="::Vehicle::sideWindow">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> sideWindow;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> sideWindow;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="climateControl" id="::Vehicle::climateControl">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> climateControl;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> climateControl;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="atmosphericPressure" id="::Vehicle::atmosphericPressure">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> atmosphericPressure;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> atmosphericPressure;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="laneDepartureStatus" id="::Vehicle::laneDepartureStatus">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> laneDepartureStatus;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> laneDepartureStatus;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="alarm" id="::Vehicle::alarm">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> alarm;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> alarm;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="parkingBrake" id="::Vehicle::parkingBrake">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> parkingBrake;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> parkingBrake;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
     <Attribute readonly="readonly" name="parkingLights" id="::Vehicle::parkingLights">
-      <webidl>        readonly attribute <ref>VehicleSignalInterface</ref> parkingLights;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleSignalInterface</ref> parkingLights;</webidl>
       <Type name="VehicleSignalInterface"/>
     </Attribute>
   </Interface>
+  <Enum name="ZonePosition" id="::ZonePosition">
+    <webidl>enum ZonePosition {
+    &quot;front&quot;,
+    &quot;middle&quot;,
+    &quot;right&quot;,
+    &quot;left&quot;,
+    &quot;rear&quot;,
+    &quot;center&quot;
+};</webidl>
+    <EnumValue stringvalue="front">
+      <webidl>    &quot;front</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="middle">
+      <webidl>    &quot;middle</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="right">
+      <webidl>    &quot;right</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="left">
+      <webidl>    &quot;left</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="rear">
+      <webidl>    &quot;rear</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="center">
+      <webidl>    &quot;center</webidl>
+    </EnumValue>
+  </Enum>
+  <Interface name="Zone" id="::Zone">
+    <webidl>interface Zone {
+                attribute DOMString[] value;
+    readonly    attribute <ref>Zone</ref>        driver;
+    boolean equals (<ref>Zone</ref> zone);
+    boolean contains (<ref>Zone</ref> zone);
+};</webidl>
+    <Attribute name="value" id="::Zone::value">
+      <webidl>                attribute DOMString[] value;</webidl>
+      <Type type="array">
+        <Type type="DOMString"/>
+      </Type>
+    </Attribute>
+    <Attribute readonly="readonly" name="driver" id="::Zone::driver">
+      <webidl>    readonly    attribute <ref>Zone</ref>        driver;</webidl>
+      <Type name="Zone"/>
+    </Attribute>
+    <Operation name="equals" id="::Zone::equals">
+      <webidl>    boolean equals (<ref>Zone</ref> zone);</webidl>
+      <Type type="boolean"/>
+      <ArgumentList>
+        <Argument name="zone">
+          <Type name="Zone"/>
+        </Argument>
+      </ArgumentList>
+    </Operation>
+    <Operation name="contains" id="::Zone::contains">
+      <webidl>    boolean contains (<ref>Zone</ref> zone);</webidl>
+      <Type type="boolean"/>
+      <ArgumentList>
+        <Argument name="zone">
+          <Type name="Zone"/>
+        </Argument>
+      </ArgumentList>
+    </Operation>
+  </Interface>
   <Interface name="VehicleInterfaceCallback" id="::VehicleInterfaceCallback">
     <webidl>[Callback=FunctionOnly, NoInterfaceObject]
 interface VehicleInterfaceCallback {
-        void onsuccess(object value);
+    void onsuccess(object value);
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="Callback" value="FunctionOnly">
@@ -1062,7 +1229,7 @@ interface VehicleInterfaceCallback {
       </ExtendedAttribute>
     </ExtendedAttributeList>
     <Operation name="onsuccess" id="::VehicleInterfaceCallback::onsuccess">
-      <webidl>        void onsuccess(object value);</webidl>
+      <webidl>    void onsuccess(object value);</webidl>
       <Type type="void"/>
       <ArgumentList>
         <Argument name="value">
@@ -1074,7 +1241,7 @@ interface VehicleInterfaceCallback {
   <Interface name="AvailableCallback" id="::AvailableCallback">
     <webidl>[Callback=FunctionOnly, NoInterfaceObject]
 interface AvailableCallback {
-        void onsuccess(<ref>Availability</ref> available);
+    void onsuccess(<ref>Availability</ref> available);
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="Callback" value="FunctionOnly">
@@ -1085,7 +1252,7 @@ interface AvailableCallback {
       </ExtendedAttribute>
     </ExtendedAttributeList>
     <Operation name="onsuccess" id="::AvailableCallback::onsuccess">
-      <webidl>        void onsuccess(<ref>Availability</ref> available);</webidl>
+      <webidl>    void onsuccess(<ref>Availability</ref> available);</webidl>
       <Type type="void"/>
       <ArgumentList>
         <Argument name="available">
@@ -1094,51 +1261,65 @@ interface AvailableCallback {
       </ArgumentList>
     </Operation>
   </Interface>
-  <Enum name="Availability" id="::Availability">
-    <webidl>enum Availability {
-        &quot;available&quot;, &quot;not_supported&quot;, &quot;not_supported_yet&quot;, &quot;not_supported_security_policy&quot;,
-        &quot;not_supported_business_policy&quot;, &quot;not_supported_other&quot;
+  <Enum name="VehicleError" id="::VehicleError">
+    <webidl>enum VehicleError {
+    &quot;permission_denied&quot;,
+    &quot;invalid_operation&quot;,
+    &quot;timeout&quot;,
+    &quot;invalid_zone&quot;,
+    &quot;unknown&quot;
 };</webidl>
-    <EnumValue stringvalue="available">
-      <webidl>        &quot;available</webidl>
-    </EnumValue>
-    <EnumValue stringvalue="not_supported">
-      <webidl> &quot;not_supported</webidl>
+    <EnumValue stringvalue="permission_denied">
+      <webidl>    &quot;permission_denied</webidl>
     </EnumValue>
-    <EnumValue stringvalue="not_supported_yet">
-      <webidl> &quot;not_supported_yet</webidl>
+    <EnumValue stringvalue="invalid_operation">
+      <webidl>    &quot;invalid_operation</webidl>
     </EnumValue>
-    <EnumValue stringvalue="not_supported_security_policy">
-      <webidl> &quot;not_supported_security_policy</webidl>
+    <EnumValue stringvalue="timeout">
+      <webidl>    &quot;timeout</webidl>
     </EnumValue>
-    <EnumValue stringvalue="not_supported_business_policy">
-      <webidl>        &quot;not_supported_business_policy</webidl>
+    <EnumValue stringvalue="invalid_zone">
+      <webidl>    &quot;invalid_zone</webidl>
     </EnumValue>
-    <EnumValue stringvalue="not_supported_other">
-      <webidl> &quot;not_supported_other</webidl>
+    <EnumValue stringvalue="unknown">
+      <webidl>    &quot;unknown</webidl>
     </EnumValue>
   </Enum>
-  <Interface name="VehicleInterface" id="::VehicleInterface">
+  <Interface name="VehicleInterfaceError" id="::VehicleInterfaceError">
     <webidl>[NoInterfaceObject]
-interface VehicleInterface {
-        <ref>Availability</ref> availableForRetrieval (DOMString attributeName);
-        short            availabilityChangedListener (<ref>AvailableCallback</ref> callback);
-        void         removeAvailabilityChangedListener (short handle);
-        <ref>Promise</ref>      get (optional <ref>Zone</ref> zone);
-        <ref>Promise</ref>      getHistory (Date begin, Date end, optional <ref>Zone</ref> zone);
-        readonly attribute boolean isLogged;
-        readonly attribute Date ?  from;
-        readonly attribute Date ?  to;
-        readonly attribute boolean supported;
-        readonly attribute <ref>Zone</ref>[] zones;
+interface VehicleInterfaceError {
+    readonly    attribute <ref>VehicleError</ref> error;
+    readonly    attribute DOMString    message;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
         <webidl>NoInterfaceObject</webidl>
       </ExtendedAttribute>
     </ExtendedAttributeList>
+    <Attribute readonly="readonly" name="error" id="::VehicleInterfaceError::error">
+      <webidl>    readonly    attribute <ref>VehicleError</ref> error;</webidl>
+      <Type name="VehicleError"/>
+    </Attribute>
+    <Attribute readonly="readonly" name="message" id="::VehicleInterfaceError::message">
+      <webidl>    readonly    attribute DOMString    message;</webidl>
+      <Type type="DOMString"/>
+    </Attribute>
+  </Interface>
+  <Interface name="VehicleInterface" id="::VehicleInterface">
+    <webidl>interface VehicleInterface {
+    <ref>Availability</ref>   availableForRetrieval (DOMString attributeName);
+    <ref>Promise</ref>        get (optional <ref>Zone</ref> zone);
+    <ref>Promise</ref>        getHistory (Date begin, Date end, optional <ref>Zone</ref> zone);
+    short          availabilityChangedListener (<ref>AvailableCallback</ref> callback);
+    void           removeAvailabilityChangedListener (short handle);
+    readonly       attribute <ref>Zone</ref>[] zones;
+    readonly       attribute boolean supported;
+    readonly       attribute boolean isLogged;
+    readonly       attribute Date ?  from;
+    readonly       attribute Date ?  to;
+};</webidl>
     <Operation name="availableForRetrieval" id="::VehicleInterface::availableForRetrieval">
-      <webidl>        <ref>Availability</ref> availableForRetrieval (DOMString attributeName);</webidl>
+      <webidl>    <ref>Availability</ref>   availableForRetrieval (DOMString attributeName);</webidl>
       <Type name="Availability"/>
       <ArgumentList>
         <Argument name="attributeName">
@@ -1146,26 +1327,8 @@ interface VehicleInterface {
         </Argument>
       </ArgumentList>
     </Operation>
-    <Operation name="availabilityChangedListener" id="::VehicleInterface::availabilityChangedListener">
-      <webidl>        short            availabilityChangedListener (<ref>AvailableCallback</ref> callback);</webidl>
-      <Type type="short"/>
-      <ArgumentList>
-        <Argument name="callback">
-          <Type name="AvailableCallback"/>
-        </Argument>
-      </ArgumentList>
-    </Operation>
-    <Operation name="removeAvailabilityChangedListener" id="::VehicleInterface::removeAvailabilityChangedListener">
-      <webidl>        void         removeAvailabilityChangedListener (short handle);</webidl>
-      <Type type="void"/>
-      <ArgumentList>
-        <Argument name="handle">
-          <Type type="short"/>
-        </Argument>
-      </ArgumentList>
-    </Operation>
     <Operation name="get" id="::VehicleInterface::get">
-      <webidl>        <ref>Promise</ref>      get (optional <ref>Zone</ref> zone);</webidl>
+      <webidl>    <ref>Promise</ref>        get (optional <ref>Zone</ref> zone);</webidl>
       <Type name="Promise"/>
       <ArgumentList>
         <Argument optional="optional" name="zone">
@@ -1174,7 +1337,7 @@ interface VehicleInterface {
       </ArgumentList>
     </Operation>
     <Operation name="getHistory" id="::VehicleInterface::getHistory">
-      <webidl>        <ref>Promise</ref>      getHistory (Date begin, Date end, optional <ref>Zone</ref> zone);</webidl>
+      <webidl>    <ref>Promise</ref>        getHistory (Date begin, Date end, optional <ref>Zone</ref> zone);</webidl>
       <Type name="Promise"/>
       <ArgumentList>
         <Argument name="begin">
@@ -1188,28 +1351,46 @@ interface VehicleInterface {
         </Argument>
       </ArgumentList>
     </Operation>
+    <Operation name="availabilityChangedListener" id="::VehicleInterface::availabilityChangedListener">
+      <webidl>    short          availabilityChangedListener (<ref>AvailableCallback</ref> callback);</webidl>
+      <Type type="short"/>
+      <ArgumentList>
+        <Argument name="callback">
+          <Type name="AvailableCallback"/>
+        </Argument>
+      </ArgumentList>
+    </Operation>
+    <Operation name="removeAvailabilityChangedListener" id="::VehicleInterface::removeAvailabilityChangedListener">
+      <webidl>    void           removeAvailabilityChangedListener (short handle);</webidl>
+      <Type type="void"/>
+      <ArgumentList>
+        <Argument name="handle">
+          <Type type="short"/>
+        </Argument>
+      </ArgumentList>
+    </Operation>
+    <Attribute readonly="readonly" name="zones" id="::VehicleInterface::zones">
+      <webidl>    readonly       attribute <ref>Zone</ref>[] zones;</webidl>
+      <Type type="array">
+        <Type name="Zone"/>
+      </Type>
+    </Attribute>
+    <Attribute readonly="readonly" name="supported" id="::VehicleInterface::supported">
+      <webidl>    readonly       attribute boolean supported;</webidl>
+      <Type type="boolean"/>
+    </Attribute>
     <Attribute readonly="readonly" name="isLogged" id="::VehicleInterface::isLogged">
-      <webidl>        readonly attribute boolean isLogged;</webidl>
+      <webidl>    readonly       attribute boolean isLogged;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute readonly="readonly" name="from" id="::VehicleInterface::from">
-      <webidl>        readonly attribute Date ?  from;</webidl>
+      <webidl>    readonly       attribute Date ?  from;</webidl>
       <Type type="Date" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="to" id="::VehicleInterface::to">
-      <webidl>        readonly attribute Date ?  to;</webidl>
+      <webidl>    readonly       attribute Date ?  to;</webidl>
       <Type type="Date" nullable="nullable"/>
     </Attribute>
-    <Attribute readonly="readonly" name="supported" id="::VehicleInterface::supported">
-      <webidl>        readonly attribute boolean supported;</webidl>
-      <Type type="boolean"/>
-    </Attribute>
-    <Attribute readonly="readonly" name="zones" id="::VehicleInterface::zones">
-      <webidl>        readonly attribute <ref>Zone</ref>[] zones;</webidl>
-      <Type type="array">
-        <Type name="Zone"/>
-      </Type>
-    </Attribute>
   </Interface>
   <Interface name="VehicleConfigurationInterface" id="::VehicleConfigurationInterface">
     <webidl>[NoInterfaceObject]
@@ -1228,9 +1409,9 @@ interface VehicleConfigurationInterface : <ref>VehicleInterface</ref> {};</webid
 interface VehicleSignalInterface : <ref>VehicleInterface</ref> {
     <ref>Availability</ref>   availableForSubscription (DOMString attributeName);
     <ref>Availability</ref>   availableForSetting (DOMString attributeName);
-        <ref>Promise</ref>        set (object value, optional <ref>Zone</ref> zone);
-        unsigned short subscribe (<ref>VehicleInterfaceCallback</ref> callback, optional <ref>Zone</ref> zone);
-        void           unsubscribe (unsigned short handle);
+    <ref>Promise</ref>        set (object value, optional <ref>Zone</ref> zone);
+    unsigned short subscribe (<ref>VehicleInterfaceCallback</ref> callback, optional <ref>Zone</ref> zone);
+    void           unsubscribe (unsigned short handle);
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1259,7 +1440,7 @@ interface VehicleSignalInterface : <ref>VehicleInterface</ref> {
       </ArgumentList>
     </Operation>
     <Operation name="set" id="::VehicleSignalInterface::set">
-      <webidl>        <ref>Promise</ref>        set (object value, optional <ref>Zone</ref> zone);</webidl>
+      <webidl>    <ref>Promise</ref>        set (object value, optional <ref>Zone</ref> zone);</webidl>
       <Type name="Promise"/>
       <ArgumentList>
         <Argument name="value">
@@ -1271,7 +1452,7 @@ interface VehicleSignalInterface : <ref>VehicleInterface</ref> {
       </ArgumentList>
     </Operation>
     <Operation name="subscribe" id="::VehicleSignalInterface::subscribe">
-      <webidl>        unsigned short subscribe (<ref>VehicleInterfaceCallback</ref> callback, optional <ref>Zone</ref> zone);</webidl>
+      <webidl>    unsigned short subscribe (<ref>VehicleInterfaceCallback</ref> callback, optional <ref>Zone</ref> zone);</webidl>
       <Type type="unsigned short"/>
       <ArgumentList>
         <Argument name="callback">
@@ -1283,7 +1464,7 @@ interface VehicleSignalInterface : <ref>VehicleInterface</ref> {
       </ArgumentList>
     </Operation>
     <Operation name="unsubscribe" id="::VehicleSignalInterface::unsubscribe">
-      <webidl>        void           unsubscribe (unsigned short handle);</webidl>
+      <webidl>    void           unsubscribe (unsigned short handle);</webidl>
       <Type type="void"/>
       <ArgumentList>
         <Argument name="handle">
@@ -1292,111 +1473,38 @@ interface VehicleSignalInterface : <ref>VehicleInterface</ref> {
       </ArgumentList>
     </Operation>
   </Interface>
-  <Enum name="ZonePosition" id="::ZonePosition">
-    <webidl>enum ZonePosition {&quot;Front&quot;, &quot;Middle&quot;, &quot;Right&quot;, &quot;Left&quot;, &quot;Rear&quot;, &quot;Center&quot;};</webidl>
-    <EnumValue stringvalue="Front">
-      <webidl>&quot;Front</webidl>
-    </EnumValue>
-    <EnumValue stringvalue="Middle">
-      <webidl> &quot;Middle</webidl>
-    </EnumValue>
-    <EnumValue stringvalue="Right">
-      <webidl> &quot;Right</webidl>
-    </EnumValue>
-    <EnumValue stringvalue="Left">
-      <webidl> &quot;Left</webidl>
-    </EnumValue>
-    <EnumValue stringvalue="Rear">
-      <webidl> &quot;Rear</webidl>
-    </EnumValue>
-    <EnumValue stringvalue="Center">
-      <webidl> &quot;Center</webidl>
-    </EnumValue>
-  </Enum>
-  <Interface name="Zone" id="::Zone">
-    <webidl>[NoInterfaceObject]
-interface Zone {
-                         attribute DOMString[]  value;
-        readonly attribute <ref>Zone</ref> driver;
-        boolean equals (<ref>Zone</ref> zone);
-        boolean contains (<ref>Zone</ref> zone);
+  <Enum name="Availability" id="::Availability">
+    <webidl>enum Availability {
+    &quot;available&quot;,
+    &quot;not_supported&quot;,
+    &quot;not_supported_yet&quot;,
+    &quot;not_supported_security_policy&quot;,
+    &quot;not_supported_business_policy&quot;,
+    &quot;not_supported_other&quot;
 };</webidl>
-    <ExtendedAttributeList>
-      <ExtendedAttribute name="NoInterfaceObject">
-        <webidl>NoInterfaceObject</webidl>
-      </ExtendedAttribute>
-    </ExtendedAttributeList>
-    <Attribute name="value" id="::Zone::value">
-      <webidl>                         attribute DOMString[]  value;</webidl>
-      <Type type="array">
-        <Type type="DOMString"/>
-      </Type>
-    </Attribute>
-    <Attribute readonly="readonly" name="driver" id="::Zone::driver">
-      <webidl>        readonly attribute <ref>Zone</ref> driver;</webidl>
-      <Type name="Zone"/>
-    </Attribute>
-    <Operation name="equals" id="::Zone::equals">
-      <webidl>        boolean equals (<ref>Zone</ref> zone);</webidl>
-      <Type type="boolean"/>
-      <ArgumentList>
-        <Argument name="zone">
-          <Type name="Zone"/>
-        </Argument>
-      </ArgumentList>
-    </Operation>
-    <Operation name="contains" id="::Zone::contains">
-      <webidl>        boolean contains (<ref>Zone</ref> zone);</webidl>
-      <Type type="boolean"/>
-      <ArgumentList>
-        <Argument name="zone">
-          <Type name="Zone"/>
-        </Argument>
-      </ArgumentList>
-    </Operation>
-  </Interface>
-  <Enum name="VehicleError" id="::VehicleError">
-    <webidl>enum VehicleError {&quot;permission_denied&quot;, &quot;invalid_operation&quot;, &quot;timeout&quot;, &quot;invalid_zone&quot;, &quot;unknown&quot;};</webidl>
-    <EnumValue stringvalue="permission_denied">
-      <webidl>&quot;permission_denied</webidl>
+    <EnumValue stringvalue="available">
+      <webidl>    &quot;available</webidl>
     </EnumValue>
-    <EnumValue stringvalue="invalid_operation">
-      <webidl> &quot;invalid_operation</webidl>
+    <EnumValue stringvalue="not_supported">
+      <webidl>    &quot;not_supported</webidl>
     </EnumValue>
-    <EnumValue stringvalue="timeout">
-      <webidl> &quot;timeout</webidl>
+    <EnumValue stringvalue="not_supported_yet">
+      <webidl>    &quot;not_supported_yet</webidl>
     </EnumValue>
-    <EnumValue stringvalue="invalid_zone">
-      <webidl> &quot;invalid_zone</webidl>
+    <EnumValue stringvalue="not_supported_security_policy">
+      <webidl>    &quot;not_supported_security_policy</webidl>
     </EnumValue>
-    <EnumValue stringvalue="unknown">
-      <webidl> &quot;unknown</webidl>
+    <EnumValue stringvalue="not_supported_business_policy">
+      <webidl>    &quot;not_supported_business_policy</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="not_supported_other">
+      <webidl>    &quot;not_supported_other</webidl>
     </EnumValue>
   </Enum>
-  <Interface name="VehicleInterfaceError" id="::VehicleInterfaceError">
-    <webidl>[NoInterfaceObject]
-interface VehicleInterfaceError {
-        readonly attribute <ref>VehicleError</ref> error;
-        readonly attribute DOMString    message;
-};</webidl>
-    <ExtendedAttributeList>
-      <ExtendedAttribute name="NoInterfaceObject">
-        <webidl>NoInterfaceObject</webidl>
-      </ExtendedAttribute>
-    </ExtendedAttributeList>
-    <Attribute readonly="readonly" name="error" id="::VehicleInterfaceError::error">
-      <webidl>        readonly attribute <ref>VehicleError</ref> error;</webidl>
-      <Type name="VehicleError"/>
-    </Attribute>
-    <Attribute readonly="readonly" name="message" id="::VehicleInterfaceError::message">
-      <webidl>        readonly attribute DOMString    message;</webidl>
-      <Type type="DOMString"/>
-    </Attribute>
-  </Interface>
   <Interface name="VehicleCommonDataType" id="::VehicleCommonDataType">
     <webidl>[NoInterfaceObject]
 interface VehicleCommonDataType {
-        readonly attribute <ref>DOMTimeStamp</ref>? timeStamp;
+    readonly    attribute <ref>DOMTimeStamp</ref>? timeStamp;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1404,49 +1512,55 @@ interface VehicleCommonDataType {
       </ExtendedAttribute>
     </ExtendedAttributeList>
     <Attribute readonly="readonly" name="timeStamp" id="::VehicleCommonDataType::timeStamp">
-      <webidl>        readonly attribute <ref>DOMTimeStamp</ref>? timeStamp;</webidl>
+      <webidl>    readonly    attribute <ref>DOMTimeStamp</ref>? timeStamp;</webidl>
       <Type name="DOMTimeStamp" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Enum name="VehicleTypeEnum" id="::VehicleTypeEnum">
     <webidl>enum VehicleTypeEnum {
-        &quot;passengerCarMini&quot;, &quot;passengerCarLight&quot;, &quot;passengerCarCompact&quot;, &quot;passengerCarMedium&quot;,
-        &quot;passengerCarHeavy&quot;, &quot;sportUtilityVehicle&quot;, &quot;pickupTruck&quot;, &quot;van&quot;
+    &quot;passengerCarMini&quot;,
+    &quot;passengerCarLight&quot;,
+    &quot;passengerCarCompact&quot;,
+    &quot;passengerCarMedium&quot;,
+    &quot;passengerCarHeavy&quot;,
+    &quot;sportUtilityVehicle&quot;,
+    &quot;pickupTruck&quot;,
+    &quot;van&quot;
 };</webidl>
     <EnumValue stringvalue="passengerCarMini">
-      <webidl>        &quot;passengerCarMini</webidl>
+      <webidl>    &quot;passengerCarMini</webidl>
     </EnumValue>
     <EnumValue stringvalue="passengerCarLight">
-      <webidl> &quot;passengerCarLight</webidl>
+      <webidl>    &quot;passengerCarLight</webidl>
     </EnumValue>
     <EnumValue stringvalue="passengerCarCompact">
-      <webidl> &quot;passengerCarCompact</webidl>
+      <webidl>    &quot;passengerCarCompact</webidl>
     </EnumValue>
     <EnumValue stringvalue="passengerCarMedium">
-      <webidl> &quot;passengerCarMedium</webidl>
+      <webidl>    &quot;passengerCarMedium</webidl>
     </EnumValue>
     <EnumValue stringvalue="passengerCarHeavy">
-      <webidl>        &quot;passengerCarHeavy</webidl>
+      <webidl>    &quot;passengerCarHeavy</webidl>
     </EnumValue>
     <EnumValue stringvalue="sportUtilityVehicle">
-      <webidl> &quot;sportUtilityVehicle</webidl>
+      <webidl>    &quot;sportUtilityVehicle</webidl>
     </EnumValue>
     <EnumValue stringvalue="pickupTruck">
-      <webidl> &quot;pickupTruck</webidl>
+      <webidl>    &quot;pickupTruck</webidl>
     </EnumValue>
     <EnumValue stringvalue="van">
-      <webidl> &quot;van</webidl>
+      <webidl>    &quot;van</webidl>
     </EnumValue>
   </Enum>
   <Interface name="Identification" id="::Identification">
     <webidl>[NoInterfaceObject]
 interface Identification : <ref>VehicleCommonDataType</ref> {
-        readonly attribute DOMString?       VIN;
-        readonly attribute DOMString?       WMI;
-        readonly attribute <ref>VehicleTypeEnum</ref>? vehicleType;
-        readonly attribute DOMString?       brand;
-        readonly attribute DOMString?       model;
-        readonly attribute unsigned short?  year;
+    readonly    attribute DOMString?       VIN;
+    readonly    attribute DOMString?       WMI;
+    readonly    attribute <ref>VehicleTypeEnum</ref>? vehicleType;
+    readonly    attribute DOMString?       brand;
+    readonly    attribute DOMString?       model;
+    readonly    attribute unsigned short?  year;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1457,38 +1571,38 @@ interface Identification : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="VIN" id="::Identification::VIN">
-      <webidl>        readonly attribute DOMString?       VIN;</webidl>
+      <webidl>    readonly    attribute DOMString?       VIN;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="WMI" id="::Identification::WMI">
-      <webidl>        readonly attribute DOMString?       WMI;</webidl>
+      <webidl>    readonly    attribute DOMString?       WMI;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="vehicleType" id="::Identification::vehicleType">
-      <webidl>        readonly attribute <ref>VehicleTypeEnum</ref>? vehicleType;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleTypeEnum</ref>? vehicleType;</webidl>
       <Type name="VehicleTypeEnum" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="brand" id="::Identification::brand">
-      <webidl>        readonly attribute DOMString?       brand;</webidl>
+      <webidl>    readonly    attribute DOMString?       brand;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="model" id="::Identification::model">
-      <webidl>        readonly attribute DOMString?       model;</webidl>
+      <webidl>    readonly    attribute DOMString?       model;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="year" id="::Identification::year">
-      <webidl>        readonly attribute unsigned short?  year;</webidl>
+      <webidl>    readonly    attribute unsigned short?  year;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="SizeConfiguration" id="::SizeConfiguration">
     <webidl>[NoInterfaceObject]
 interface SizeConfiguration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short?   width;
-        readonly attribute unsigned short?   height;
-        readonly attribute unsigned short?   length;
-        readonly attribute unsigned short[]? doorsCount;
-        readonly attribute unsigned short?   totalDoors;
+    readonly    attribute unsigned short?   width;
+    readonly    attribute unsigned short?   height;
+    readonly    attribute unsigned short?   length;
+    readonly    attribute unsigned short[]? doorsCount;
+    readonly    attribute unsigned short?   totalDoors;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1499,59 +1613,65 @@ interface SizeConfiguration : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="width" id="::SizeConfiguration::width">
-      <webidl>        readonly attribute unsigned short?   width;</webidl>
+      <webidl>    readonly    attribute unsigned short?   width;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="height" id="::SizeConfiguration::height">
-      <webidl>        readonly attribute unsigned short?   height;</webidl>
+      <webidl>    readonly    attribute unsigned short?   height;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="length" id="::SizeConfiguration::length">
-      <webidl>        readonly attribute unsigned short?   length;</webidl>
+      <webidl>    readonly    attribute unsigned short?   length;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="doorsCount" id="::SizeConfiguration::doorsCount">
-      <webidl>        readonly attribute unsigned short[]? doorsCount;</webidl>
+      <webidl>    readonly    attribute unsigned short[]? doorsCount;</webidl>
       <Type type="array" nullable="nullable">
         <Type type="unsigned short"/>
       </Type>
     </Attribute>
     <Attribute readonly="readonly" name="totalDoors" id="::SizeConfiguration::totalDoors">
-      <webidl>        readonly attribute unsigned short?   totalDoors;</webidl>
+      <webidl>    readonly    attribute unsigned short?   totalDoors;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Enum name="FuelTypeEnum" id="::FuelTypeEnum">
     <webidl>enum FuelTypeEnum {
-        &quot;gasoline&quot;, &quot;methanol&quot;, &quot;ethanol&quot;, &quot;diesel&quot;, &quot;lpg&quot;, &quot;cng&quot;, &quot;electric&quot;
+    &quot;gasoline&quot;,
+    &quot;methanol&quot;,
+    &quot;ethanol&quot;,
+    &quot;diesel&quot;,
+    &quot;lpg&quot;,
+    &quot;cng&quot;,
+    &quot;electric&quot;
 };</webidl>
     <EnumValue stringvalue="gasoline">
-      <webidl>        &quot;gasoline</webidl>
+      <webidl>    &quot;gasoline</webidl>
     </EnumValue>
     <EnumValue stringvalue="methanol">
-      <webidl> &quot;methanol</webidl>
+      <webidl>    &quot;methanol</webidl>
     </EnumValue>
     <EnumValue stringvalue="ethanol">
-      <webidl> &quot;ethanol</webidl>
+      <webidl>    &quot;ethanol</webidl>
     </EnumValue>
     <EnumValue stringvalue="diesel">
-      <webidl> &quot;diesel</webidl>
+      <webidl>    &quot;diesel</webidl>
     </EnumValue>
     <EnumValue stringvalue="lpg">
-      <webidl> &quot;lpg</webidl>
+      <webidl>    &quot;lpg</webidl>
     </EnumValue>
     <EnumValue stringvalue="cng">
-      <webidl> &quot;cng</webidl>
+      <webidl>    &quot;cng</webidl>
     </EnumValue>
     <EnumValue stringvalue="electric">
-      <webidl> &quot;electric</webidl>
+      <webidl>    &quot;electric</webidl>
     </EnumValue>
   </Enum>
   <Interface name="FuelConfiguration" id="::FuelConfiguration">
     <webidl>[NoInterfaceObject]
 interface FuelConfiguration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>FuelTypeEnum</ref>[]? fuelType;
-        readonly attribute <ref>Zone</ref>?           refuelPosition;
+    readonly    attribute <ref>FuelTypeEnum</ref>[]? fuelType;
+    readonly    attribute <ref>Zone</ref>?           refuelPosition;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1562,29 +1682,32 @@ interface FuelConfiguration : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="fuelType" id="::FuelConfiguration::fuelType">
-      <webidl>        readonly attribute <ref>FuelTypeEnum</ref>[]? fuelType;</webidl>
+      <webidl>    readonly    attribute <ref>FuelTypeEnum</ref>[]? fuelType;</webidl>
       <Type type="array" nullable="nullable">
         <Type name="FuelTypeEnum"/>
       </Type>
     </Attribute>
     <Attribute readonly="readonly" name="refuelPosition" id="::FuelConfiguration::refuelPosition">
-      <webidl>        readonly attribute <ref>Zone</ref>?           refuelPosition;</webidl>
+      <webidl>    readonly    attribute <ref>Zone</ref>?           refuelPosition;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Enum name="TransmissionGearTypeEnum" id="::TransmissionGearTypeEnum">
-    <webidl>enum TransmissionGearTypeEnum {&quot;auto&quot;, &quot;manual&quot;};</webidl>
+    <webidl>enum TransmissionGearTypeEnum {
+    &quot;auto&quot;,
+    &quot;manual&quot;
+};</webidl>
     <EnumValue stringvalue="auto">
-      <webidl>&quot;auto</webidl>
+      <webidl>    &quot;auto</webidl>
     </EnumValue>
     <EnumValue stringvalue="manual">
-      <webidl> &quot;manual</webidl>
+      <webidl>    &quot;manual</webidl>
     </EnumValue>
   </Enum>
   <Interface name="TransmissionConfiguration" id="::TransmissionConfiguration">
     <webidl>[NoInterfaceObject]
 interface TransmissionConfiguration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>TransmissionGearTypeEnum</ref>? transmissionGearType;
+    readonly    attribute <ref>TransmissionGearTypeEnum</ref>? transmissionGearType;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1595,15 +1718,15 @@ interface TransmissionConfiguration : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="transmissionGearType" id="::TransmissionConfiguration::transmissionGearType">
-      <webidl>        readonly attribute <ref>TransmissionGearTypeEnum</ref>? transmissionGearType;</webidl>
+      <webidl>    readonly    attribute <ref>TransmissionGearTypeEnum</ref>? transmissionGearType;</webidl>
       <Type name="TransmissionGearTypeEnum" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="WheelConfiguration" id="::WheelConfiguration">
     <webidl>[NoInterfaceObject]
 interface WheelConfiguration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short? wheelRadius;
-                     attribute <ref>Zone</ref>?           zone;
+    readonly    attribute unsigned short? wheelRadius;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1614,18 +1737,20 @@ interface WheelConfiguration : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="wheelRadius" id="::WheelConfiguration::wheelRadius">
-      <webidl>        readonly attribute unsigned short? wheelRadius;</webidl>
+      <webidl>    readonly    attribute unsigned short? wheelRadius;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
-    <Attribute name="zone" id="::WheelConfiguration::zone">
-      <webidl>                     attribute <ref>Zone</ref>?           zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::WheelConfiguration::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?           zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="SteeringWheelConfiguration" id="::SteeringWheelConfiguration">
     <webidl>[NoInterfaceObject]
 interface SteeringWheelConfiguration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean? steeringWheelLeft;
+    readonly    attribute boolean?        steeringWheelLeft;
+                attribute unsigned short? steeringWheelTelescopingPosition;
+                attribute unsigned short? steeringWheelPositionTilt;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1636,14 +1761,22 @@ interface SteeringWheelConfiguration : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="steeringWheelLeft" id="::SteeringWheelConfiguration::steeringWheelLeft">
-      <webidl>        readonly attribute boolean? steeringWheelLeft;</webidl>
+      <webidl>    readonly    attribute boolean?        steeringWheelLeft;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
+    <Attribute name="steeringWheelTelescopingPosition" id="::SteeringWheelConfiguration::steeringWheelTelescopingPosition">
+      <webidl>                attribute unsigned short? steeringWheelTelescopingPosition;</webidl>
+      <Type type="unsigned short" nullable="nullable"/>
+    </Attribute>
+    <Attribute name="steeringWheelPositionTilt" id="::SteeringWheelConfiguration::steeringWheelPositionTilt">
+      <webidl>                attribute unsigned short? steeringWheelPositionTilt;</webidl>
+      <Type type="unsigned short" nullable="nullable"/>
+    </Attribute>
   </Interface>
   <Interface name="VehicleSpeed" id="::VehicleSpeed">
     <webidl>[NoInterfaceObject]
 interface VehicleSpeed : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short speed;
+    readonly    attribute unsigned short speed;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1654,15 +1787,15 @@ interface VehicleSpeed : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="speed" id="::VehicleSpeed::speed">
-      <webidl>        readonly attribute unsigned short speed;</webidl>
+      <webidl>    readonly    attribute unsigned short speed;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
   </Interface>
   <Interface name="WheelSpeed" id="::WheelSpeed">
     <webidl>[NoInterfaceObject]
 interface WheelSpeed : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short speed;
-                     attribute <ref>Zone</ref>?          zone;
+    readonly    attribute unsigned short speed;
+    readonly    attribute <ref>Zone</ref>?          zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1673,18 +1806,18 @@ interface WheelSpeed : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="speed" id="::WheelSpeed::speed">
-      <webidl>        readonly attribute unsigned short speed;</webidl>
+      <webidl>    readonly    attribute unsigned short speed;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
-    <Attribute name="zone" id="::WheelSpeed::zone">
-      <webidl>                     attribute <ref>Zone</ref>?          zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::WheelSpeed::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?          zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="EngineSpeed" id="::EngineSpeed">
     <webidl>[NoInterfaceObject]
 interface EngineSpeed : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long speed;
+    readonly    attribute unsigned long speed;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1695,14 +1828,52 @@ interface EngineSpeed : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="speed" id="::EngineSpeed::speed">
-      <webidl>        readonly attribute unsigned long speed;</webidl>
+      <webidl>    readonly    attribute unsigned long speed;</webidl>
       <Type type="unsigned long"/>
     </Attribute>
   </Interface>
+  <Enum name="VehiclePowerMode" id="::VehiclePowerMode">
+    <webidl>enum VehiclePowerMode {
+    &quot;off&quot;,
+    &quot;accessory1&quot;,
+    &quot;accessory2&quot;,
+    &quot;running&quot;
+};</webidl>
+    <EnumValue stringvalue="off">
+      <webidl>    &quot;off</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="accessory1">
+      <webidl>    &quot;accessory1</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="accessory2">
+      <webidl>    &quot;accessory2</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="running">
+      <webidl>    &quot;running</webidl>
+    </EnumValue>
+  </Enum>
+  <Interface name="VehiclePowerModeType" id="::VehiclePowerModeType">
+    <webidl>[NoInterfaceObject]
+interface VehiclePowerModeType : <ref>VehicleCommonDataType</ref> {
+    readonly    attribute <ref>VehiclePowerMode</ref> value;
+};</webidl>
+    <ExtendedAttributeList>
+      <ExtendedAttribute name="NoInterfaceObject">
+        <webidl>NoInterfaceObject</webidl>
+      </ExtendedAttribute>
+    </ExtendedAttributeList>
+    <InterfaceInheritance>
+      <Name name="VehicleCommonDataType"/>
+    </InterfaceInheritance>
+    <Attribute readonly="readonly" name="value" id="::VehiclePowerModeType::value">
+      <webidl>    readonly    attribute <ref>VehiclePowerMode</ref> value;</webidl>
+      <Type name="VehiclePowerMode"/>
+    </Attribute>
+  </Interface>
   <Interface name="PowerTrainTorque" id="::PowerTrainTorque">
     <webidl>[NoInterfaceObject]
 interface PowerTrainTorque : <ref>VehicleCommonDataType</ref> {
-        readonly attribute short value;
+    readonly    attribute short value;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1713,14 +1884,14 @@ interface PowerTrainTorque : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="value" id="::PowerTrainTorque::value">
-      <webidl>        readonly attribute short value;</webidl>
+      <webidl>    readonly    attribute short value;</webidl>
       <Type type="short"/>
     </Attribute>
   </Interface>
   <Interface name="AcceleratorPedalPosition" id="::AcceleratorPedalPosition">
     <webidl>[NoInterfaceObject]
 interface AcceleratorPedalPosition : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short value;
+    readonly    attribute unsigned short value;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1731,14 +1902,14 @@ interface AcceleratorPedalPosition : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="value" id="::AcceleratorPedalPosition::value">
-      <webidl>        readonly attribute unsigned short value;</webidl>
+      <webidl>    readonly    attribute unsigned short value;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
   </Interface>
   <Interface name="ThrottlePosition" id="::ThrottlePosition">
     <webidl>[NoInterfaceObject]
 interface ThrottlePosition : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short value;
+    readonly    attribute unsigned short value;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1749,16 +1920,16 @@ interface ThrottlePosition : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="value" id="::ThrottlePosition::value">
-      <webidl>        readonly attribute unsigned short value;</webidl>
+      <webidl>    readonly    attribute unsigned short value;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
   </Interface>
   <Interface name="Trip" id="::Trip">
     <webidl>[NoInterfaceObject]
 interface Trip {
-        readonly attribute unsigned long   distance;
-        readonly attribute unsigned short? averageSpeed;
-        readonly attribute unsigned short? fuelConsumption;
+    readonly    attribute unsigned long   distance;
+    readonly    attribute unsigned short? averageSpeed;
+    readonly    attribute unsigned short? fuelConsumption;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1766,22 +1937,22 @@ interface Trip {
       </ExtendedAttribute>
     </ExtendedAttributeList>
     <Attribute readonly="readonly" name="distance" id="::Trip::distance">
-      <webidl>        readonly attribute unsigned long   distance;</webidl>
+      <webidl>    readonly    attribute unsigned long   distance;</webidl>
       <Type type="unsigned long"/>
     </Attribute>
     <Attribute readonly="readonly" name="averageSpeed" id="::Trip::averageSpeed">
-      <webidl>        readonly attribute unsigned short? averageSpeed;</webidl>
+      <webidl>    readonly    attribute unsigned short? averageSpeed;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="fuelConsumption" id="::Trip::fuelConsumption">
-      <webidl>        readonly attribute unsigned short? fuelConsumption;</webidl>
+      <webidl>    readonly    attribute unsigned short? fuelConsumption;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="TripMeters" id="::TripMeters">
     <webidl>[NoInterfaceObject]
 interface TripMeters : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>Trip</ref>[] meters;
+    readonly    attribute <ref>Trip</ref>[] meters;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1792,76 +1963,45 @@ interface TripMeters : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="meters" id="::TripMeters::meters">
-      <webidl>        readonly attribute <ref>Trip</ref>[] meters;</webidl>
+      <webidl>    readonly    attribute <ref>Trip</ref>[] meters;</webidl>
       <Type type="array">
         <Type name="Trip"/>
       </Type>
     </Attribute>
   </Interface>
-  <Interface name="Diagnostic" id="::Diagnostic">
-    <webidl>[NoInterfaceObject]
-interface Diagnostic : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long accumulatedEngineRuntime;
-        readonly attribute unsigned long distanceWithMILOn;
-        readonly attribute unsigned long distanceSinceCodeCleared;
-        readonly attribute unsigned long timeRunMILOn;
-        readonly attribute unsigned long timeTroubleCodeClear;
-};</webidl>
-    <ExtendedAttributeList>
-      <ExtendedAttribute name="NoInterfaceObject">
-        <webidl>NoInterfaceObject</webidl>
-      </ExtendedAttribute>
-    </ExtendedAttributeList>
-    <InterfaceInheritance>
-      <Name name="VehicleCommonDataType"/>
-    </InterfaceInheritance>
-    <Attribute readonly="readonly" name="accumulatedEngineRuntime" id="::Diagnostic::accumulatedEngineRuntime">
-      <webidl>        readonly attribute unsigned long accumulatedEngineRuntime;</webidl>
-      <Type type="unsigned long"/>
-    </Attribute>
-    <Attribute readonly="readonly" name="distanceWithMILOn" id="::Diagnostic::distanceWithMILOn">
-      <webidl>        readonly attribute unsigned long distanceWithMILOn;</webidl>
-      <Type type="unsigned long"/>
-    </Attribute>
-    <Attribute readonly="readonly" name="distanceSinceCodeCleared" id="::Diagnostic::distanceSinceCodeCleared">
-      <webidl>        readonly attribute unsigned long distanceSinceCodeCleared;</webidl>
-      <Type type="unsigned long"/>
-    </Attribute>
-    <Attribute readonly="readonly" name="timeRunMILOn" id="::Diagnostic::timeRunMILOn">
-      <webidl>        readonly attribute unsigned long timeRunMILOn;</webidl>
-      <Type type="unsigned long"/>
-    </Attribute>
-    <Attribute readonly="readonly" name="timeTroubleCodeClear" id="::Diagnostic::timeTroubleCodeClear">
-      <webidl>        readonly attribute unsigned long timeTroubleCodeClear;</webidl>
-      <Type type="unsigned long"/>
-    </Attribute>
-  </Interface>
   <Enum name="TransmissionMode" id="::TransmissionMode">
-    <webidl>enum TransmissionMode {&quot;park&quot;, &quot;reverse&quot;, &quot;neutral&quot;, &quot;low&quot;, &quot;drive&quot;, &quot;overdrive&quot;};</webidl>
+    <webidl>enum TransmissionMode {
+    &quot;park&quot;,
+    &quot;reverse&quot;,
+    &quot;neutral&quot;,
+    &quot;low&quot;,
+    &quot;drive&quot;,
+    &quot;overdrive&quot;
+};</webidl>
     <EnumValue stringvalue="park">
-      <webidl>&quot;park</webidl>
+      <webidl>    &quot;park</webidl>
     </EnumValue>
     <EnumValue stringvalue="reverse">
-      <webidl> &quot;reverse</webidl>
+      <webidl>    &quot;reverse</webidl>
     </EnumValue>
     <EnumValue stringvalue="neutral">
-      <webidl> &quot;neutral</webidl>
+      <webidl>    &quot;neutral</webidl>
     </EnumValue>
     <EnumValue stringvalue="low">
-      <webidl> &quot;low</webidl>
+      <webidl>    &quot;low</webidl>
     </EnumValue>
     <EnumValue stringvalue="drive">
-      <webidl> &quot;drive</webidl>
+      <webidl>    &quot;drive</webidl>
     </EnumValue>
     <EnumValue stringvalue="overdrive">
-      <webidl> &quot;overdrive</webidl>
+      <webidl>    &quot;overdrive</webidl>
     </EnumValue>
   </Enum>
   <Interface name="Transmission" id="::Transmission">
     <webidl>[NoInterfaceObject]
 interface Transmission : <ref>VehicleCommonDataType</ref> {
-        readonly attribute octet?            gear;
-        readonly attribute <ref>TransmissionMode</ref>? mode;
+    readonly    attribute octet?            gear;
+    readonly    attribute <ref>TransmissionMode</ref>? mode;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1872,19 +2012,19 @@ interface Transmission : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="gear" id="::Transmission::gear">
-      <webidl>        readonly attribute octet?            gear;</webidl>
+      <webidl>    readonly    attribute octet?            gear;</webidl>
       <Type type="octet" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="mode" id="::Transmission::mode">
-      <webidl>        readonly attribute <ref>TransmissionMode</ref>? mode;</webidl>
+      <webidl>    readonly    attribute <ref>TransmissionMode</ref>? mode;</webidl>
       <Type name="TransmissionMode" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="CruiseControlStatus" id="::CruiseControlStatus">
     <webidl>[NoInterfaceObject]
 interface CruiseControlStatus : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean        status;
-        readonly attribute unsigned short speed;
+    readonly    attribute boolean        status;
+    readonly    attribute unsigned short speed;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1895,28 +2035,28 @@ interface CruiseControlStatus : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="status" id="::CruiseControlStatus::status">
-      <webidl>        readonly attribute boolean        status;</webidl>
+      <webidl>    readonly    attribute boolean        status;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute readonly="readonly" name="speed" id="::CruiseControlStatus::speed">
-      <webidl>        readonly attribute unsigned short speed;</webidl>
+      <webidl>    readonly    attribute unsigned short speed;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
   </Interface>
   <Interface name="LightStatus" id="::LightStatus">
     <webidl>[NoInterfaceObject]
 interface LightStatus : <ref>VehicleCommonDataType</ref> {
-        attribute boolean  head;
-        attribute boolean  rightTurn;
-        attribute boolean  leftTurn;
-        attribute boolean  brake;
-        attribute boolean? fog;
-        attribute boolean  hazard;
-        attribute boolean  parking;
-        attribute boolean  highBeam;
-        attribute boolean? automaticHeadlights;
-        attribute boolean? dynamicHighBeam;
-        attribute <ref>Zone</ref>?    zone;
+                attribute boolean  head;
+                attribute boolean  rightTurn;
+                attribute boolean  leftTurn;
+                attribute boolean  brake;
+                attribute boolean? fog;
+                attribute boolean  hazard;
+                attribute boolean  parking;
+                attribute boolean  highBeam;
+                attribute boolean? automaticHeadlights;
+                attribute boolean? dynamicHighBeam;
+    readonly    attribute <ref>Zone</ref>?    zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1927,55 +2067,55 @@ interface LightStatus : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="head" id="::LightStatus::head">
-      <webidl>        attribute boolean  head;</webidl>
+      <webidl>                attribute boolean  head;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute name="rightTurn" id="::LightStatus::rightTurn">
-      <webidl>        attribute boolean  rightTurn;</webidl>
+      <webidl>                attribute boolean  rightTurn;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute name="leftTurn" id="::LightStatus::leftTurn">
-      <webidl>        attribute boolean  leftTurn;</webidl>
+      <webidl>                attribute boolean  leftTurn;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute name="brake" id="::LightStatus::brake">
-      <webidl>        attribute boolean  brake;</webidl>
+      <webidl>                attribute boolean  brake;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute name="fog" id="::LightStatus::fog">
-      <webidl>        attribute boolean? fog;</webidl>
+      <webidl>                attribute boolean? fog;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
     <Attribute name="hazard" id="::LightStatus::hazard">
-      <webidl>        attribute boolean  hazard;</webidl>
+      <webidl>                attribute boolean  hazard;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute name="parking" id="::LightStatus::parking">
-      <webidl>        attribute boolean  parking;</webidl>
+      <webidl>                attribute boolean  parking;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute name="highBeam" id="::LightStatus::highBeam">
-      <webidl>        attribute boolean  highBeam;</webidl>
+      <webidl>                attribute boolean  highBeam;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute name="automaticHeadlights" id="::LightStatus::automaticHeadlights">
-      <webidl>        attribute boolean? automaticHeadlights;</webidl>
+      <webidl>                attribute boolean? automaticHeadlights;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
     <Attribute name="dynamicHighBeam" id="::LightStatus::dynamicHighBeam">
-      <webidl>        attribute boolean? dynamicHighBeam;</webidl>
+      <webidl>                attribute boolean? dynamicHighBeam;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
-    <Attribute name="zone" id="::LightStatus::zone">
-      <webidl>        attribute <ref>Zone</ref>?    zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::LightStatus::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?    zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="InteriorLightStatus" id="::InteriorLightStatus">
     <webidl>[NoInterfaceObject]
 interface InteriorLightStatus : <ref>VehicleCommonDataType</ref> {
-        attribute boolean status;
-        attribute <ref>Zone</ref>?   zone;
+                attribute boolean status;
+    readonly    attribute <ref>Zone</ref>?   zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -1986,18 +2126,18 @@ interface InteriorLightStatus : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="status" id="::InteriorLightStatus::status">
-      <webidl>        attribute boolean status;</webidl>
+      <webidl>                attribute boolean status;</webidl>
       <Type type="boolean"/>
     </Attribute>
-    <Attribute name="zone" id="::InteriorLightStatus::zone">
-      <webidl>        attribute <ref>Zone</ref>?   zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::InteriorLightStatus::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?   zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="Horn" id="::Horn">
     <webidl>[NoInterfaceObject]
 interface Horn : <ref>VehicleCommonDataType</ref> {
-        attribute boolean status;
+                attribute boolean status;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2008,14 +2148,14 @@ interface Horn : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="status" id="::Horn::status">
-      <webidl>        attribute boolean status;</webidl>
+      <webidl>                attribute boolean status;</webidl>
       <Type type="boolean"/>
     </Attribute>
   </Interface>
   <Interface name="Chime" id="::Chime">
     <webidl>[NoInterfaceObject]
 interface Chime : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean status;
+    readonly    attribute boolean status;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2026,19 +2166,19 @@ interface Chime : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="status" id="::Chime::status">
-      <webidl>        readonly attribute boolean status;</webidl>
+      <webidl>    readonly    attribute boolean status;</webidl>
       <Type type="boolean"/>
     </Attribute>
   </Interface>
   <Interface name="Fuel" id="::Fuel">
     <webidl>[NoInterfaceObject]
 interface Fuel : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short level;
-        readonly attribute unsigned long  range;
-        readonly attribute unsigned long  instantConsumption;
-        readonly attribute unsigned long  averageConsumption;
-        readonly attribute unsigned long  fuelConsumedSinceRestart;
-        readonly attribute unsigned long  vehicleTimeSinceRestart;
+    readonly    attribute unsigned short? level;
+    readonly    attribute unsigned long?  range;
+    readonly    attribute unsigned long?  instantConsumption;
+                attribute unsigned long?  averageConsumption;
+    readonly    attribute unsigned long?  fuelConsumedSinceRestart;
+    readonly    attribute unsigned long?  timeSinceRestart;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2049,38 +2189,38 @@ interface Fuel : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="level" id="::Fuel::level">
-      <webidl>        readonly attribute unsigned short level;</webidl>
-      <Type type="unsigned short"/>
+      <webidl>    readonly    attribute unsigned short? level;</webidl>
+      <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="range" id="::Fuel::range">
-      <webidl>        readonly attribute unsigned long  range;</webidl>
-      <Type type="unsigned long"/>
+      <webidl>    readonly    attribute unsigned long?  range;</webidl>
+      <Type type="unsigned long" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="instantConsumption" id="::Fuel::instantConsumption">
-      <webidl>        readonly attribute unsigned long  instantConsumption;</webidl>
-      <Type type="unsigned long"/>
+      <webidl>    readonly    attribute unsigned long?  instantConsumption;</webidl>
+      <Type type="unsigned long" nullable="nullable"/>
     </Attribute>
-    <Attribute readonly="readonly" name="averageConsumption" id="::Fuel::averageConsumption">
-      <webidl>        readonly attribute unsigned long  averageConsumption;</webidl>
-      <Type type="unsigned long"/>
+    <Attribute name="averageConsumption" id="::Fuel::averageConsumption">
+      <webidl>                attribute unsigned long?  averageConsumption;</webidl>
+      <Type type="unsigned long" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="fuelConsumedSinceRestart" id="::Fuel::fuelConsumedSinceRestart">
-      <webidl>        readonly attribute unsigned long  fuelConsumedSinceRestart;</webidl>
-      <Type type="unsigned long"/>
+      <webidl>    readonly    attribute unsigned long?  fuelConsumedSinceRestart;</webidl>
+      <Type type="unsigned long" nullable="nullable"/>
     </Attribute>
-    <Attribute readonly="readonly" name="vehicleTimeSinceRestart" id="::Fuel::vehicleTimeSinceRestart">
-      <webidl>        readonly attribute unsigned long  vehicleTimeSinceRestart;</webidl>
-      <Type type="unsigned long"/>
+    <Attribute readonly="readonly" name="timeSinceRestart" id="::Fuel::timeSinceRestart">
+      <webidl>    readonly    attribute unsigned long?  timeSinceRestart;</webidl>
+      <Type type="unsigned long" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="EngineOil" id="::EngineOil">
     <webidl>[NoInterfaceObject]
 interface EngineOil : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short level;
-        readonly attribute unsigned short lifeRemaining;
-        readonly attribute long           temperature;
-        readonly attribute unsigned short pressure;
-        readonly attribute boolean        change;
+    readonly    attribute unsigned short level;
+    readonly    attribute unsigned short lifeRemaining;
+    readonly    attribute long           temperature;
+    readonly    attribute unsigned short pressure;
+    readonly    attribute boolean        change;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2091,32 +2231,32 @@ interface EngineOil : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="level" id="::EngineOil::level">
-      <webidl>        readonly attribute unsigned short level;</webidl>
+      <webidl>    readonly    attribute unsigned short level;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
     <Attribute readonly="readonly" name="lifeRemaining" id="::EngineOil::lifeRemaining">
-      <webidl>        readonly attribute unsigned short lifeRemaining;</webidl>
+      <webidl>    readonly    attribute unsigned short lifeRemaining;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
     <Attribute readonly="readonly" name="temperature" id="::EngineOil::temperature">
-      <webidl>        readonly attribute long           temperature;</webidl>
+      <webidl>    readonly    attribute long           temperature;</webidl>
       <Type type="long"/>
     </Attribute>
     <Attribute readonly="readonly" name="pressure" id="::EngineOil::pressure">
-      <webidl>        readonly attribute unsigned short pressure;</webidl>
+      <webidl>    readonly    attribute unsigned short pressure;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
     <Attribute readonly="readonly" name="change" id="::EngineOil::change">
-      <webidl>        readonly attribute boolean        change;</webidl>
+      <webidl>    readonly    attribute boolean        change;</webidl>
       <Type type="boolean"/>
     </Attribute>
   </Interface>
   <Interface name="Acceleration" id="::Acceleration">
     <webidl>[NoInterfaceObject]
 interface Acceleration : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long x;
-        readonly attribute unsigned long y;
-        readonly attribute unsigned long z;
+    readonly    attribute long x;
+    readonly    attribute long y;
+    readonly    attribute long z;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2127,23 +2267,23 @@ interface Acceleration : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="x" id="::Acceleration::x">
-      <webidl>        readonly attribute unsigned long x;</webidl>
-      <Type type="unsigned long"/>
+      <webidl>    readonly    attribute long x;</webidl>
+      <Type type="long"/>
     </Attribute>
     <Attribute readonly="readonly" name="y" id="::Acceleration::y">
-      <webidl>        readonly attribute unsigned long y;</webidl>
-      <Type type="unsigned long"/>
+      <webidl>    readonly    attribute long y;</webidl>
+      <Type type="long"/>
     </Attribute>
     <Attribute readonly="readonly" name="z" id="::Acceleration::z">
-      <webidl>        readonly attribute unsigned long z;</webidl>
-      <Type type="unsigned long"/>
+      <webidl>    readonly    attribute long z;</webidl>
+      <Type type="long"/>
     </Attribute>
   </Interface>
   <Interface name="EngineCoolant" id="::EngineCoolant">
     <webidl>[NoInterfaceObject]
 interface EngineCoolant : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short level;
-        readonly attribute unsigned short temperature;
+    readonly    attribute octet level;
+    readonly    attribute short temperature;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2154,18 +2294,18 @@ interface EngineCoolant : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="level" id="::EngineCoolant::level">
-      <webidl>        readonly attribute unsigned short level;</webidl>
-      <Type type="unsigned short"/>
+      <webidl>    readonly    attribute octet level;</webidl>
+      <Type type="octet"/>
     </Attribute>
     <Attribute readonly="readonly" name="temperature" id="::EngineCoolant::temperature">
-      <webidl>        readonly attribute unsigned short temperature;</webidl>
-      <Type type="unsigned short"/>
+      <webidl>    readonly    attribute short temperature;</webidl>
+      <Type type="short"/>
     </Attribute>
   </Interface>
   <Interface name="SteeringWheel" id="::SteeringWheel">
     <webidl>[NoInterfaceObject]
 interface SteeringWheel : <ref>VehicleCommonDataType</ref> {
-        readonly attribute short angle;
+    readonly    attribute short angle;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2176,15 +2316,38 @@ interface SteeringWheel : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="angle" id="::SteeringWheel::angle">
-      <webidl>        readonly attribute short angle;</webidl>
+      <webidl>    readonly    attribute short angle;</webidl>
       <Type type="short"/>
     </Attribute>
   </Interface>
+  <Interface name="WheelTick" id="::WheelTick">
+    <webidl>[NoInterfaceObject]
+interface WheelTick : <ref>VehicleCommonDataType</ref> {
+    readonly    attribute unsigned long value;
+    readonly    attribute <ref>Zone</ref>?         zone;
+};</webidl>
+    <ExtendedAttributeList>
+      <ExtendedAttribute name="NoInterfaceObject">
+        <webidl>NoInterfaceObject</webidl>
+      </ExtendedAttribute>
+    </ExtendedAttributeList>
+    <InterfaceInheritance>
+      <Name name="VehicleCommonDataType"/>
+    </InterfaceInheritance>
+    <Attribute readonly="readonly" name="value" id="::WheelTick::value">
+      <webidl>    readonly    attribute unsigned long value;</webidl>
+      <Type type="unsigned long"/>
+    </Attribute>
+    <Attribute readonly="readonly" name="zone" id="::WheelTick::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?         zone;</webidl>
+      <Type name="Zone" nullable="nullable"/>
+    </Attribute>
+  </Interface>
   <Interface name="IgnitionTime" id="::IgnitionTime">
     <webidl>[NoInterfaceObject]
 interface IgnitionTime : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>DOMTimeStamp</ref> ignitionOnTime;
-        readonly attribute <ref>DOMTimeStamp</ref> ignitionOffTime;
+    readonly    attribute <ref>DOMTimeStamp</ref> ignitionOnTime;
+    readonly    attribute <ref>DOMTimeStamp</ref> ignitionOffTime;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2195,18 +2358,18 @@ interface IgnitionTime : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="ignitionOnTime" id="::IgnitionTime::ignitionOnTime">
-      <webidl>        readonly attribute <ref>DOMTimeStamp</ref> ignitionOnTime;</webidl>
+      <webidl>    readonly    attribute <ref>DOMTimeStamp</ref> ignitionOnTime;</webidl>
       <Type name="DOMTimeStamp"/>
     </Attribute>
     <Attribute readonly="readonly" name="ignitionOffTime" id="::IgnitionTime::ignitionOffTime">
-      <webidl>        readonly attribute <ref>DOMTimeStamp</ref> ignitionOffTime;</webidl>
+      <webidl>    readonly    attribute <ref>DOMTimeStamp</ref> ignitionOffTime;</webidl>
       <Type name="DOMTimeStamp"/>
     </Attribute>
   </Interface>
   <Interface name="YawRate" id="::YawRate">
     <webidl>[NoInterfaceObject]
 interface YawRate : <ref>VehicleCommonDataType</ref> {
-        readonly attribute short value;
+    readonly    attribute short value;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2217,14 +2380,14 @@ interface YawRate : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="value" id="::YawRate::value">
-      <webidl>        readonly attribute short value;</webidl>
+      <webidl>    readonly    attribute short value;</webidl>
       <Type type="short"/>
     </Attribute>
   </Interface>
   <Interface name="BrakeOperation" id="::BrakeOperation">
     <webidl>[NoInterfaceObject]
 interface BrakeOperation : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean brakePedalDepressed;
+    readonly    attribute boolean brakePedalDepressed;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2235,102 +2398,114 @@ interface BrakeOperation : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="brakePedalDepressed" id="::BrakeOperation::brakePedalDepressed">
-      <webidl>        readonly attribute boolean brakePedalDepressed;</webidl>
+      <webidl>    readonly    attribute boolean brakePedalDepressed;</webidl>
       <Type type="boolean"/>
     </Attribute>
   </Interface>
-  <Interface name="WheelTick" id="::WheelTick">
-    <webidl>[NoInterfaceObject]
-interface WheelTick : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long value;
-                         attribute <ref>Zone</ref>?         zone;
-};</webidl>
-    <ExtendedAttributeList>
-      <ExtendedAttribute name="NoInterfaceObject">
-        <webidl>NoInterfaceObject</webidl>
-      </ExtendedAttribute>
-    </ExtendedAttributeList>
-    <InterfaceInheritance>
-      <Name name="VehicleCommonDataType"/>
-    </InterfaceInheritance>
-    <Attribute readonly="readonly" name="value" id="::WheelTick::value">
-      <webidl>        readonly attribute unsigned long value;</webidl>
-      <Type type="unsigned long"/>
-    </Attribute>
-    <Attribute name="zone" id="::WheelTick::zone">
-      <webidl>                         attribute <ref>Zone</ref>?         zone;</webidl>
-      <Type name="Zone" nullable="nullable"/>
-    </Attribute>
-  </Interface>
-  <Enum name="VehicleButton" id="::VehicleButton">
-    <webidl>enum VehicleButton {
-        &quot;home&quot;, &quot;back&quot;, &quot;search&quot;, &quot;call&quot;, &quot;end_call&quot;, &quot;media_play&quot;,
-        &quot;media_next&quot;, &quot;media_previous&quot;, &quot;media_pause&quot;, &quot;voice_recognize&quot;,
-        &quot;enter&quot;, &quot;left&quot;, &quot;right&quot;, &quot;up&quot;, &quot;down&quot;
+  <Enum name="Button" id="::Button">
+    <webidl>enum Button {
+    &quot;home&quot;,
+    &quot;back&quot;,
+    &quot;search&quot;,
+    &quot;call&quot;,
+    &quot;end_call&quot;,
+    &quot;media_play&quot;,
+    &quot;media_next&quot;,
+    &quot;media_previous&quot;,
+    &quot;media_pause&quot;,
+    &quot;voice_recognize&quot;,
+    &quot;enter&quot;,
+    &quot;left&quot;,
+    &quot;right&quot;,
+    &quot;up&quot;,
+    &quot;down&quot;
 };</webidl>
     <EnumValue stringvalue="home">
-      <webidl>        &quot;home</webidl>
+      <webidl>    &quot;home</webidl>
     </EnumValue>
     <EnumValue stringvalue="back">
-      <webidl> &quot;back</webidl>
+      <webidl>    &quot;back</webidl>
     </EnumValue>
     <EnumValue stringvalue="search">
-      <webidl> &quot;search</webidl>
+      <webidl>    &quot;search</webidl>
     </EnumValue>
     <EnumValue stringvalue="call">
-      <webidl> &quot;call</webidl>
+      <webidl>    &quot;call</webidl>
     </EnumValue>
     <EnumValue stringvalue="end_call">
-      <webidl> &quot;end_call</webidl>
+      <webidl>    &quot;end_call</webidl>
     </EnumValue>
     <EnumValue stringvalue="media_play">
-      <webidl> &quot;media_play</webidl>
+      <webidl>    &quot;media_play</webidl>
     </EnumValue>
     <EnumValue stringvalue="media_next">
-      <webidl>        &quot;media_next</webidl>
+      <webidl>    &quot;media_next</webidl>
     </EnumValue>
     <EnumValue stringvalue="media_previous">
-      <webidl> &quot;media_previous</webidl>
+      <webidl>    &quot;media_previous</webidl>
     </EnumValue>
     <EnumValue stringvalue="media_pause">
-      <webidl> &quot;media_pause</webidl>
+      <webidl>    &quot;media_pause</webidl>
     </EnumValue>
     <EnumValue stringvalue="voice_recognize">
-      <webidl> &quot;voice_recognize</webidl>
+      <webidl>    &quot;voice_recognize</webidl>
     </EnumValue>
     <EnumValue stringvalue="enter">
-      <webidl>        &quot;enter</webidl>
+      <webidl>    &quot;enter</webidl>
     </EnumValue>
     <EnumValue stringvalue="left">
-      <webidl> &quot;left</webidl>
+      <webidl>    &quot;left</webidl>
     </EnumValue>
     <EnumValue stringvalue="right">
-      <webidl> &quot;right</webidl>
+      <webidl>    &quot;right</webidl>
     </EnumValue>
     <EnumValue stringvalue="up">
-      <webidl> &quot;up</webidl>
+      <webidl>    &quot;up</webidl>
     </EnumValue>
     <EnumValue stringvalue="down">
-      <webidl> &quot;down</webidl>
+      <webidl>    &quot;down</webidl>
     </EnumValue>
   </Enum>
-  <Enum name="PressType" id="::PressType">
-    <webidl>enum PressType {&quot;press&quot;, &quot;long_press&quot;, &quot;release&quot;};</webidl>
+  <Enum name="ButtonEventType" id="::ButtonEventType">
+    <webidl>enum ButtonEventType {
+    &quot;press&quot;,
+    &quot;long_press&quot;,
+    &quot;release&quot;
+};</webidl>
     <EnumValue stringvalue="press">
-      <webidl>&quot;press</webidl>
+      <webidl>    &quot;press</webidl>
     </EnumValue>
     <EnumValue stringvalue="long_press">
-      <webidl> &quot;long_press</webidl>
+      <webidl>    &quot;long_press</webidl>
     </EnumValue>
     <EnumValue stringvalue="release">
-      <webidl> &quot;release</webidl>
+      <webidl>    &quot;release</webidl>
     </EnumValue>
   </Enum>
+  <Interface name="VehicleButton" id="::VehicleButton">
+    <webidl>[NoInterfaceObject]
+interface VehicleButton {
+    readonly    attribute <ref>Button</ref>          button;
+    readonly    attribute <ref>ButtonEventType</ref> state;
+};</webidl>
+    <ExtendedAttributeList>
+      <ExtendedAttribute name="NoInterfaceObject">
+        <webidl>NoInterfaceObject</webidl>
+      </ExtendedAttribute>
+    </ExtendedAttributeList>
+    <Attribute readonly="readonly" name="button" id="::VehicleButton::button">
+      <webidl>    readonly    attribute <ref>Button</ref>          button;</webidl>
+      <Type name="Button"/>
+    </Attribute>
+    <Attribute readonly="readonly" name="state" id="::VehicleButton::state">
+      <webidl>    readonly    attribute <ref>ButtonEventType</ref> state;</webidl>
+      <Type name="ButtonEventType"/>
+    </Attribute>
+  </Interface>
   <Interface name="ButtonEvent" id="::ButtonEvent">
     <webidl>[NoInterfaceObject]
 interface ButtonEvent : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>VehicleButton</ref>[] button;
-        readonly attribute <ref>PressType</ref>       state;
+    readonly    attribute <ref>VehicleButton</ref>[] button;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2341,14 +2516,28 @@ interface ButtonEvent : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="button" id="::ButtonEvent::button">
-      <webidl>        readonly attribute <ref>VehicleButton</ref>[] button;</webidl>
+      <webidl>    readonly    attribute <ref>VehicleButton</ref>[] button;</webidl>
       <Type type="array">
         <Type name="VehicleButton"/>
       </Type>
     </Attribute>
-    <Attribute readonly="readonly" name="state" id="::ButtonEvent::state">
-      <webidl>        readonly attribute <ref>PressType</ref>       state;</webidl>
-      <Type name="PressType"/>
+  </Interface>
+  <Interface name="DrivingMode" id="::DrivingMode">
+    <webidl>[NoInterfaceObject]
+interface DrivingMode : <ref>VehicleCommonDataType</ref> {
+    readonly    attribute boolean mode;
+};</webidl>
+    <ExtendedAttributeList>
+      <ExtendedAttribute name="NoInterfaceObject">
+        <webidl>NoInterfaceObject</webidl>
+      </ExtendedAttribute>
+    </ExtendedAttributeList>
+    <InterfaceInheritance>
+      <Name name="VehicleCommonDataType"/>
+    </InterfaceInheritance>
+    <Attribute readonly="readonly" name="mode" id="::DrivingMode::mode">
+      <webidl>    readonly    attribute boolean mode;</webidl>
+      <Type type="boolean"/>
     </Attribute>
   </Interface>
   <Interface name="DrivingMode" id="::DrivingMode">
@@ -2372,7 +2561,7 @@ interface DrivingMode : <ref>VehicleCommonDataType</ref> {
   <Interface name="NightMode" id="::NightMode">
     <webidl>[NoInterfaceObject]
 interface NightMode : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean mode;
+    readonly    attribute boolean mode;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2383,15 +2572,15 @@ interface NightMode : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="mode" id="::NightMode::mode">
-      <webidl>        readonly attribute boolean mode;</webidl>
+      <webidl>    readonly    attribute boolean mode;</webidl>
       <Type type="boolean"/>
     </Attribute>
   </Interface>
   <Interface name="Odometer" id="::Odometer">
     <webidl>[NoInterfaceObject]
 interface Odometer : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long? distanceSinceStart;
-        readonly attribute unsigned long  distanceTotal;
+    readonly    attribute unsigned long? distanceSinceStart;
+    readonly    attribute unsigned long  distanceTotal;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2402,19 +2591,19 @@ interface Odometer : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="distanceSinceStart" id="::Odometer::distanceSinceStart">
-      <webidl>        readonly attribute unsigned long? distanceSinceStart;</webidl>
+      <webidl>    readonly    attribute unsigned long? distanceSinceStart;</webidl>
       <Type type="unsigned long" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="distanceTotal" id="::Odometer::distanceTotal">
-      <webidl>        readonly attribute unsigned long  distanceTotal;</webidl>
+      <webidl>    readonly    attribute unsigned long  distanceTotal;</webidl>
       <Type type="unsigned long"/>
     </Attribute>
   </Interface>
   <Interface name="TransmissionOil" id="::TransmissionOil">
     <webidl>[NoInterfaceObject]
 interface TransmissionOil : <ref>VehicleCommonDataType</ref> {
-        readonly attribute byte?  wear;
-        readonly attribute short? temperature;
+    readonly    attribute octet?  wear;
+    readonly    attribute short?  temperature;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2425,18 +2614,18 @@ interface TransmissionOil : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="wear" id="::TransmissionOil::wear">
-      <webidl>        readonly attribute byte?  wear;</webidl>
-      <Type type="byte" nullable="nullable"/>
+      <webidl>    readonly    attribute octet?  wear;</webidl>
+      <Type type="octet" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="temperature" id="::TransmissionOil::temperature">
-      <webidl>        readonly attribute short? temperature;</webidl>
+      <webidl>    readonly    attribute short?  temperature;</webidl>
       <Type type="short" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="TransmissionClutch" id="::TransmissionClutch">
     <webidl>[NoInterfaceObject]
 interface TransmissionClutch : <ref>VehicleCommonDataType</ref> {
-        readonly attribute byte wear;
+    readonly    attribute octet wear;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2447,18 +2636,18 @@ interface TransmissionClutch : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="wear" id="::TransmissionClutch::wear">
-      <webidl>        readonly attribute byte wear;</webidl>
-      <Type type="byte"/>
+      <webidl>    readonly    attribute octet wear;</webidl>
+      <Type type="octet"/>
     </Attribute>
   </Interface>
   <Interface name="BrakeMaintenance" id="::BrakeMaintenance">
     <webidl>[NoInterfaceObject]
 interface BrakeMaintenance : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short? fluidLevel;
-        readonly attribute boolean?        fluidLevelLow;
-        readonly attribute byte?           padWear;
-        readonly attribute boolean?        brakesWorn;
-                         attribute <ref>Zone</ref>?           zone;
+    readonly    attribute octet?   fluidLevel;
+    readonly    attribute boolean? fluidLevelLow;
+    readonly    attribute octet?   padWear;
+    readonly    attribute boolean? brakesWorn;
+    readonly    attribute <ref>Zone</ref>?    zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2469,31 +2658,31 @@ interface BrakeMaintenance : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="fluidLevel" id="::BrakeMaintenance::fluidLevel">
-      <webidl>        readonly attribute unsigned short? fluidLevel;</webidl>
-      <Type type="unsigned short" nullable="nullable"/>
+      <webidl>    readonly    attribute octet?   fluidLevel;</webidl>
+      <Type type="octet" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="fluidLevelLow" id="::BrakeMaintenance::fluidLevelLow">
-      <webidl>        readonly attribute boolean?        fluidLevelLow;</webidl>
+      <webidl>    readonly    attribute boolean? fluidLevelLow;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="padWear" id="::BrakeMaintenance::padWear">
-      <webidl>        readonly attribute byte?           padWear;</webidl>
-      <Type type="byte" nullable="nullable"/>
+      <webidl>    readonly    attribute octet?   padWear;</webidl>
+      <Type type="octet" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="brakesWorn" id="::BrakeMaintenance::brakesWorn">
-      <webidl>        readonly attribute boolean?        brakesWorn;</webidl>
+      <webidl>    readonly    attribute boolean? brakesWorn;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
-    <Attribute name="zone" id="::BrakeMaintenance::zone">
-      <webidl>                         attribute <ref>Zone</ref>?           zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::BrakeMaintenance::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?    zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="WasherFluid" id="::WasherFluid">
     <webidl>[NoInterfaceObject]
 interface WasherFluid : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short? level;
-        readonly attribute boolean?        levelLow;
+    readonly    attribute unsigned short? level;
+    readonly    attribute boolean?        levelLow;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2504,18 +2693,18 @@ interface WasherFluid : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="level" id="::WasherFluid::level">
-      <webidl>        readonly attribute unsigned short? level;</webidl>
+      <webidl>    readonly    attribute unsigned short? level;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="levelLow" id="::WasherFluid::levelLow">
-      <webidl>        readonly attribute boolean?        levelLow;</webidl>
+      <webidl>    readonly    attribute boolean?        levelLow;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="MalfunctionIndicator" id="::MalfunctionIndicator">
     <webidl>[NoInterfaceObject]
 interface MalfunctionIndicator : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean on;
+    readonly    attribute boolean on;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2526,17 +2715,17 @@ interface MalfunctionIndicator : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="on" id="::MalfunctionIndicator::on">
-      <webidl>        readonly attribute boolean on;</webidl>
+      <webidl>    readonly    attribute boolean on;</webidl>
       <Type type="boolean"/>
     </Attribute>
   </Interface>
   <Interface name="BatteryStatus" id="::BatteryStatus">
     <webidl>[NoInterfaceObject]
 interface BatteryStatus : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short? chargeLevel;
-        readonly attribute unsigned short? voltage;
-        readonly attribute unsigned short? current;
-                         attribute <ref>Zone</ref>?           zone;
+    readonly    attribute unsigned short? chargeLevel;
+    readonly    attribute unsigned short? voltage;
+    readonly    attribute unsigned short? current;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2547,29 +2736,29 @@ interface BatteryStatus : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="chargeLevel" id="::BatteryStatus::chargeLevel">
-      <webidl>        readonly attribute unsigned short? chargeLevel;</webidl>
+      <webidl>    readonly    attribute unsigned short? chargeLevel;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="voltage" id="::BatteryStatus::voltage">
-      <webidl>        readonly attribute unsigned short? voltage;</webidl>
+      <webidl>    readonly    attribute unsigned short? voltage;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="current" id="::BatteryStatus::current">
-      <webidl>        readonly attribute unsigned short? current;</webidl>
+      <webidl>    readonly    attribute unsigned short? current;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
-    <Attribute name="zone" id="::BatteryStatus::zone">
-      <webidl>                         attribute <ref>Zone</ref>?           zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::BatteryStatus::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?           zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="Tire" id="::Tire">
     <webidl>[NoInterfaceObject]
 interface Tire : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean?        pressureLow;
-        readonly attribute unsigned short? pressure;
-        readonly attribute short?          temperature;
-                         attribute <ref>Zone</ref>?           zone;
+    readonly    attribute boolean?        pressureLow;
+    readonly    attribute unsigned short? pressure;
+    readonly    attribute short?          temperature;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2580,30 +2769,30 @@ interface Tire : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="pressureLow" id="::Tire::pressureLow">
-      <webidl>        readonly attribute boolean?        pressureLow;</webidl>
+      <webidl>    readonly    attribute boolean?        pressureLow;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="pressure" id="::Tire::pressure">
-      <webidl>        readonly attribute unsigned short? pressure;</webidl>
+      <webidl>    readonly    attribute unsigned short? pressure;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="temperature" id="::Tire::temperature">
-      <webidl>        readonly attribute short?          temperature;</webidl>
+      <webidl>    readonly    attribute short?          temperature;</webidl>
       <Type type="short" nullable="nullable"/>
     </Attribute>
-    <Attribute name="zone" id="::Tire::zone">
-      <webidl>                         attribute <ref>Zone</ref>?           zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::Tire::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?           zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="Diagnostic" id="::Diagnostic">
     <webidl>[NoInterfaceObject]
 interface Diagnostic : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned long accumulatedEngineRuntime;
-        readonly attribute unsigned long distanceWithMILOn;
-        readonly attribute unsigned long distanceSinceCodeCleared;
-        readonly attribute unsigned long timeRunMILOn;
-        readonly attribute unsigned long timeTroubleCodeClear;
+    readonly    attribute unsigned long accumulatedEngineRuntime;
+    readonly    attribute unsigned long distanceWithMILOn;
+    readonly    attribute unsigned long distanceSinceCodeCleared;
+    readonly    attribute unsigned long timeRunMILOn;
+    readonly    attribute unsigned long timeTroubleCodeClear;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2614,30 +2803,30 @@ interface Diagnostic : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="accumulatedEngineRuntime" id="::Diagnostic::accumulatedEngineRuntime">
-      <webidl>        readonly attribute unsigned long accumulatedEngineRuntime;</webidl>
+      <webidl>    readonly    attribute unsigned long accumulatedEngineRuntime;</webidl>
       <Type type="unsigned long"/>
     </Attribute>
     <Attribute readonly="readonly" name="distanceWithMILOn" id="::Diagnostic::distanceWithMILOn">
-      <webidl>        readonly attribute unsigned long distanceWithMILOn;</webidl>
+      <webidl>    readonly    attribute unsigned long distanceWithMILOn;</webidl>
       <Type type="unsigned long"/>
     </Attribute>
     <Attribute readonly="readonly" name="distanceSinceCodeCleared" id="::Diagnostic::distanceSinceCodeCleared">
-      <webidl>        readonly attribute unsigned long distanceSinceCodeCleared;</webidl>
+      <webidl>    readonly    attribute unsigned long distanceSinceCodeCleared;</webidl>
       <Type type="unsigned long"/>
     </Attribute>
     <Attribute readonly="readonly" name="timeRunMILOn" id="::Diagnostic::timeRunMILOn">
-      <webidl>        readonly attribute unsigned long timeRunMILOn;</webidl>
+      <webidl>    readonly    attribute unsigned long timeRunMILOn;</webidl>
       <Type type="unsigned long"/>
     </Attribute>
     <Attribute readonly="readonly" name="timeTroubleCodeClear" id="::Diagnostic::timeTroubleCodeClear">
-      <webidl>        readonly attribute unsigned long timeTroubleCodeClear;</webidl>
+      <webidl>    readonly    attribute unsigned long timeTroubleCodeClear;</webidl>
       <Type type="unsigned long"/>
     </Attribute>
   </Interface>
   <Interface name="LanguageConfiguration" id="::LanguageConfiguration">
     <webidl>[NoInterfaceObject]
 interface LanguageConfiguration : <ref>VehicleCommonDataType</ref> {
-        attribute DOMString? language;
+                attribute DOMString? language;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2648,18 +2837,18 @@ interface LanguageConfiguration : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="language" id="::LanguageConfiguration::language">
-      <webidl>        attribute DOMString? language;</webidl>
+      <webidl>                attribute DOMString? language;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="UnitsOfMeasure" id="::UnitsOfMeasure">
     <webidl>[NoInterfaceObject]
 interface UnitsOfMeasure : <ref>VehicleCommonDataType</ref> {
-        attribute boolean?   isMKSSystem;
-        attribute DOMString? unitsFuelVolume;
-        attribute DOMString? unitsDistance;
-        attribute DOMString? unitsSpeed;
-        attribute DOMString? unitsFuelConsumption;
+                attribute boolean?   isMKSSystem;
+                attribute DOMString? unitsFuelVolume;
+                attribute DOMString? unitsDistance;
+                attribute DOMString? unitsSpeed;
+                attribute DOMString? unitsFuelConsumption;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2670,32 +2859,32 @@ interface UnitsOfMeasure : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="isMKSSystem" id="::UnitsOfMeasure::isMKSSystem">
-      <webidl>        attribute boolean?   isMKSSystem;</webidl>
+      <webidl>                attribute boolean?   isMKSSystem;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
     <Attribute name="unitsFuelVolume" id="::UnitsOfMeasure::unitsFuelVolume">
-      <webidl>        attribute DOMString? unitsFuelVolume;</webidl>
+      <webidl>                attribute DOMString? unitsFuelVolume;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
     <Attribute name="unitsDistance" id="::UnitsOfMeasure::unitsDistance">
-      <webidl>        attribute DOMString? unitsDistance;</webidl>
+      <webidl>                attribute DOMString? unitsDistance;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
     <Attribute name="unitsSpeed" id="::UnitsOfMeasure::unitsSpeed">
-      <webidl>        attribute DOMString? unitsSpeed;</webidl>
+      <webidl>                attribute DOMString? unitsSpeed;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
     <Attribute name="unitsFuelConsumption" id="::UnitsOfMeasure::unitsFuelConsumption">
-      <webidl>        attribute DOMString? unitsFuelConsumption;</webidl>
+      <webidl>                attribute DOMString? unitsFuelConsumption;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="Mirror" id="::Mirror">
     <webidl>[NoInterfaceObject]
 interface Mirror : <ref>VehicleCommonDataType</ref> {
-        attribute unsigned short? mirrorTilt;
-        attribute unsigned short? mirrorPan;
-        attribute <ref>Zone</ref>?           zone;
+                attribute unsigned short? mirrorTilt;
+                attribute unsigned short? mirrorPan;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2706,28 +2895,28 @@ interface Mirror : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="mirrorTilt" id="::Mirror::mirrorTilt">
-      <webidl>        attribute unsigned short? mirrorTilt;</webidl>
+      <webidl>                attribute unsigned short? mirrorTilt;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute name="mirrorPan" id="::Mirror::mirrorPan">
-      <webidl>        attribute unsigned short? mirrorPan;</webidl>
+      <webidl>                attribute unsigned short? mirrorPan;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
-    <Attribute name="zone" id="::Mirror::zone">
-      <webidl>        attribute <ref>Zone</ref>?           zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::Mirror::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?           zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="SeatAdjustment" id="::SeatAdjustment">
     <webidl>[NoInterfaceObject]
 interface SeatAdjustment : <ref>VehicleCommonDataType</ref> {
-        attribute unsigned short? reclineSeatBack;
-        attribute unsigned short? seatSlide;
-        attribute unsigned short? seatCushionHeight;
-        attribute unsigned short? seatHeadrest;
-        attribute unsigned short? seatBackCushion;
-        attribute unsigned short? seatSideCushion;
-        attribute <ref>Zone</ref>?           zone;
+                attribute unsigned short? reclineSeatBack;
+                attribute unsigned short? seatSlide;
+                attribute unsigned short? seatCushionHeight;
+                attribute unsigned short? seatHeadrest;
+                attribute unsigned short? seatBackCushion;
+                attribute unsigned short? seatSideCushion;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2738,59 +2927,66 @@ interface SeatAdjustment : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="reclineSeatBack" id="::SeatAdjustment::reclineSeatBack">
-      <webidl>        attribute unsigned short? reclineSeatBack;</webidl>
+      <webidl>                attribute unsigned short? reclineSeatBack;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute name="seatSlide" id="::SeatAdjustment::seatSlide">
-      <webidl>        attribute unsigned short? seatSlide;</webidl>
+      <webidl>                attribute unsigned short? seatSlide;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute name="seatCushionHeight" id="::SeatAdjustment::seatCushionHeight">
-      <webidl>        attribute unsigned short? seatCushionHeight;</webidl>
+      <webidl>                attribute unsigned short? seatCushionHeight;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute name="seatHeadrest" id="::SeatAdjustment::seatHeadrest">
-      <webidl>        attribute unsigned short? seatHeadrest;</webidl>
+      <webidl>                attribute unsigned short? seatHeadrest;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute name="seatBackCushion" id="::SeatAdjustment::seatBackCushion">
-      <webidl>        attribute unsigned short? seatBackCushion;</webidl>
+      <webidl>                attribute unsigned short? seatBackCushion;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
     <Attribute name="seatSideCushion" id="::SeatAdjustment::seatSideCushion">
-      <webidl>        attribute unsigned short? seatSideCushion;</webidl>
+      <webidl>                attribute unsigned short? seatSideCushion;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
-    <Attribute name="zone" id="::SeatAdjustment::zone">
-      <webidl>        attribute <ref>Zone</ref>?           zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::SeatAdjustment::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?           zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Enum name="DriveModeEnum" id="::DriveModeEnum">
-    <webidl>enum DriveModeEnum {&quot;comfort&quot;, &quot;auto&quot;, &quot;sport&quot;, &quot;eco&quot;, &quot;manual&quot;, &quot;winter&quot;};</webidl>
+    <webidl>enum DriveModeEnum {
+    &quot;comfort&quot;,
+    &quot;auto&quot;,
+    &quot;sport&quot;,
+    &quot;eco&quot;,
+    &quot;manual&quot;,
+    &quot;winter&quot;
+};</webidl>
     <EnumValue stringvalue="comfort">
-      <webidl>&quot;comfort</webidl>
+      <webidl>    &quot;comfort</webidl>
     </EnumValue>
     <EnumValue stringvalue="auto">
-      <webidl> &quot;auto</webidl>
+      <webidl>    &quot;auto</webidl>
     </EnumValue>
     <EnumValue stringvalue="sport">
-      <webidl> &quot;sport</webidl>
+      <webidl>    &quot;sport</webidl>
     </EnumValue>
     <EnumValue stringvalue="eco">
-      <webidl> &quot;eco</webidl>
+      <webidl>    &quot;eco</webidl>
     </EnumValue>
     <EnumValue stringvalue="manual">
-      <webidl> &quot;manual</webidl>
+      <webidl>    &quot;manual</webidl>
     </EnumValue>
     <EnumValue stringvalue="winter">
-      <webidl> &quot;winter</webidl>
+      <webidl>    &quot;winter</webidl>
     </EnumValue>
   </Enum>
   <Interface name="DriveMode" id="::DriveMode">
     <webidl>[NoInterfaceObject]
 interface DriveMode : <ref>VehicleCommonDataType</ref> {
-        attribute <ref>DriveModeEnum</ref>? driveMode;
+                attribute <ref>DriveModeEnum</ref>? driveMode;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2801,14 +2997,14 @@ interface DriveMode : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="driveMode" id="::DriveMode::driveMode">
-      <webidl>        attribute <ref>DriveModeEnum</ref>? driveMode;</webidl>
+      <webidl>                attribute <ref>DriveModeEnum</ref>? driveMode;</webidl>
       <Type name="DriveModeEnum" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="DashboardIllumination" id="::DashboardIllumination">
     <webidl>[NoInterfaceObject]
 interface DashboardIllumination : <ref>VehicleCommonDataType</ref> {
-        attribute DOMString? dashboardIllumination;
+                attribute DOMString? dashboardIllumination;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2819,15 +3015,15 @@ interface DashboardIllumination : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="dashboardIllumination" id="::DashboardIllumination::dashboardIllumination">
-      <webidl>        attribute DOMString? dashboardIllumination;</webidl>
+      <webidl>                attribute DOMString? dashboardIllumination;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="VehicleSound" id="::VehicleSound">
     <webidl>[NoInterfaceObject]
 interface VehicleSound : <ref>VehicleCommonDataType</ref> {
-        attribute boolean    activeNoiseControlMode;
-        attribute DOMString? engineSoundEnhancementMode;
+                attribute boolean    activeNoiseControlMode;
+                attribute DOMString? engineSoundEnhancementMode;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2838,19 +3034,19 @@ interface VehicleSound : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="activeNoiseControlMode" id="::VehicleSound::activeNoiseControlMode">
-      <webidl>        attribute boolean    activeNoiseControlMode;</webidl>
+      <webidl>                attribute boolean    activeNoiseControlMode;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute name="engineSoundEnhancementMode" id="::VehicleSound::engineSoundEnhancementMode">
-      <webidl>        attribute DOMString? engineSoundEnhancementMode;</webidl>
+      <webidl>                attribute DOMString? engineSoundEnhancementMode;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="AntilockBrakingSystem" id="::AntilockBrakingSystem">
     <webidl>[NoInterfaceObject]
 interface AntilockBrakingSystem : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean enabled;
-        readonly attribute boolean engaged;
+    readonly    attribute boolean enabled;
+    readonly    attribute boolean engaged;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2861,19 +3057,19 @@ interface AntilockBrakingSystem : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="enabled" id="::AntilockBrakingSystem::enabled">
-      <webidl>        readonly attribute boolean enabled;</webidl>
+      <webidl>    readonly    attribute boolean enabled;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute readonly="readonly" name="engaged" id="::AntilockBrakingSystem::engaged">
-      <webidl>        readonly attribute boolean engaged;</webidl>
+      <webidl>    readonly    attribute boolean engaged;</webidl>
       <Type type="boolean"/>
     </Attribute>
   </Interface>
   <Interface name="TractionControlSystem" id="::TractionControlSystem">
     <webidl>[NoInterfaceObject]
 interface TractionControlSystem : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean enabled;
-        readonly attribute boolean engaged;
+    readonly    attribute boolean enabled;
+    readonly    attribute boolean engaged;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2884,19 +3080,19 @@ interface TractionControlSystem : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="enabled" id="::TractionControlSystem::enabled">
-      <webidl>        readonly attribute boolean enabled;</webidl>
+      <webidl>    readonly    attribute boolean enabled;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute readonly="readonly" name="engaged" id="::TractionControlSystem::engaged">
-      <webidl>        readonly attribute boolean engaged;</webidl>
+      <webidl>    readonly    attribute boolean engaged;</webidl>
       <Type type="boolean"/>
     </Attribute>
   </Interface>
   <Interface name="ElectronicStabilityControl" id="::ElectronicStabilityControl">
     <webidl>[NoInterfaceObject]
 interface ElectronicStabilityControl : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean enabled;
-        readonly attribute boolean engaged;
+    readonly    attribute boolean enabled;
+    readonly    attribute boolean engaged;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2907,18 +3103,18 @@ interface ElectronicStabilityControl : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="enabled" id="::ElectronicStabilityControl::enabled">
-      <webidl>        readonly attribute boolean enabled;</webidl>
+      <webidl>    readonly    attribute boolean enabled;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute readonly="readonly" name="engaged" id="::ElectronicStabilityControl::engaged">
-      <webidl>        readonly attribute boolean engaged;</webidl>
+      <webidl>    readonly    attribute boolean engaged;</webidl>
       <Type type="boolean"/>
     </Attribute>
   </Interface>
   <Interface name="TopSpeedLimit" id="::TopSpeedLimit">
     <webidl>[NoInterfaceObject]
 interface TopSpeedLimit : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short speed;
+    readonly    attribute unsigned short speed;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2929,16 +3125,16 @@ interface TopSpeedLimit : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="speed" id="::TopSpeedLimit::speed">
-      <webidl>        readonly attribute unsigned short speed;</webidl>
+      <webidl>    readonly    attribute unsigned short speed;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
   </Interface>
   <Interface name="AirbagStatus" id="::AirbagStatus">
     <webidl>[NoInterfaceObject]
 interface AirbagStatus : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean activated;
-        readonly attribute boolean deployed;
-                         attribute <ref>Zone</ref>?   zone;
+    readonly    attribute boolean activated;
+    readonly    attribute boolean deployed;
+    readonly    attribute <ref>Zone</ref>?   zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2949,36 +3145,40 @@ interface AirbagStatus : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="activated" id="::AirbagStatus::activated">
-      <webidl>        readonly attribute boolean activated;</webidl>
+      <webidl>    readonly    attribute boolean activated;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute readonly="readonly" name="deployed" id="::AirbagStatus::deployed">
-      <webidl>        readonly attribute boolean deployed;</webidl>
+      <webidl>    readonly    attribute boolean deployed;</webidl>
       <Type type="boolean"/>
     </Attribute>
-    <Attribute name="zone" id="::AirbagStatus::zone">
-      <webidl>                         attribute <ref>Zone</ref>?   zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::AirbagStatus::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?   zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Enum name="DoorOpenStatus" id="::DoorOpenStatus">
-    <webidl>enum DoorOpenStatus {&quot;open&quot;, &quot;ajar&quot;, &quot;closed&quot;};</webidl>
+    <webidl>enum DoorOpenStatus {
+    &quot;open&quot;,
+    &quot;ajar&quot;,
+    &quot;closed&quot;
+};</webidl>
     <EnumValue stringvalue="open">
-      <webidl>&quot;open</webidl>
+      <webidl>    &quot;open</webidl>
     </EnumValue>
     <EnumValue stringvalue="ajar">
-      <webidl> &quot;ajar</webidl>
+      <webidl>    &quot;ajar</webidl>
     </EnumValue>
     <EnumValue stringvalue="closed">
-      <webidl> &quot;closed</webidl>
+      <webidl>    &quot;closed</webidl>
     </EnumValue>
   </Enum>
   <Interface name="Door" id="::Door">
     <webidl>[NoInterfaceObject]
 interface Door : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>DoorOpenStatus</ref> status;
-                     attribute boolean        lock;
-                         attribute <ref>Zone</ref>?          zone;
+    readonly    attribute <ref>DoorOpenStatus</ref> status;
+                attribute boolean        lock;
+    readonly    attribute <ref>Zone</ref>?          zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -2989,23 +3189,23 @@ interface Door : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="status" id="::Door::status">
-      <webidl>        readonly attribute <ref>DoorOpenStatus</ref> status;</webidl>
+      <webidl>    readonly    attribute <ref>DoorOpenStatus</ref> status;</webidl>
       <Type name="DoorOpenStatus"/>
     </Attribute>
     <Attribute name="lock" id="::Door::lock">
-      <webidl>                     attribute boolean        lock;</webidl>
+      <webidl>                attribute boolean        lock;</webidl>
       <Type type="boolean"/>
     </Attribute>
-    <Attribute name="zone" id="::Door::zone">
-      <webidl>                         attribute <ref>Zone</ref>?          zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::Door::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?          zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="ChildSafetyLock" id="::ChildSafetyLock">
     <webidl>[NoInterfaceObject]
 interface ChildSafetyLock : <ref>VehicleCommonDataType</ref> {
-        attribute boolean lock;
-        attribute <ref>Zone</ref>?   zone;
+                attribute boolean lock;
+    readonly    attribute <ref>Zone</ref>?   zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3016,58 +3216,70 @@ interface ChildSafetyLock : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="lock" id="::ChildSafetyLock::lock">
-      <webidl>        attribute boolean lock;</webidl>
+      <webidl>                attribute boolean lock;</webidl>
       <Type type="boolean"/>
     </Attribute>
-    <Attribute name="zone" id="::ChildSafetyLock::zone">
-      <webidl>        attribute <ref>Zone</ref>?   zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::ChildSafetyLock::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?   zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Enum name="OccupantStatus" id="::OccupantStatus">
-    <webidl>enum OccupantStatus {&quot;adult&quot;, &quot;child&quot;, &quot;vacant&quot;};</webidl>
+    <webidl>enum OccupantStatus {
+    &quot;adult&quot;,
+    &quot;child&quot;,
+    &quot;vacant&quot;
+};</webidl>
     <EnumValue stringvalue="adult">
-      <webidl>&quot;adult</webidl>
+      <webidl>    &quot;adult</webidl>
     </EnumValue>
     <EnumValue stringvalue="child">
-      <webidl> &quot;child</webidl>
+      <webidl>    &quot;child</webidl>
     </EnumValue>
     <EnumValue stringvalue="vacant">
-      <webidl> &quot;vacant</webidl>
+      <webidl>    &quot;vacant</webidl>
     </EnumValue>
   </Enum>
   <Enum name="IdentificationType" id="::IdentificationType">
-    <webidl>enum IdentificationType {&quot;pin&quot;, &quot;keyfob&quot;, &quot;Bluetooth&quot;, &quot;NFC&quot;, &quot;fingerprint&quot;, &quot;camera&quot;, &quot;voice&quot;};</webidl>
+    <webidl>enum IdentificationType {
+    &quot;pin&quot;,
+    &quot;keyfob&quot;,
+    &quot;Bluetooth&quot;,
+    &quot;NFC&quot;,
+    &quot;fingerprint&quot;,
+    &quot;camera&quot;,
+    &quot;voice&quot;
+};</webidl>
     <EnumValue stringvalue="pin">
-      <webidl>&quot;pin</webidl>
+      <webidl>    &quot;pin</webidl>
     </EnumValue>
     <EnumValue stringvalue="keyfob">
-      <webidl> &quot;keyfob</webidl>
+      <webidl>    &quot;keyfob</webidl>
     </EnumValue>
     <EnumValue stringvalue="Bluetooth">
-      <webidl> &quot;Bluetooth</webidl>
+      <webidl>    &quot;Bluetooth</webidl>
     </EnumValue>
     <EnumValue stringvalue="NFC">
-      <webidl> &quot;NFC</webidl>
+      <webidl>    &quot;NFC</webidl>
     </EnumValue>
     <EnumValue stringvalue="fingerprint">
-      <webidl> &quot;fingerprint</webidl>
+      <webidl>    &quot;fingerprint</webidl>
     </EnumValue>
     <EnumValue stringvalue="camera">
-      <webidl> &quot;camera</webidl>
+      <webidl>    &quot;camera</webidl>
     </EnumValue>
     <EnumValue stringvalue="voice">
-      <webidl> &quot;voice</webidl>
+      <webidl>    &quot;voice</webidl>
     </EnumValue>
   </Enum>
   <Interface name="Seat" id="::Seat">
     <webidl>[NoInterfaceObject]
 interface Seat : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>OccupantStatus</ref>     occupant;
-        readonly attribute boolean            seatbelt;
-        readonly attribute DOMString?         occupantName;
-        readonly attribute <ref>IdentificationType</ref> identificationType;
-                         attribute <ref>Zone</ref>?              zone;
+    readonly    attribute <ref>OccupantStatus</ref>     occupant;
+    readonly    attribute boolean            seatbelt;
+    readonly    attribute DOMString?         occupantName;
+    readonly    attribute <ref>IdentificationType</ref> identificationType;
+    readonly    attribute <ref>Zone</ref>?              zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3078,31 +3290,31 @@ interface Seat : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="occupant" id="::Seat::occupant">
-      <webidl>        readonly attribute <ref>OccupantStatus</ref>     occupant;</webidl>
+      <webidl>    readonly    attribute <ref>OccupantStatus</ref>     occupant;</webidl>
       <Type name="OccupantStatus"/>
     </Attribute>
     <Attribute readonly="readonly" name="seatbelt" id="::Seat::seatbelt">
-      <webidl>        readonly attribute boolean            seatbelt;</webidl>
+      <webidl>    readonly    attribute boolean            seatbelt;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute readonly="readonly" name="occupantName" id="::Seat::occupantName">
-      <webidl>        readonly attribute DOMString?         occupantName;</webidl>
+      <webidl>    readonly    attribute DOMString?         occupantName;</webidl>
       <Type type="DOMString" nullable="nullable"/>
     </Attribute>
     <Attribute readonly="readonly" name="identificationType" id="::Seat::identificationType">
-      <webidl>        readonly attribute <ref>IdentificationType</ref> identificationType;</webidl>
+      <webidl>    readonly    attribute <ref>IdentificationType</ref> identificationType;</webidl>
       <Type name="IdentificationType"/>
     </Attribute>
-    <Attribute name="zone" id="::Seat::zone">
-      <webidl>                         attribute <ref>Zone</ref>?              zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::Seat::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?              zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="Temperature" id="::Temperature">
     <webidl>[NoInterfaceObject]
 interface Temperature : <ref>VehicleCommonDataType</ref> {
-        readonly attribute float interiorTemperature;
-        readonly attribute float exteriorTemperature;
+    readonly    attribute float interiorTemperature;
+    readonly    attribute float exteriorTemperature;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3113,19 +3325,19 @@ interface Temperature : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="interiorTemperature" id="::Temperature::interiorTemperature">
-      <webidl>        readonly attribute float interiorTemperature;</webidl>
+      <webidl>    readonly    attribute float interiorTemperature;</webidl>
       <Type type="float"/>
     </Attribute>
     <Attribute readonly="readonly" name="exteriorTemperature" id="::Temperature::exteriorTemperature">
-      <webidl>        readonly attribute float exteriorTemperature;</webidl>
+      <webidl>    readonly    attribute float exteriorTemperature;</webidl>
       <Type type="float"/>
     </Attribute>
   </Interface>
   <Interface name="RainSensor" id="::RainSensor">
     <webidl>[NoInterfaceObject]
 interface RainSensor : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short rain;
-                     attribute <ref>Zone</ref>?         zone;
+    readonly    attribute unsigned short rain;
+    readonly    attribute <ref>Zone</ref>?          zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3136,19 +3348,19 @@ interface RainSensor : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="rain" id="::RainSensor::rain">
-      <webidl>        readonly attribute unsigned short rain;</webidl>
+      <webidl>    readonly    attribute unsigned short rain;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
-    <Attribute name="zone" id="::RainSensor::zone">
-      <webidl>                     attribute <ref>Zone</ref>?         zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::RainSensor::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?          zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="WiperStatus" id="::WiperStatus">
     <webidl>[NoInterfaceObject]
 interface WiperStatus : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short wiperSpeed;
-                     attribute <ref>Zone</ref>?         zone;
+    readonly    attribute unsigned short wiperSpeed;
+    readonly    attribute <ref>Zone</ref>?          zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3159,46 +3371,55 @@ interface WiperStatus : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="wiperSpeed" id="::WiperStatus::wiperSpeed">
-      <webidl>        readonly attribute unsigned short wiperSpeed;</webidl>
+      <webidl>    readonly    attribute unsigned short wiperSpeed;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
-    <Attribute name="zone" id="::WiperStatus::zone">
-      <webidl>                     attribute <ref>Zone</ref>?         zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::WiperStatus::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?          zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Enum name="WiperControl" id="::WiperControl">
-    <webidl>enum WiperControl {&quot;off&quot;, &quot;once&quot;, &quot;slowest&quot;, &quot;slow&quot;, &quot;middle&quot;, &quot;fast&quot;, &quot;fastest&quot;, &quot;auto&quot;};</webidl>
+    <webidl>enum WiperControl {
+    &quot;off&quot;,
+    &quot;once&quot;,
+    &quot;slowest&quot;,
+    &quot;slow&quot;,
+    &quot;middle&quot;,
+    &quot;fast&quot;,
+    &quot;fastest&quot;,
+    &quot;auto&quot;
+};</webidl>
     <EnumValue stringvalue="off">
-      <webidl>&quot;off</webidl>
+      <webidl>    &quot;off</webidl>
     </EnumValue>
     <EnumValue stringvalue="once">
-      <webidl> &quot;once</webidl>
+      <webidl>    &quot;once</webidl>
     </EnumValue>
     <EnumValue stringvalue="slowest">
-      <webidl> &quot;slowest</webidl>
+      <webidl>    &quot;slowest</webidl>
     </EnumValue>
     <EnumValue stringvalue="slow">
-      <webidl> &quot;slow</webidl>
+      <webidl>    &quot;slow</webidl>
     </EnumValue>
     <EnumValue stringvalue="middle">
-      <webidl> &quot;middle</webidl>
+      <webidl>    &quot;middle</webidl>
     </EnumValue>
     <EnumValue stringvalue="fast">
-      <webidl> &quot;fast</webidl>
+      <webidl>    &quot;fast</webidl>
     </EnumValue>
     <EnumValue stringvalue="fastest">
-      <webidl> &quot;fastest</webidl>
+      <webidl>    &quot;fastest</webidl>
     </EnumValue>
     <EnumValue stringvalue="auto">
-      <webidl> &quot;auto</webidl>
+      <webidl>    &quot;auto</webidl>
     </EnumValue>
   </Enum>
   <Interface name="WiperSetting" id="::WiperSetting">
     <webidl>[NoInterfaceObject]
 interface WiperSetting : <ref>VehicleCommonDataType</ref> {
-        attribute <ref>WiperControl</ref> wiperControl;
-        attribute <ref>Zone</ref>?        zone;
+                attribute <ref>WiperControl</ref> wiperControl;
+    readonly    attribute <ref>Zone</ref>?        zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3209,20 +3430,20 @@ interface WiperSetting : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="wiperControl" id="::WiperSetting::wiperControl">
-      <webidl>        attribute <ref>WiperControl</ref> wiperControl;</webidl>
+      <webidl>                attribute <ref>WiperControl</ref> wiperControl;</webidl>
       <Type name="WiperControl"/>
     </Attribute>
-    <Attribute name="zone" id="::WiperSetting::zone">
-      <webidl>        attribute <ref>Zone</ref>?        zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::WiperSetting::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?        zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="Defrost" id="::Defrost">
     <webidl>[NoInterfaceObject]
 interface Defrost : <ref>VehicleCommonDataType</ref> {
-        attribute boolean? defrostWindow;
-        attribute boolean? defrostMirrors;
-        attribute <ref>Zone</ref>?    zone;
+                attribute boolean? defrostWindow;
+                attribute boolean? defrostMirrors;
+    readonly    attribute <ref>Zone</ref>?    zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3233,102 +3454,24 @@ interface Defrost : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="defrostWindow" id="::Defrost::defrostWindow">
-      <webidl>        attribute boolean? defrostWindow;</webidl>
+      <webidl>                attribute boolean? defrostWindow;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
     <Attribute name="defrostMirrors" id="::Defrost::defrostMirrors">
-      <webidl>        attribute boolean? defrostMirrors;</webidl>
+      <webidl>                attribute boolean? defrostMirrors;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
-    <Attribute name="zone" id="::Defrost::zone">
-      <webidl>        attribute <ref>Zone</ref>?    zone;</webidl>
-      <Type name="Zone" nullable="nullable"/>
-    </Attribute>
-  </Interface>
-  <Enum name="AirflowDirection" id="::AirflowDirection">
-    <webidl>enum AirflowDirection {&quot;frontpanel&quot;, &quot;floorduct&quot;, &quot;bilevel&quot;, &quot;defrostfloor&quot;};</webidl>
-    <EnumValue stringvalue="frontpanel">
-      <webidl>&quot;frontpanel</webidl>
-    </EnumValue>
-    <EnumValue stringvalue="floorduct">
-      <webidl> &quot;floorduct</webidl>
-    </EnumValue>
-    <EnumValue stringvalue="bilevel">
-      <webidl> &quot;bilevel</webidl>
-    </EnumValue>
-    <EnumValue stringvalue="defrostfloor">
-      <webidl> &quot;defrostfloor</webidl>
-    </EnumValue>
-  </Enum>
-  <Interface name="ClimateControl" id="::ClimateControl">
-    <webidl>[NoInterfaceObject]
-interface ClimateControl : <ref>VehicleCommonDataType</ref> {
-        attribute <ref>AirflowDirection</ref> airflowDirection;
-        attribute unsigned short    fanSpeedLevel;
-        attribute byte?            targetTemperature;
-        attribute boolean          airConditioning;
-        attribute boolean          heater;
-        attribute unsigned short?   seatHeater;
-        attribute unsigned short?   seatCooler;
-        attribute boolean          airRecirculation;
-        attribute unsigned short?   steeringWheelHeater;
-        attribute <ref>Zone</ref>?            zone;
-};</webidl>
-    <ExtendedAttributeList>
-      <ExtendedAttribute name="NoInterfaceObject">
-        <webidl>NoInterfaceObject</webidl>
-      </ExtendedAttribute>
-    </ExtendedAttributeList>
-    <InterfaceInheritance>
-      <Name name="VehicleCommonDataType"/>
-    </InterfaceInheritance>
-    <Attribute name="airflowDirection" id="::ClimateControl::airflowDirection">
-      <webidl>        attribute <ref>AirflowDirection</ref> airflowDirection;</webidl>
-      <Type name="AirflowDirection"/>
-    </Attribute>
-    <Attribute name="fanSpeedLevel" id="::ClimateControl::fanSpeedLevel">
-      <webidl>        attribute unsigned short    fanSpeedLevel;</webidl>
-      <Type type="unsigned short"/>
-    </Attribute>
-    <Attribute name="targetTemperature" id="::ClimateControl::targetTemperature">
-      <webidl>        attribute byte?            targetTemperature;</webidl>
-      <Type type="byte" nullable="nullable"/>
-    </Attribute>
-    <Attribute name="airConditioning" id="::ClimateControl::airConditioning">
-      <webidl>        attribute boolean          airConditioning;</webidl>
-      <Type type="boolean"/>
-    </Attribute>
-    <Attribute name="heater" id="::ClimateControl::heater">
-      <webidl>        attribute boolean          heater;</webidl>
-      <Type type="boolean"/>
-    </Attribute>
-    <Attribute name="seatHeater" id="::ClimateControl::seatHeater">
-      <webidl>        attribute unsigned short?   seatHeater;</webidl>
-      <Type type="unsigned short" nullable="nullable"/>
-    </Attribute>
-    <Attribute name="seatCooler" id="::ClimateControl::seatCooler">
-      <webidl>        attribute unsigned short?   seatCooler;</webidl>
-      <Type type="unsigned short" nullable="nullable"/>
-    </Attribute>
-    <Attribute name="airRecirculation" id="::ClimateControl::airRecirculation">
-      <webidl>        attribute boolean          airRecirculation;</webidl>
-      <Type type="boolean"/>
-    </Attribute>
-    <Attribute name="steeringWheelHeater" id="::ClimateControl::steeringWheelHeater">
-      <webidl>        attribute unsigned short?   steeringWheelHeater;</webidl>
-      <Type type="unsigned short" nullable="nullable"/>
-    </Attribute>
-    <Attribute name="zone" id="::ClimateControl::zone">
-      <webidl>        attribute <ref>Zone</ref>?            zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::Defrost::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?    zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="Sunroof" id="::Sunroof">
     <webidl>[NoInterfaceObject]
 interface Sunroof : <ref>VehicleCommonDataType</ref> {
-        attribute unsigned short openness;
-        attribute unsigned short tilt;
-        attribute <ref>Zone</ref>?         zone;
+                attribute unsigned short openness;
+                attribute unsigned short tilt;
+    readonly    attribute <ref>Zone</ref>?          zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3339,37 +3482,42 @@ interface Sunroof : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="openness" id="::Sunroof::openness">
-      <webidl>        attribute unsigned short openness;</webidl>
+      <webidl>                attribute unsigned short openness;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
     <Attribute name="tilt" id="::Sunroof::tilt">
-      <webidl>        attribute unsigned short tilt;</webidl>
+      <webidl>                attribute unsigned short tilt;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
-    <Attribute name="zone" id="::Sunroof::zone">
-      <webidl>        attribute <ref>Zone</ref>?         zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::Sunroof::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?          zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Enum name="ConvertibleRoofStatus" id="::ConvertibleRoofStatus">
-    <webidl>enum ConvertibleRoofStatus {&quot;closed&quot;, &quot;closing&quot;, &quot;opening&quot;, &quot;opened&quot;};</webidl>
+    <webidl>enum ConvertibleRoofStatus {
+    &quot;closed&quot;,
+    &quot;closing&quot;,
+    &quot;opening&quot;,
+    &quot;opened&quot;
+};</webidl>
     <EnumValue stringvalue="closed">
-      <webidl>&quot;closed</webidl>
+      <webidl>    &quot;closed</webidl>
     </EnumValue>
     <EnumValue stringvalue="closing">
-      <webidl> &quot;closing</webidl>
+      <webidl>    &quot;closing</webidl>
     </EnumValue>
     <EnumValue stringvalue="opening">
-      <webidl> &quot;opening</webidl>
+      <webidl>    &quot;opening</webidl>
     </EnumValue>
     <EnumValue stringvalue="opened">
-      <webidl> &quot;opened</webidl>
+      <webidl>    &quot;opened</webidl>
     </EnumValue>
   </Enum>
   <Interface name="ConvertibleRoof" id="::ConvertibleRoof">
     <webidl>[NoInterfaceObject]
 interface ConvertibleRoof : <ref>VehicleCommonDataType</ref> {
-        attribute <ref>ConvertibleRoofStatus</ref> status;
+                attribute <ref>ConvertibleRoofStatus</ref> status;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3380,16 +3528,16 @@ interface ConvertibleRoof : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="status" id="::ConvertibleRoof::status">
-      <webidl>        attribute <ref>ConvertibleRoofStatus</ref> status;</webidl>
+      <webidl>                attribute <ref>ConvertibleRoofStatus</ref> status;</webidl>
       <Type name="ConvertibleRoofStatus"/>
     </Attribute>
   </Interface>
   <Interface name="SideWindow" id="::SideWindow">
     <webidl>[NoInterfaceObject]
 interface SideWindow : <ref>VehicleCommonDataType</ref> {
-        attribute boolean? lock;
-        attribute unsigned short?    openness;
-        attribute <ref>Zone</ref>?             zone;
+                attribute boolean?        lock;
+                attribute unsigned short? openness;
+    readonly    attribute <ref>Zone</ref>?           zone;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3400,22 +3548,105 @@ interface SideWindow : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="lock" id="::SideWindow::lock">
-      <webidl>        attribute boolean? lock;</webidl>
+      <webidl>                attribute boolean?        lock;</webidl>
       <Type type="boolean" nullable="nullable"/>
     </Attribute>
     <Attribute name="openness" id="::SideWindow::openness">
-      <webidl>        attribute unsigned short?    openness;</webidl>
+      <webidl>                attribute unsigned short? openness;</webidl>
+      <Type type="unsigned short" nullable="nullable"/>
+    </Attribute>
+    <Attribute readonly="readonly" name="zone" id="::SideWindow::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?           zone;</webidl>
+      <Type name="Zone" nullable="nullable"/>
+    </Attribute>
+  </Interface>
+  <Enum name="AirflowDirection" id="::AirflowDirection">
+    <webidl>enum AirflowDirection {
+    &quot;frontpanel&quot;,
+    &quot;floorduct&quot;,
+    &quot;bilevel&quot;,
+    &quot;defrostfloor&quot;
+};</webidl>
+    <EnumValue stringvalue="frontpanel">
+      <webidl>    &quot;frontpanel</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="floorduct">
+      <webidl>    &quot;floorduct</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="bilevel">
+      <webidl>    &quot;bilevel</webidl>
+    </EnumValue>
+    <EnumValue stringvalue="defrostfloor">
+      <webidl>    &quot;defrostfloor</webidl>
+    </EnumValue>
+  </Enum>
+  <Interface name="ClimateControl" id="::ClimateControl">
+    <webidl>[NoInterfaceObject]
+interface ClimateControl : <ref>VehicleCommonDataType</ref> {
+                attribute <ref>AirflowDirection</ref>  airflowDirection;
+                attribute unsigned short    fanSpeedLevel;
+                attribute short?            targetTemperature;
+                attribute boolean           airConditioning;
+                attribute boolean           heater;
+                attribute unsigned short?   seatHeater;
+                attribute unsigned short?   seatCooler;
+                attribute boolean           airRecirculation;
+                attribute unsigned short?   steeringWheelHeater;
+    readonly    attribute <ref>Zone</ref>?             zone;
+};</webidl>
+    <ExtendedAttributeList>
+      <ExtendedAttribute name="NoInterfaceObject">
+        <webidl>NoInterfaceObject</webidl>
+      </ExtendedAttribute>
+    </ExtendedAttributeList>
+    <InterfaceInheritance>
+      <Name name="VehicleCommonDataType"/>
+    </InterfaceInheritance>
+    <Attribute name="airflowDirection" id="::ClimateControl::airflowDirection">
+      <webidl>                attribute <ref>AirflowDirection</ref>  airflowDirection;</webidl>
+      <Type name="AirflowDirection"/>
+    </Attribute>
+    <Attribute name="fanSpeedLevel" id="::ClimateControl::fanSpeedLevel">
+      <webidl>                attribute unsigned short    fanSpeedLevel;</webidl>
+      <Type type="unsigned short"/>
+    </Attribute>
+    <Attribute name="targetTemperature" id="::ClimateControl::targetTemperature">
+      <webidl>                attribute short?            targetTemperature;</webidl>
+      <Type type="short" nullable="nullable"/>
+    </Attribute>
+    <Attribute name="airConditioning" id="::ClimateControl::airConditioning">
+      <webidl>                attribute boolean           airConditioning;</webidl>
+      <Type type="boolean"/>
+    </Attribute>
+    <Attribute name="heater" id="::ClimateControl::heater">
+      <webidl>                attribute boolean           heater;</webidl>
+      <Type type="boolean"/>
+    </Attribute>
+    <Attribute name="seatHeater" id="::ClimateControl::seatHeater">
+      <webidl>                attribute unsigned short?   seatHeater;</webidl>
+      <Type type="unsigned short" nullable="nullable"/>
+    </Attribute>
+    <Attribute name="seatCooler" id="::ClimateControl::seatCooler">
+      <webidl>                attribute unsigned short?   seatCooler;</webidl>
+      <Type type="unsigned short" nullable="nullable"/>
+    </Attribute>
+    <Attribute name="airRecirculation" id="::ClimateControl::airRecirculation">
+      <webidl>                attribute boolean           airRecirculation;</webidl>
+      <Type type="boolean"/>
+    </Attribute>
+    <Attribute name="steeringWheelHeater" id="::ClimateControl::steeringWheelHeater">
+      <webidl>                attribute unsigned short?   steeringWheelHeater;</webidl>
       <Type type="unsigned short" nullable="nullable"/>
     </Attribute>
-    <Attribute name="zone" id="::SideWindow::zone">
-      <webidl>        attribute <ref>Zone</ref>?             zone;</webidl>
+    <Attribute readonly="readonly" name="zone" id="::ClimateControl::zone">
+      <webidl>    readonly    attribute <ref>Zone</ref>?             zone;</webidl>
       <Type name="Zone" nullable="nullable"/>
     </Attribute>
   </Interface>
   <Interface name="AtmosphericPressure" id="::AtmosphericPressure">
     <webidl>[NoInterfaceObject]
 interface AtmosphericPressure : <ref>VehicleCommonDataType</ref> {
-        readonly attribute unsigned short pressure;
+    readonly    attribute unsigned short pressure;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3426,26 +3657,30 @@ interface AtmosphericPressure : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="pressure" id="::AtmosphericPressure::pressure">
-      <webidl>        readonly attribute unsigned short pressure;</webidl>
+      <webidl>    readonly    attribute unsigned short pressure;</webidl>
       <Type type="unsigned short"/>
     </Attribute>
   </Interface>
   <Enum name="LaneDepartureStatus" id="::LaneDepartureStatus">
-    <webidl>enum LaneDepartureStatus {&quot;off&quot;, &quot;pause&quot;, &quot;running&quot;};</webidl>
+    <webidl>enum LaneDepartureStatus {
+    &quot;off&quot;,
+    &quot;pause&quot;,
+    &quot;running&quot;
+};</webidl>
     <EnumValue stringvalue="off">
-      <webidl>&quot;off</webidl>
+      <webidl>    &quot;off</webidl>
     </EnumValue>
     <EnumValue stringvalue="pause">
-      <webidl> &quot;pause</webidl>
+      <webidl>    &quot;pause</webidl>
     </EnumValue>
     <EnumValue stringvalue="running">
-      <webidl> &quot;running</webidl>
+      <webidl>    &quot;running</webidl>
     </EnumValue>
   </Enum>
   <Interface name="LaneDepartureDetection" id="::LaneDepartureDetection">
     <webidl>[NoInterfaceObject]
 interface LaneDepartureDetection : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>LaneDepartureStatus</ref> status;
+    readonly    attribute <ref>LaneDepartureStatus</ref> status;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3456,29 +3691,34 @@ interface LaneDepartureDetection : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="status" id="::LaneDepartureDetection::status">
-      <webidl>        readonly attribute <ref>LaneDepartureStatus</ref> status;</webidl>
+      <webidl>    readonly    attribute <ref>LaneDepartureStatus</ref> status;</webidl>
       <Type name="LaneDepartureStatus"/>
     </Attribute>
   </Interface>
   <Enum name="AlarmStatus" id="::AlarmStatus">
-    <webidl>enum AlarmStatus {&quot;disarmed&quot;, &quot;preArmed&quot;, &quot;armed&quot;, &quot;alarmed&quot;};</webidl>
+    <webidl>enum AlarmStatus {
+    &quot;disarmed&quot;,
+    &quot;preArmed&quot;,
+    &quot;armed&quot;,
+    &quot;alarmed&quot;
+};</webidl>
     <EnumValue stringvalue="disarmed">
-      <webidl>&quot;disarmed</webidl>
+      <webidl>    &quot;disarmed</webidl>
     </EnumValue>
     <EnumValue stringvalue="preArmed">
-      <webidl> &quot;preArmed</webidl>
+      <webidl>    &quot;preArmed</webidl>
     </EnumValue>
     <EnumValue stringvalue="armed">
-      <webidl> &quot;armed</webidl>
+      <webidl>    &quot;armed</webidl>
     </EnumValue>
     <EnumValue stringvalue="alarmed">
-      <webidl> &quot;alarmed</webidl>
+      <webidl>    &quot;alarmed</webidl>
     </EnumValue>
   </Enum>
   <Interface name="Alarm" id="::Alarm">
     <webidl>[NoInterfaceObject]
 interface Alarm : <ref>VehicleCommonDataType</ref> {
-        attribute <ref>AlarmStatus</ref> status;
+                attribute <ref>AlarmStatus</ref> status;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3489,26 +3729,30 @@ interface Alarm : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute name="status" id="::Alarm::status">
-      <webidl>        attribute <ref>AlarmStatus</ref> status;</webidl>
+      <webidl>                attribute <ref>AlarmStatus</ref> status;</webidl>
       <Type name="AlarmStatus"/>
     </Attribute>
   </Interface>
   <Enum name="ParkingBrakeStatus" id="::ParkingBrakeStatus">
-    <webidl>enum ParkingBrakeStatus {&quot;inactive&quot;, &quot;active&quot;, &quot;error&quot;};</webidl>
+    <webidl>enum ParkingBrakeStatus {
+    &quot;inactive&quot;,
+    &quot;active&quot;,
+    &quot;error&quot;
+};</webidl>
     <EnumValue stringvalue="inactive">
-      <webidl>&quot;inactive</webidl>
+      <webidl>    &quot;inactive</webidl>
     </EnumValue>
     <EnumValue stringvalue="active">
-      <webidl> &quot;active</webidl>
+      <webidl>    &quot;active</webidl>
     </EnumValue>
     <EnumValue stringvalue="error">
-      <webidl> &quot;error</webidl>
+      <webidl>    &quot;error</webidl>
     </EnumValue>
   </Enum>
   <Interface name="ParkingBrake" id="::ParkingBrake">
     <webidl>[NoInterfaceObject]
 interface ParkingBrake : <ref>VehicleCommonDataType</ref> {
-        readonly attribute <ref>ParkingBrakeStatus</ref> status;
+    readonly    attribute <ref>ParkingBrakeStatus</ref> status;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3519,15 +3763,15 @@ interface ParkingBrake : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="status" id="::ParkingBrake::status">
-      <webidl>        readonly attribute <ref>ParkingBrakeStatus</ref> status;</webidl>
+      <webidl>    readonly    attribute <ref>ParkingBrakeStatus</ref> status;</webidl>
       <Type name="ParkingBrakeStatus"/>
     </Attribute>
   </Interface>
   <Interface name="ParkingLights" id="::ParkingLights">
     <webidl>[NoInterfaceObject]
 interface ParkingLights : <ref>VehicleCommonDataType</ref> {
-        readonly attribute boolean status;
-                     attribute boolean setting;
+    readonly    attribute boolean status;
+                attribute boolean setting;
 };</webidl>
     <ExtendedAttributeList>
       <ExtendedAttribute name="NoInterfaceObject">
@@ -3538,11 +3782,11 @@ interface ParkingLights : <ref>VehicleCommonDataType</ref> {
       <Name name="VehicleCommonDataType"/>
     </InterfaceInheritance>
     <Attribute readonly="readonly" name="status" id="::ParkingLights::status">
-      <webidl>        readonly attribute boolean status;</webidl>
+      <webidl>    readonly    attribute boolean status;</webidl>
       <Type type="boolean"/>
     </Attribute>
     <Attribute name="setting" id="::ParkingLights::setting">
-      <webidl>                     attribute boolean setting;</webidl>
+      <webidl>                attribute boolean setting;</webidl>
       <Type type="boolean"/>
     </Attribute>
   </Interface>