From aabcd7e0df60c261d07ae5e6422ac866d33ad16f Mon Sep 17 00:00:00 2001 From: Brett Adams Date: Thu, 23 Jul 2026 21:50:50 +1000 Subject: [PATCH 1/2] proto: model VehicleData field 18 as an opaque bytes payload Live BLE vehicleDataSubscription pushes carry a VehicleData field 18 (~137 bytes) that the currently-pinned schema doesn't define. The raw bytes weren't preserved for a field-level decode, so it's added as an undecoded bytes field rather than guessing at names/types. --- .changeset/streaming-proto-field18.md | 5 + .../tesla_protocol/command/vehicle_pb2.py | 380 +++++++++--------- .../tesla_protocol/command/vehicle_pb2.pyi | 6 +- packages/typescript/src/command/vehicle.ts | 23 +- proto/command/vehicle.proto | 1 + 5 files changed, 222 insertions(+), 193 deletions(-) create mode 100644 .changeset/streaming-proto-field18.md diff --git a/.changeset/streaming-proto-field18.md b/.changeset/streaming-proto-field18.md new file mode 100644 index 0000000..a13e37c --- /dev/null +++ b/.changeset/streaming-proto-field18.md @@ -0,0 +1,5 @@ +--- +"@teslemetry/tesla-protocol": minor +--- + +Add `VehicleData.unknown` (field 18), an opaque `bytes` payload observed on live `vehicleDataSubscription` pushes but not yet decoded. diff --git a/packages/python/tesla_protocol/command/vehicle_pb2.py b/packages/python/tesla_protocol/command/vehicle_pb2.py index 34024b7..656e55c 100644 --- a/packages/python/tesla_protocol/command/vehicle_pb2.py +++ b/packages/python/tesla_protocol/command/vehicle_pb2.py @@ -10,200 +10,200 @@ from . import vcsec_pb2 as vcsec__pb2 from . import common_pb2 as common__pb2 from . import managed_charging_pb2 as managed__charging__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rvehicle.proto\x12\tCarServer\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x0bvcsec.proto\x1a\x0ccommon.proto\x1a\x16managed_charging.proto"\xc6\x0b\n\x0bVehicleData\x12,\n\x0cgui_settings\x18\x02 \x01(\x0b2\x16.CarServer.GuiSettings\x12,\n\x0ccharge_state\x18\x03 \x01(\x0b2\x16.CarServer.ChargeState\x12.\n\rclimate_state\x18\x04 \x01(\x0b2\x17.CarServer.ClimateState\x12*\n\x0bdrive_state\x18\x05 \x01(\x0b2\x15.CarServer.DriveState\x125\n\x14legacy_vehicle_state\x18\x06 \x01(\x0b2\x17.CarServer.VehicleState\x120\n\x0evehicle_config\x18\x07 \x01(\x0b2\x18.CarServer.VehicleConfig\x120\n\x0elocation_state\x18\x08 \x01(\x0b2\x18.CarServer.LocationState\x120\n\x0eclosures_state\x18\t \x01(\x0b2\x18.CarServer.ClosuresState\x12\x1c\n\x12proto_json_version\x18\n \x01(\x05H\x00\x12\x17\n\rupload_reason\x18\x0c \x01(\tH\x01\x12?\n\x16parked_accessory_state\x18\x0e \x01(\x0b2\x1f.CarServer.ParkedAccessoryState\x12=\n\x15charge_schedule_state\x18\x0f \x01(\x0b2\x1e.CarServer.ChargeScheduleState\x12O\n\x1epreconditioning_schedule_state\x18\x10 \x01(\x0b2\'.CarServer.PreconditioningScheduleState\x12&\n\tsoh_state\x18\x11 \x01(\x0b2\x13.CarServer.SohState\x129\n\x13tire_pressure_state\x18\x13 \x01(\x0b2\x1c.CarServer.TirePressureState\x12*\n\x0bmedia_state\x18\x14 \x01(\x0b2\x15.CarServer.MediaState\x127\n\x12media_detail_state\x18\x15 \x01(\x0b2\x1b.CarServer.MediaDetailState\x12;\n\x14vehicle_detail_state\x18\x16 \x01(\x0b2\x1d.CarServer.VehicleDetailState\x12=\n\x15software_update_state\x18\x17 \x01(\x0b2\x1e.CarServer.SoftwareUpdateState\x12A\n\x17parental_controls_state\x18\x18 \x01(\x0b2 .CarServer.ParentalControlsState\x12*\n\x0balert_state\x18\x19 \x01(\x0b2\x15.CarServer.AlertState\x123\n\x10light_show_state\x18\x1a \x01(\x0b2\x19.CarServer.LightShowState\x129\n\x13vehicle_image_state\x18\x1b \x01(\x0b2\x1c.CarServer.VehicleImageState\x124\n\x10suspension_state\x18\x1d \x01(\x0b2\x1a.CarServer.SuspensionState\x12N\n\x1echild_presence_detection_state\x18\x1e \x01(\x0b2&.CarServer.ChildPresenceDetectionState\x12#\n\x18supports_optional_fields\x18\xe7\x07 \x01(\x08H\x02B\x1d\n\x1boptional_proto_json_versionB\x18\n\x16optional_upload_reasonB#\n!optional_supports_optional_fields"\xb7\x15\n\rClosuresState\x12 \n\x16door_open_driver_front\x18e \x01(\x08H\x00\x12\x1f\n\x15door_open_driver_rear\x18f \x01(\x08H\x01\x12#\n\x19door_open_passenger_front\x18g \x01(\x08H\x02\x12"\n\x18door_open_passenger_rear\x18h \x01(\x08H\x03\x12\x1f\n\x15door_open_trunk_front\x18i \x01(\x08H\x04\x12\x1e\n\x14door_open_trunk_rear\x18j \x01(\x08H\x05\x12"\n\x18window_open_driver_front\x18k \x01(\x08H\x06\x12%\n\x1bwindow_open_passenger_front\x18l \x01(\x08H\x07\x12!\n\x17window_open_driver_rear\x18m \x01(\x08H\x08\x12$\n\x1awindow_open_passenger_rear\x18n \x01(\x08H\t\x12=\n\x0esun_roof_state\x18\x0b \x01(\x0b2%.CarServer.ClosuresState.SunRoofState\x12\x1f\n\x15sun_roof_percent_open\x18p \x01(\x05H\n\x12\x10\n\x06locked\x18q \x01(\x08H\x0b\x12\x19\n\x0fis_user_present\x18r \x01(\x08H\x0c\x12C\n\x14center_display_state\x18\x0f \x01(\x0b2%.CarServer.ClosuresState.DisplayState\x12\x16\n\x0cremote_start\x18t \x01(\x08H\r\x12\x14\n\nvalet_mode\x18u \x01(\x08H\x0e\x12\x1a\n\x10valet_pin_needed\x18v \x01(\x08H\x0f\x12C\n\x11sentry_mode_state\x18\x13 \x01(\x0b2(.CarServer.ClosuresState.SentryModeState\x12\x1f\n\x15sentry_mode_available\x18x \x01(\x08H\x10\x123\n\x10speed_limit_mode\x18\x16 \x01(\x0b2\x19.CarServer.SpeedLimitMode\x12.\n\rtonneau_state\x18\x17 \x01(\x0e2\x15.VCSEC.ClosureState_EH\x11\x12\x1e\n\x14tonneau_percent_open\x18\x18 \x01(\rH\x12\x12\x1b\n\x11tonneau_in_motion\x18\x19 \x01(\x08H\x13\x12\x1f\n\x15has_automatic_tonneau\x18\x1a \x01(\x08H\x14\x12 \n\x16has_side_storage_doors\x18\x1b \x01(\x08H\x15\x12%\n\x1bdoor_open_side_storage_left\x18\x1c \x01(\x08H\x16\x12&\n\x1cdoor_open_side_storage_right\x18\x1d \x01(\x08H\x17\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.Timestamp\x1a\xea\x01\n\x0cSunRoofState\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCalibrating\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Closed\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Open\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Moving\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Vent\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xf2\x02\n\x0cDisplayState\x12\x1e\n\x03Off\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Dim\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12$\n\tAccessory\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1d\n\x02On\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07Driving\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Charging\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Lock\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Sentry\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Dog\x18\t \x01(\x0b2\x0f.CarServer.VoidH\x00\x12(\n\rEntertainment\x18\n \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xe2\x01\n\x0fSentryModeState\x12\x1e\n\x03Off\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Idle\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Armed\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Aware\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Panic\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Quiet\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04typeB!\n\x1foptional_door_open_driver_frontB \n\x1eoptional_door_open_driver_rearB$\n"optional_door_open_passenger_frontB#\n!optional_door_open_passenger_rearB \n\x1eoptional_door_open_trunk_frontB\x1f\n\x1doptional_door_open_trunk_rearB#\n!optional_window_open_driver_frontB&\n$optional_window_open_passenger_frontB"\n optional_window_open_driver_rearB%\n#optional_window_open_passenger_rearB \n\x1eoptional_sun_roof_percent_openB\x11\n\x0foptional_lockedB\x1a\n\x18optional_is_user_presentB\x17\n\x15optional_remote_startB\x15\n\x13optional_valet_modeB\x1b\n\x19optional_valet_pin_neededB \n\x1eoptional_sentry_mode_availableB\x18\n\x16optional_tonneau_stateB\x1f\n\x1doptional_tonneau_percent_openB\x1c\n\x1aoptional_tonneau_in_motionB \n\x1eoptional_has_automatic_tonneauB!\n\x1foptional_has_side_storage_doorsB&\n$optional_door_open_side_storage_leftB\'\n%optional_door_open_side_storage_right"\xda\x03\n\x13ChargeScheduleState\x123\n\x10charge_schedules\x18\x01 \x03(\x0b2\x19.CarServer.ChargeSchedule\x12;\n\x16charge_schedule_window\x18\x02 \x01(\x0b2\x19.CarServer.ChargeScheduleH\x00\x12\x17\n\rcharge_buffer\x18\x03 \x01(\x05H\x01\x12"\n\x18max_num_charge_schedules\x18\x04 \x01(\rH\x02\x12\x17\n\rnext_schedule\x18\x05 \x01(\x08H\x03\x12&\n\x1cshow_schedule_complete_state\x18\x06 \x01(\x08H\x04\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB!\n\x1foptional_charge_schedule_windowB\x18\n\x16optional_charge_bufferB#\n!optional_max_num_charge_schedulesB\x18\n\x16optional_next_scheduleB\'\n%optional_show_schedule_complete_state"\x8f\x03\n\x1cPreconditioningScheduleState\x12?\n\x16precondition_schedules\x18\x01 \x03(\x0b2\x1f.CarServer.PreconditionSchedule\x12J\n\x1fpreconditioning_schedule_window\x18\x02 \x01(\x0b2\x1f.CarServer.PreconditionScheduleH\x00\x12(\n\x1emax_num_precondition_schedules\x18\x03 \x01(\rH\x01\x12\x17\n\rnext_schedule\x18\x04 \x01(\x08H\x02\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB*\n(optional_preconditioning_schedule_windowB)\n\'optional_max_num_precondition_schedulesB\x18\n\x16optional_next_schedule"\x87\x02\n\x0eSpeedLimitMode\x12\x10\n\x06active\x18g \x01(\x08H\x00\x12\x16\n\x0cpin_code_set\x18h \x01(\x08H\x01\x12\x17\n\rmax_limit_mph\x18j \x01(\x02H\x02\x12\x17\n\rmin_limit_mph\x18k \x01(\x02H\x03\x12\x1b\n\x11current_limit_mph\x18l \x01(\x02H\x04B\x11\n\x0foptional_activeB\x17\n\x15optional_pin_code_setB\x18\n\x16optional_max_limit_mphB\x18\n\x16optional_min_limit_mphB\x1c\n\x1aoptional_current_limit_mph"\xe8\x05\n\x18ParentalControlsSettings\x12\x1d\n\x13speed_limit_enabled\x18\x01 \x01(\x08H\x00\x12\x17\n\rmax_limit_mph\x18\x02 \x01(\x02H\x01\x12\x17\n\rmin_limit_mph\x18\x03 \x01(\x02H\x02\x12\x1b\n\x11current_limit_mph\x18\x04 \x01(\x02H\x03\x12$\n\x1achill_acceleration_enabled\x18\x05 \x01(\x08H\x04\x12)\n\x1frequire_safety_settings_enabled\x18\x06 \x01(\x08H\x05\x12\x18\n\x0ecurfew_enabled\x18\x07 \x01(\x08H\x06\x12\x1b\n\x11curfew_start_time\x18\x08 \x01(\x05H\x07\x12\x19\n\x0fcurfew_end_time\x18\t \x01(\x05H\x08\x12\x19\n\x0fbrowser_blocked\x18\n \x01(\x08H\t\x12\x19\n\x0ftheater_blocked\x18\x0b \x01(\x08H\n\x12\x18\n\x0earcade_blocked\x18\x0c \x01(\x08H\x0bB\x1e\n\x1coptional_speed_limit_enabledB\x18\n\x16optional_max_limit_mphB\x18\n\x16optional_min_limit_mphB\x1c\n\x1aoptional_current_limit_mphB%\n#optional_chill_acceleration_enabledB*\n(optional_require_safety_settings_enabledB\x19\n\x17optional_curfew_enabledB\x1c\n\x1aoptional_curfew_start_timeB\x1a\n\x18optional_curfew_end_timeB\x1a\n\x18optional_browser_blockedB\x1a\n\x18optional_theater_blockedB\x19\n\x17optional_arcade_blocked"\xa3\x02\n\x15ParentalControlsState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12"\n\x18parental_controls_active\x18\x02 \x01(\x08H\x00\x12#\n\x19parental_controls_pin_set\x18\x03 \x01(\x08H\x01\x12G\n\x1aparental_controls_settings\x18\x04 \x01(\x0b2#.CarServer.ParentalControlsSettingsB#\n!optional_parental_controls_activeB$\n"optional_parental_controls_pin_set"\xa2\x06\n\x13SoftwareUpdateState\x12C\n\x06status\x18\x01 \x01(\x0b23.CarServer.SoftwareUpdateState.SoftwareUpdateStatus\x12\x1b\n\x11scheduled_time_ms\x18f \x01(\x04H\x00\x12#\n\x19warning_time_remaining_ms\x18g \x01(\x04H\x01\x12\x1f\n\x15expected_duration_sec\x18h \x01(\rH\x02\x12\x17\n\rdownload_perc\x18i \x01(\rH\x03\x12\x16\n\x0cinstall_perc\x18j \x01(\rH\x04\x12\x11\n\x07version\x18k \x01(\tH\x05\x12-\n\ttimestamp\x18l \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x18\n\x0eauto_scheduled\x18m \x01(\x08H\x06\x1a\x8d\x02\n\x14SoftwareUpdateStatus\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12%\n\nInstalling\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12$\n\tScheduled\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12$\n\tAvailable\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12.\n\x13DownloadingWifiWait\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bDownloading\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04typeB\x1c\n\x1aoptional_scheduled_time_msB$\n"optional_warning_time_remaining_msB \n\x1eoptional_expected_duration_secB\x18\n\x16optional_download_percB\x17\n\x15optional_install_percB\x12\n\x10optional_versionB\x19\n\x17optional_auto_scheduled"\xe0\r\n\nDriveState\x12*\n\x0bshift_state\x18\x01 \x01(\x0b2\x15.CarServer.ShiftState\x12\x0f\n\x05speed\x18f \x01(\rH\x00\x12\x0f\n\x05power\x18g \x01(\x05H\x01\x12-\n\ttimestamp\x18\x04 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12*\n odometer_in_hundredths_of_a_mile\x18i \x01(\x05H\x02\x12\x15\n\x0bspeed_float\x18j \x01(\x02H\x03\x12"\n\x18active_route_destination\x18\x07 \x01(\tH\x04\x12)\n\x1factive_route_minutes_to_arrival\x18\x08 \x01(\x02H\x05\x12\'\n\x1dactive_route_miles_to_arrival\x18\t \x01(\x02H\x06\x12,\n"active_route_traffic_minutes_delay\x18\n \x01(\x02H\x07\x12(\n\x1eactive_route_energy_at_arrival\x18\x0b \x01(\x02H\x08\x12\x1b\n\x11last_route_update\x18\x0e \x01(\rH\t\x127\n\x13last_traffic_update\x18\x0f \x01(\x0b2\x1a.google.protobuf.Timestamp\x124\n\x18active_route_coordinates\x18\x0c \x01(\x0b2\x12.CarServer.LatLong\x12(\n\x1efsd_user_total_miles_travelled\x18\x10 \x01(\x02H\n\x12\x1e\n\x14fsd_user_total_miles\x18\x11 \x01(\x02H\x0b\x12+\n!fsd_user_miles_hands_free_current\x18\x12 \x01(\x02H\x0c\x12\'\n\x1dfsd_user_miles_hands_free_max\x18\x13 \x01(\x02H\r\x12$\n\x1afsd_total_miles_this_month\x18\x14 \x01(\x02H\x0e\x12D\n\x13fsd_monthly_history\x18\x15 \x03(\x0b2\'.CarServer.DriveState.FsdMonthlyMileage\x12\x19\n\x0ffsd_streak_days\x18\x16 \x01(\x05H\x0f\x12F\n\x15fsd_last_7_days_usage\x18\x17 \x01(\x0b2\'.CarServer.DriveState.FsdLast7DaysUsage\x12\x1e\n\x14rainbow_road_enabled\x18\x18 \x01(\x08H\x10\x12\x14\n\nfsd_active\x18\x19 \x01(\x08H\x11\x1aO\n\x11FsdMonthlyMileage\x12\x12\n\nyear_month\x18\x01 \x01(\t\x12\x11\n\tfsd_miles\x18\x02 \x01(\x02\x12\x13\n\x0btotal_miles\x18\x03 \x01(\x02\x1aE\n\x11FsdLast7DaysUsage\x12\x1d\n\x15week_starts_on_sunday\x18\x01 \x01(\x08\x12\x11\n\tday_usage\x18\x02 \x03(\x08B\x10\n\x0eoptional_speedB\x10\n\x0eoptional_powerB+\n)optional_odometer_in_hundredths_of_a_mileB\x16\n\x14optional_speed_floatB#\n!optional_active_route_destinationB*\n(optional_active_route_minutes_to_arrivalB(\n&optional_active_route_miles_to_arrivalB-\n+optional_active_route_traffic_minutes_delayB)\n\'optional_active_route_energy_at_arrivalB\x1c\n\x1aoptional_last_route_updateB)\n\'optional_fsd_user_total_miles_travelledB\x1f\n\x1doptional_fsd_user_total_milesB,\n*optional_fsd_user_miles_hands_free_currentB(\n&optional_fsd_user_miles_hands_free_maxB%\n#optional_fsd_total_miles_this_monthB\x1a\n\x18optional_fsd_streak_daysB\x1f\n\x1doptional_rainbow_road_enabledB\x15\n\x13optional_fsd_active"\xffF\n\x0bChargeState\x12<\n\x0echarging_state\x18\x01 \x01(\x0b2$.CarServer.ChargeState.ChargingState\x12=\n\x11fast_charger_type\x18\x02 \x01(\x0b2".CarServer.ChargeState.ChargerType\x12?\n\x12fast_charger_brand\x18\x03 \x01(\x0b2#.CarServer.ChargeState.ChargerBrand\x12\x1a\n\x10charge_limit_soc\x18h \x01(\x05H\x00\x12\x1e\n\x14charge_limit_soc_std\x18i \x01(\x05H\x01\x12\x1e\n\x14charge_limit_soc_min\x18j \x01(\x05H\x02\x12\x1e\n\x14charge_limit_soc_max\x18k \x01(\x05H\x03\x12"\n\x18max_range_charge_counter\x18m \x01(\x05H\x04\x12\x1e\n\x14fast_charger_present\x18n \x01(\x08H\x05\x12\x17\n\rbattery_range\x18o \x01(\x02H\x06\x12\x1b\n\x11est_battery_range\x18p \x01(\x02H\x07\x12\x1d\n\x13ideal_battery_range\x18q \x01(\x02H\x08\x12\x17\n\rbattery_level\x18r \x01(\x05H\t\x12\x1e\n\x14usable_battery_level\x18s \x01(\x05H\n\x12\x1d\n\x13charge_energy_added\x18t \x01(\x02H\x0b\x12"\n\x18charge_miles_added_rated\x18u \x01(\x02H\x0c\x12"\n\x18charge_miles_added_ideal\x18v \x01(\x02H\r\x12\x19\n\x0fcharger_voltage\x18w \x01(\x05H\x0e\x12\x1f\n\x15charger_pilot_current\x18x \x01(\x05H\x0f\x12 \n\x16charger_actual_current\x18y \x01(\x05H\x10\x12\x17\n\rcharger_power\x18z \x01(\x05H\x11\x12 \n\x16minutes_to_full_charge\x18{ \x01(\x05H\x12\x12"\n\x17minutes_to_charge_limit\x18\x8e\x01 \x01(\x05H\x13\x12\x17\n\rtrip_charging\x18} \x01(\x08H\x14\x12\x19\n\x0fcharge_rate_mph\x18~ \x01(\x05H\x15\x12\x1f\n\x15charge_port_door_open\x18\x7f \x01(\x08H\x16\x12;\n\x11conn_charge_cable\x18\x1c \x01(\x0b2 .CarServer.ChargeState.CableType\x12(\n\x1dscheduled_charging_start_time\x18\x81\x01 \x01(\x04H\x17\x12%\n\x1ascheduled_charging_pending\x18\x82\x01 \x01(\x08H\x18\x12<\n\x18scheduled_departure_time\x18\x1f \x01(\x0b2\x1a.google.protobuf.Timestamp\x12%\n\x1auser_charge_enable_request\x18\x84\x01 \x01(\x08H\x19\x12 \n\x15charge_enable_request\x18\x85\x01 \x01(\x08H\x1a\x12\x19\n\x0echarger_phases\x18\x86\x01 \x01(\x05H\x1b\x12:\n\x11charge_port_latch\x18# \x01(\x0b2\x1f.CarServer.ChargePortLatchState\x12(\n\x1dcharge_port_cold_weather_mode\x18\x88\x01 \x01(\x08H\x1c\x12!\n\x16charge_current_request\x18\x89\x01 \x01(\x05H\x1d\x12%\n\x1acharge_current_request_max\x18\x8a\x01 \x01(\x05H\x1e\x12"\n\x17managed_charging_active\x18\x8b\x01 \x01(\x08H\x1f\x12)\n\x1emanaged_charging_user_canceled\x18\x8c\x01 \x01(\x08H \x12&\n\x1bmanaged_charging_start_time\x18\x8d\x01 \x01(\x04H!\x12-\n\ttimestamp\x18, \x01(\x0b2\x1a.google.protobuf.Timestamp\x12>\n\x15preconditioning_times\x18- \x01(\x0b2\x1f.CarServer.PreconditioningTimes\x12@\n\x17off_peak_charging_times\x18. \x01(\x0b2\x1f.CarServer.OffPeakChargingTimes\x12"\n\x17off_peak_hours_end_time\x18\x93\x01 \x01(\rH"\x12P\n\x17scheduled_charging_mode\x18\x94\x01 \x01(\x0e2,.CarServer.ChargeState.ScheduledChargingModeH#\x12\x18\n\rcharging_amps\x18\x95\x01 \x01(\x05H$\x120\n%scheduled_charging_start_time_minutes\x18\x96\x01 \x01(\rH%\x12+\n scheduled_departure_time_minutes\x18\x97\x01 \x01(\rH&\x12"\n\x17preconditioning_enabled\x18\x98\x01 \x01(\x08H\'\x12,\n!scheduled_charging_start_time_app\x18\x99\x01 \x01(\x11H(\x12,\n!supercharger_session_trip_planner\x18\x9a\x01 \x01(\x08H)\x12F\n\x11charge_port_color\x18\x9b\x01 \x01(\x0e2(.CarServer.ChargeState.ChargePortColor_EH*\x12 \n\x15charge_rate_mph_float\x18\x9c\x01 \x01(\x02H+\x12H\n\x13charge_limit_reason\x18\x9d\x01 \x01(\x0e2(.CarServer.ChargeState.ChargeLimitReasonH,\x12@\n\x16managed_charging_state\x18\x9e\x01 \x01(\x0b2\x1f.CarServer.ManagedChargingState\x12!\n\x16charge_cable_unlatched\x18\x9f\x01 \x01(\x08H-\x12;\n\x0coutlet_state\x18\xa0\x01 \x01(\x0e2".CarServer.ChargeState.OutletStateH.\x12B\n\x10power_feed_state\x18\xa1\x01 \x01(\x0e2%.CarServer.ChargeState.PowerFeedStateH/\x12\x1b\n\x10outlet_soc_limit\x18\xa2\x01 \x01(\x05H0\x12\x1f\n\x14power_feed_soc_limit\x18\xa3\x01 \x01(\x05H1\x12 \n\x15outlet_time_remaining\x18\xa4\x01 \x01(\x03H2\x12$\n\x19power_feed_time_remaining\x18\xa5\x01 \x01(\x03H3\x12%\n\x1apowershare_feature_allowed\x18\xa6\x01 \x01(\x08H4\x12%\n\x1apowershare_feature_enabled\x18\xa7\x01 \x01(\x08H5\x12\x1d\n\x12powershare_request\x18\xa8\x01 \x01(\x08H6\x12A\n\x0fpowershare_type\x18\xa9\x01 \x01(\x0e2%.CarServer.ChargeState.PowershareTypeH7\x12E\n\x11powershare_status\x18\xaa\x01 \x01(\x0e2\'.CarServer.ChargeState.PowershareStatusH8\x12N\n\x16powershare_stop_reason\x18\xab\x01 \x01(\x0e2+.CarServer.ChargeState.PowershareStopReasonH9\x12+\n powershare_instantaneous_load_kw\x18\xac\x01 \x01(\x02H:\x12,\n!powershare_vehicle_energy_left_hr\x18\xad\x01 \x01(\x05H;\x12\x1f\n\x14powershare_soc_limit\x18\xae\x01 \x01(\x05H<\x12\x1d\n\x12one_time_soc_limit\x18\xaf\x01 \x01(\x05H=\x12,\n\rhome_location\x18\xb0\x01 \x01(\x0b2\x12.CarServer.LatLongH>\x12,\n\rwork_location\x18\xb1\x01 \x01(\x0b2\x12.CarServer.LatLongH?\x12#\n\x18outlet_max_timer_minutes\x18\xb2\x01 \x01(\x05H@\x12(\n\x1dbatt_heat_min_to_start_charge\x18\xb3\x01 \x01(\x05HA\x124\n)batt_heat_min_to_start_charge_calculating\x18\xb4\x01 \x01(\x08HB\x12\x19\n\x0ehas_ac_outlets\x18\xb5\x01 \x01(\x08HC\x12\x1b\n\x10paid_session_fee\x18\xb7\x01 \x01(\x02HD\x12$\n\x19paid_session_fee_currency\x18\xb8\x01 \x01(\tHE\x12 \n\x15paid_session_kwh_rate\x18\xb9\x01 \x01(\x02HF\x12\x1e\n\x13discharge_limit_soe\x18\xba\x01 \x01(\x05HG\x12\x15\n\nis_roaming\x18\xbb\x01 \x01(\x08HH\x12%\n\x1apaid_session_location_guid\x18\xbc\x01 \x01(\tHI\x12&\n\x1bpaid_session_pricebook_guid\x18\xbd\x01 \x01(\tHJ\x12<\n\x17paid_session_start_time\x18\xbe\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x19\n\x0elow_power_mode\x18\xbf\x01 \x01(\x08HK\x12#\n\x18low_power_mode_forced_on\x18\xc0\x01 \x01(\x08HL\x12\x1f\n\x14convenience_features\x18\xc1\x01 \x01(\rHM\x12$\n\x19keep_accessory_power_mode\x18\xc2\x01 \x01(\x08HN\x12!\n\x16should_hide_range_info\x18\xc6\x01 \x01(\x08HO\x1a\xb7\x01\n\tCableType\x12\x1e\n\x03SNA\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03IEC\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SAE\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05GB_AC\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05GB_DC\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xdf\x02\n\x0bChargerType\x12\x1e\n\x03SNA\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\'\n\x0cSupercharger\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07Chademo\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1d\n\x02Gb\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12*\n\x0fACSingleWireCAN\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Combo\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12*\n\x0fMCSingleWireCAN\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Other\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Tesla\x18\t \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xc3\x02\n\rChargingState\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\'\n\x0cDisconnected\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07NoPower\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Starting\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Charging\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Complete\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07Stopped\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCalibrating\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1aX\n\x0cChargerBrand\x12 \n\x05Tesla\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SNA\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"z\n\x15ScheduledChargingMode\x12\x1c\n\x18ScheduledChargingModeOff\x10\x00\x12 \n\x1cScheduledChargingModeStartAt\x10\x01\x12!\n\x1dScheduledChargingModeDepartBy\x10\x02"\xc2\x02\n\x11ChargePortColor_E\x12\x16\n\x12ChargePortColorOff\x10\x00\x12\x16\n\x12ChargePortColorRed\x10\x01\x12\x18\n\x14ChargePortColorGreen\x10\x02\x12\x17\n\x13ChargePortColorBlue\x10\x03\x12\x18\n\x14ChargePortColorWhite\x10\x04\x12 \n\x1cChargePortColorFlashingGreen\x10\x05\x12 \n\x1cChargePortColorFlashingAmber\x10\x06\x12\x18\n\x14ChargePortColorAmber\x10\x07\x12\x17\n\x13ChargePortColorRave\x10\x08\x12\x18\n\x14ChargePortColorDebug\x10\t\x12\x1f\n\x1bChargePortColorFlashingBlue\x10\n"\xf3\x01\n\x11ChargeLimitReason\x12\x1c\n\x18ChargeLimitReasonUnknown\x10\x00\x12\x19\n\x15ChargeLimitReasonNone\x10\x01\x12\x19\n\x15ChargeLimitReasonEvse\x10\x02\x12 \n\x1cChargeLimitReasonBattTempLow\x10\x03\x12\x1c\n\x18ChargeLimitReasonHighSoc\x10\x04\x12\x1a\n\x16ChargeLimitReasonCabin\x10\x05\x12.\n*ChargeLimitReasonEvseRelocationRecommended\x10\x06"S\n\x0bOutletState\x12\x12\n\x0eOutletStateOff\x10\x00\x12\x1a\n\x16OutletStateCabinAndBed\x10\x01\x12\x14\n\x10OutletStateCabin\x10\x02"_\n\x0ePowerFeedState\x12\x15\n\x11PowerFeedStateOff\x10\x00\x12\x1d\n\x19PowerFeedStateCabinAndBed\x10\x01\x12\x17\n\x13PowerFeedStateCabin\x10\x02"\xd0\x01\n\x10PowershareStatus\x12\x1c\n\x18PowershareStatusInactive\x10\x00\x12\x18\n\x14PowershareStatusInit\x10\x01\x12\x1a\n\x16PowershareStatusActive\x10\x02\x12\x1b\n\x17PowershareStatusStopped\x10\x03\x12\x1f\n\x1bPowershareStatusHandshaking\x10\x04\x12*\n&PowershareStatusActiveReconnectingSoon\x10\x05"p\n\x0ePowershareType\x12\x16\n\x12PowershareTypeNone\x10\x00\x12\x16\n\x12PowershareTypeLoad\x10\x01\x12\x16\n\x12PowershareTypeHome\x10\x02\x12\x16\n\x12PowershareTypeGrid\x10\x03"\xdf\x02\n\x14PowershareStopReason\x12\x1c\n\x18PowershareStopReasonNone\x10\x00\x12!\n\x1dPowershareStopReasonSOCTooLow\x10\x01\x12\x1d\n\x19PowershareStopReasonRetry\x10\x02\x12\x1d\n\x19PowershareStopReasonFault\x10\x03\x12\x1c\n\x18PowershareStopReasonUser\x10\x04\x12$\n PowershareStopReasonReconnecting\x10\x05\x12&\n"PowershareStopReasonAuthentication\x10\x06\x12\'\n#PowershareStopReasonAdapterUpdating\x10\x07\x123\n/PowershareStopReasonAdapterInitializationFailed\x10\x08B\x1b\n\x19optional_charge_limit_socB\x1f\n\x1doptional_charge_limit_soc_stdB\x1f\n\x1doptional_charge_limit_soc_minB\x1f\n\x1doptional_charge_limit_soc_maxB#\n!optional_max_range_charge_counterB\x1f\n\x1doptional_fast_charger_presentB\x18\n\x16optional_battery_rangeB\x1c\n\x1aoptional_est_battery_rangeB\x1e\n\x1coptional_ideal_battery_rangeB\x18\n\x16optional_battery_levelB\x1f\n\x1doptional_usable_battery_levelB\x1e\n\x1coptional_charge_energy_addedB#\n!optional_charge_miles_added_ratedB#\n!optional_charge_miles_added_idealB\x1a\n\x18optional_charger_voltageB \n\x1eoptional_charger_pilot_currentB!\n\x1foptional_charger_actual_currentB\x18\n\x16optional_charger_powerB!\n\x1foptional_minutes_to_full_chargeB"\n optional_minutes_to_charge_limitB\x18\n\x16optional_trip_chargingB\x1a\n\x18optional_charge_rate_mphB \n\x1eoptional_charge_port_door_openB(\n&optional_scheduled_charging_start_timeB%\n#optional_scheduled_charging_pendingB%\n#optional_user_charge_enable_requestB \n\x1eoptional_charge_enable_requestB\x19\n\x17optional_charger_phasesB(\n&optional_charge_port_cold_weather_modeB!\n\x1foptional_charge_current_requestB%\n#optional_charge_current_request_maxB"\n optional_managed_charging_activeB)\n\'optional_managed_charging_user_canceledB&\n$optional_managed_charging_start_timeB"\n optional_off_peak_hours_end_timeB"\n optional_scheduled_charging_modeB\x18\n\x16optional_charging_ampsB0\n.optional_scheduled_charging_start_time_minutesB+\n)optional_scheduled_departure_time_minutesB"\n optional_preconditioning_enabledB,\n*optional_scheduled_charging_start_time_appB,\n*optional_supercharger_session_trip_plannerB\x1c\n\x1aoptional_charge_port_colorB \n\x1eoptional_charge_rate_mph_floatB\x1e\n\x1coptional_charge_limit_reasonB!\n\x1foptional_charge_cable_unlatchedB\x17\n\x15optional_outlet_stateB\x1b\n\x19optional_power_feed_stateB\x19\n\x17option_outlet_soc_limitB\x1d\n\x1boption_power_feed_soc_limitB\x1e\n\x1coption_outlet_time_remainingB"\n option_power_feed_time_remainingB%\n#optional_powershare_feature_allowedB%\n#optional_powershare_feature_enabledB\x1d\n\x1boptional_powershare_requestB\x1a\n\x18optional_powershare_typeB\x1c\n\x1aoptional_powershare_statusB!\n\x1foptional_powershare_stop_reasonB+\n)optional_powershare_instantaneous_load_kwB,\n*optional_powershare_vehicle_energy_left_hrB\x1f\n\x1doptional_powershare_soc_limitB\x1d\n\x1boptional_one_time_soc_limitB\x18\n\x16optional_home_locationB\x18\n\x16optional_work_locationB#\n!optional_outlet_max_timer_minutesB(\n&optional_batt_heat_min_to_start_chargeB4\n2optional_batt_heat_min_to_start_charge_calculatingB\x19\n\x17optional_has_ac_outletsB\x1b\n\x19optional_paid_session_feeB$\n"optional_paid_session_fee_currencyB \n\x1eoptional_paid_session_kwh_rateB\x1e\n\x1coptional_discharge_limit_soeB\x15\n\x13optional_is_roamingB%\n#optional_paid_session_location_guidB&\n$optional_paid_session_pricebook_guidB\x19\n\x17optional_low_power_modeB#\n!optional_low_power_mode_forced_onB\x1f\n\x1doptional_convenience_featuresB$\n"optional_keep_accessory_power_modeB!\n\x1foptional_should_hide_range_infoJ\x04\x08\x08\x10\tJ\x04\x08*\x10+J\x04\x08+\x10,"\xaf\x02\n\x14ManagedChargingState\x12<\n\x15charge_on_solar_state\x18\x01 \x01(\x0b2\x1d.CarServer.ChargeOnSolarState\x12%\n\x1bcharge_on_solar_gateway_din\x18\x02 \x01(\tH\x00\x12!\n\x17tesla_electric_asset_id\x18\x03 \x01(\tH\x01\x12 \n\x16minutes_to_lower_limit\x18\x04 \x01(\x05H\x02B&\n$optional_charge_on_solar_gateway_dinB"\n optional_tesla_electric_asset_idB!\n\x1foptional_minutes_to_lower_limit"\xe7\x04\n\x12ChargeOnSolarState\x12>\n\x0bnot_allowed\x18\x01 \x01(\x0b2\'.CarServer.ChargeOnSolarStateNotAllowedH\x00\x12Q\n\x15no_charge_recommended\x18\x02 \x01(\x0b20.CarServer.ChargeOnSolarStateNoChargeRecommendedH\x00\x12V\n\x18charging_on_excess_solar\x18\x03 \x01(\x0b22.CarServer.ChargeOnSolarStateChargingOnExcessSolarH\x00\x12O\n\x14charging_on_anything\x18\x04 \x01(\x0b2/.CarServer.ChargeOnSolarStateChargingOnAnythingH\x00\x12B\n\ruser_disabled\x18\x06 \x01(\x0b2).CarServer.ChargeOnSolarStateUserDisabledH\x00\x12K\n\x12waiting_for_server\x18\x07 \x01(\x0b2-.CarServer.ChargeOnSolarStateWaitingForServerH\x00\x123\n\x05error\x18\x08 \x01(\x0b2".CarServer.ChargeOnSolarStateErrorH\x00\x12@\n\x0cuser_stopped\x18\t \x01(\x0b2(.CarServer.ChargeOnSolarStateUserStoppedH\x00B\x07\n\x05stateJ\x04\x08\x05\x10\x06"\x1e\n\x1cChargeOnSolarStateNotAllowed"e\n%ChargeOnSolarStateNoChargeRecommended\x12<\n\x06reason\x18\x01 \x01(\x0e2,.ManagedCharging.ChargeOnSolarNoChargeReason")\n\'ChargeOnSolarStateChargingOnExcessSolar"&\n$ChargeOnSolarStateChargingOnAnything" \n\x1eChargeOnSolarStateUserDisabled"$\n"ChargeOnSolarStateWaitingForServer"\x19\n\x17ChargeOnSolarStateError"\x1f\n\x1dChargeOnSolarStateUserStopped"\x9d\r\n\rLocationState\x12\x12\n\x08latitude\x18e \x01(\x02H\x00\x12\x13\n\tlongitude\x18f \x01(\x02H\x01\x12\x11\n\x07heading\x18g \x01(\rH\x02\x12\x13\n\tgps_as_of\x18h \x01(\x04H\x03\x12#\n\x19native_location_supported\x18i \x01(\x08H\x04\x12\x19\n\x0fnative_latitude\x18j \x01(\x02H\x05\x12\x1a\n\x10native_longitude\x18k \x01(\x02H\x06\x12?\n\x0bnative_type\x18\x08 \x01(\x0b2*.CarServer.LocationState.GPSCoordinateType\x12\x1c\n\x12corrected_latitude\x18m \x01(\x02H\x07\x12\x1d\n\x13corrected_longitude\x18n \x01(\x02H\x08\x12-\n\ttimestamp\x18\x0b \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x19\n\x0fhomelink_nearby\x18p \x01(\x08H\t\x12\x17\n\rlocation_name\x18q \x01(\tH\n\x12\x16\n\x0cgeo_latitude\x18r \x01(\x02H\x0b\x12\x17\n\rgeo_longitude\x18s \x01(\x02H\x0c\x12\x15\n\x0bgeo_heading\x18t \x01(\x02H\r\x12\x17\n\rgeo_elevation\x18u \x01(\x02H\x0e\x12\x16\n\x0cgeo_accuracy\x18v \x01(\x02H\x0f\x12\x1d\n\x13estimated_gps_valid\x18w \x01(\x08H\x10\x12#\n\x19estimated_to_raw_distance\x18x \x01(\x02H\x11\x12\x1d\n\x13supercharger_trt_id\x18y \x01(\x05H\x12\x12\x1b\n\x11native_latitude_d\x18z \x01(\x01H\x13\x12\x1c\n\x12native_longitude_d\x18{ \x01(\x01H\x14\x12\x18\n\x0egeo_latitude_d\x18| \x01(\x01H\x15\x12\x19\n\x0fgeo_longitude_d\x18} \x01(\x01H\x16\x12\x1f\n\x15geo_hw_raw_latitude_d\x18~ \x01(\x01H\x17\x12 \n\x16geo_hw_raw_longitude_d\x18\x7f \x01(\x01H\x18\x12"\n\x17geo_horizontal_accuracy\x18\x80\x01 \x01(\x02H\x19\x1a[\n\x11GPSCoordinateType\x12\x1e\n\x03GCJ\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03WGS\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04typeB\x13\n\x11optional_latitudeB\x14\n\x12optional_longitudeB\x12\n\x10optional_headingB\x14\n\x12optional_gps_as_ofB$\n"optional_native_location_supportedB\x1a\n\x18optional_native_latitudeB\x1b\n\x19optional_native_longitudeB\x1d\n\x1boptional_corrected_latitudeB\x1e\n\x1coptional_corrected_longitudeB\x1a\n\x18optional_homelink_nearbyB\x18\n\x16optional_location_nameB\x17\n\x15optional_geo_latitudeB\x18\n\x16optional_geo_longitudeB\x16\n\x14optional_geo_headingB\x18\n\x16optional_geo_elevationB\x17\n\x15optional_geo_accuracyB\x1e\n\x1coptional_estimated_gps_validB$\n"optional_estimated_to_raw_distanceB\x1e\n\x1coptional_supercharger_trt_idB\x1c\n\x1aoptional_native_latitude_dB\x1d\n\x1boptional_native_longitude_dB\x19\n\x17optional_geo_latitude_dB\x1a\n\x18optional_geo_longitude_dB \n\x1eoptional_geo_hw_raw_latitude_dB!\n\x1foptional_geo_hw_raw_longitude_dB"\n optional_geo_horizontal_accuracyJ\x04\x08\x0c\x10\r"\xd4&\n\x0cVehicleState\x12=\n\x15software_update_state\x18& \x01(\x0b2\x1e.CarServer.SoftwareUpdateState\x127\n\x12legacy_media_state\x18\' \x01(\x0b2\x1b.CarServer.LegacyMediaState\x12-\n\ttimestamp\x18+ \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x17\n\x0ffeature_bitmask\x187 \x03(\r\x12C\n\x1ftpms_last_seen_pressure_time_fl\x18: \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_fr\x18; \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_rl\x18< \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_rr\x18= \x01(\x0b2\x1a.google.protobuf.Timestamp\x125\n\x11legacy_media_info\x18H \x01(\x0b2\x1a.CarServer.LegacyMediaInfo\x12.\n$allow_authorized_mobile_devices_only\x18I \x01(\x08H\x00\x124\n\tguestMode\x18J \x01(\x0b2!.CarServer.VehicleState.GuestMode\x12\x17\n\rdrive_rail_on\x18K \x01(\x08H\x01\x12\x1e\n\x14pin_to_drive_enabled\x18L \x01(\x08H\x02\x12\x1e\n\x14pin_to_drive_pin_set\x18M \x01(\x08H\x03\x12\x1b\n\x11frontfoglights_on\x18N \x01(\x08H\x04\x12\x1a\n\x10rearfoglights_on\x18O \x01(\x08H\x05\x12\x17\n\rheadlights_on\x18P \x01(\x08H\x06\x12\x1b\n\x11highbeamlights_on\x18Q \x01(\x08H\x07\x12\x19\n\x0ftrailer_mode_on\x18R \x01(\x08H\x08\x12&\n\x1ctrailer_light_test_available\x18S \x01(\x08H\t\x12&\n\x1ctrailer_light_test_requested\x18T \x01(\x08H\n\x12%\n\x1btruck_bed_lights_brightness\x18V \x01(\rH\x0b\x12!\n\x17signed_cmd_service_mode\x18W \x01(\x08H\x0c\x12&\n\x1caccessory_lightbar_middle_on\x18X \x01(\x08H\r\x12\x18\n\x0etransport_mode\x18Y \x01(\x08H\x0e\x12*\n truck_bed_lights_auto_brightness\x18Z \x01(\rH\x0f\x12%\n\x1btruck_bed_lights_auto_state\x18[ \x01(\x08H\x10\x12,\n"truck_bed_lights_controls_disabled\x18\\ \x01(\x08H\x11\x12\x1b\n\x11service_mode_auth\x18] \x01(\tH\x12\x12)\n\x1fservice_gtw_diag_session_active\x18^ \x01(\x08H\x13\x12\x16\n\x0cfactory_mode\x18_ \x01(\x08H\x14\x12\x1e\n\x14training_wheels_mode\x18` \x01(\x08H\x15\x121\n\x0egtw_diag_level\x18a \x01(\x0e2\x17.CarServer.GtwDiagLevelH\x16\x12"\n\x18parental_controls_active\x18b \x01(\x08H\x17\x12#\n\x19parental_controls_pin_set\x18c \x01(\x08H\x18\x12G\n\x1aparental_controls_settings\x18d \x01(\x0b2#.CarServer.ParentalControlsSettings\x12\x15\n\x0bapi_version\x18e \x01(\rH\x19\x12\x15\n\x0bcar_version\x18l \x01(\tH\x1a\x12\x1a\n\x10detailed_version\x18m \x01(\tH\x1b\x12\x18\n\x0eautopilot_hash\x18n \x01(\tH\x1c\x12\x16\n\x0cvehicle_name\x18v \x01(\tH\x1d\x12!\n\x17notifications_supported\x18x \x01(\x08H\x1e\x12 \n\x16remote_start_supported\x18y \x01(\x08H\x1f\x12\x1e\n\x14remote_start_enabled\x18z \x01(\x08H \x12\x1e\n\x13last_autopark_error\x18\x83\x01 \x01(\tH!\x12 \n\x15homelink_device_count\x18\x85\x01 \x01(\rH"\x12!\n\x16smart_summon_available\x18\x87\x01 \x01(\x08H#\x12&\n\x1bsummon_standby_mode_enabled\x18\x88\x01 \x01(\x08H$\x12\x15\n\npatsy_mode\x18\x8d\x01 \x01(\x08H%\x12\x1b\n\x10webcam_available\x18\x8e\x01 \x01(\x08H&\x12&\n\x1bvehicle_self_test_requested\x18\x90\x01 \x01(\x08H\'\x12%\n\x1avehicle_self_test_progress\x18\x91\x01 \x01(\rH(\x12\x1d\n\x12calendar_supported\x18\x94\x01 \x01(\x08H)\x12&\n\x1bdashcam_clip_save_available\x18\x95\x01 \x01(\x08H*\x121\n\rdashcam_state\x18\x96\x01 \x01(\x0e2\x17.CarServer.DashCamStateH+\x12\x1b\n\x10tpms_pressure_fl\x18\x97\x01 \x01(\x02H,\x12\x1b\n\x10tpms_pressure_fr\x18\x98\x01 \x01(\x02H-\x12\x1b\n\x10tpms_pressure_rl\x18\x99\x01 \x01(\x02H.\x12\x1b\n\x10tpms_pressure_rr\x18\x9a\x01 \x01(\x02H/\x12\x17\n\x0cservice_mode\x18\x9c\x01 \x01(\x08H0\x12\x1c\n\x11service_mode_plus\x18\x9d\x01 \x01(\x08H1\x12\x1f\n\x14tpms_hard_warning_fl\x18\xa2\x01 \x01(\x08H2\x12\x1f\n\x14tpms_hard_warning_fr\x18\xa3\x01 \x01(\x08H3\x12\x1f\n\x14tpms_hard_warning_rl\x18\xa4\x01 \x01(\x08H4\x12\x1f\n\x14tpms_hard_warning_rr\x18\xa5\x01 \x01(\x08H5\x12\x1f\n\x14tpms_soft_warning_fl\x18\xa6\x01 \x01(\x08H6\x12\x1f\n\x14tpms_soft_warning_fr\x18\xa7\x01 \x01(\x08H7\x12\x1f\n\x14tpms_soft_warning_rl\x18\xa8\x01 \x01(\x08H8\x12\x1f\n\x14tpms_soft_warning_rr\x18\xa9\x01 \x01(\x08H9\x12\x1f\n\x14tpms_rcp_front_value\x18\xaa\x01 \x01(\x02H:\x12\x1e\n\x13tpms_rcp_rear_value\x18\xab\x01 \x01(\x02H;\x12\x1f\n\x14fsd_software_version\x18\xac\x01 \x01(\tH<\x121\n\x0eautopilot_base\x18\xc4\x01 \x01(\x0e2\x18.CarServer.AutopilotBase\x12D\n\x18autopilot_override_state\x18\xc5\x01 \x01(\x0e2!.CarServer.AutopilotOverrideState\x12)\n\x1eautopilot_override_expire_time\x18\xc6\x01 \x01(\x03H=\x1a$\n\tGuestMode\x12\x17\n\x0fGuestModeActive\x18\x01 \x01(\x08B/\n-optional_allow_authorized_mobile_devices_onlyB\x18\n\x16optional_drive_rail_onB\x1f\n\x1doptional_pin_to_drive_enabledB\x1f\n\x1doptional_pin_to_drive_pin_setB\x1c\n\x1aoptional_frontfoglights_onB\x1b\n\x19optional_rearfoglights_onB\x18\n\x16optional_headlights_onB\x1c\n\x1aoptional_highbeamlights_onB\x1a\n\x18optional_trailer_mode_onB\'\n%optional_trailer_light_test_availableB\'\n%optional_trailer_light_test_requestedB&\n$optional_truck_bed_lights_brightnessB"\n optional_signed_cmd_service_modeB\'\n%optional_accessory_lightbar_middle_onB\x19\n\x17optional_transport_modeB+\n)optional_truck_bed_lights_auto_brightnessB&\n$optional_truck_bed_lights_auto_stateB-\n+optional_truck_bed_lights_controls_disabledB\x1c\n\x1aoptional_service_mode_authB*\n(optional_service_gtw_diag_session_activeB\x17\n\x15optional_factory_modeB\x1f\n\x1doptional_training_wheels_modeB\x19\n\x17optional_gtw_diag_levelB#\n!optional_parental_controls_activeB$\n"optional_parental_controls_pin_setB\x16\n\x14optional_api_versionB\x16\n\x14optional_car_versionB\x1b\n\x19optional_detailed_versionB\x19\n\x17optional_autopilot_hashB\x17\n\x15optional_vehicle_nameB"\n optional_notifications_supportedB!\n\x1foptional_remote_start_supportedB\x1f\n\x1doptional_remote_start_enabledB\x1e\n\x1coptional_last_autopark_errorB \n\x1eoptional_homelink_device_countB!\n\x1foptional_smart_summon_availableB&\n$optional_summon_standby_mode_enabledB\x15\n\x13optional_patsy_modeB\x1b\n\x19optional_webcam_availableB&\n$optional_vehicle_self_test_requestedB%\n#optional_vehicle_self_test_progressB\x1d\n\x1boptional_calendar_supportedB&\n$optional_dashcam_clip_save_availableB\x18\n\x16optional_dashcam_stateB\x1b\n\x19optional_tpms_pressure_flB\x1b\n\x19optional_tpms_pressure_frB\x1b\n\x19optional_tpms_pressure_rlB\x1b\n\x19optional_tpms_pressure_rrB\x17\n\x15optional_service_modeB\x1c\n\x1aoptional_service_mode_plusB\x1f\n\x1doptional_tpms_hard_warning_flB\x1f\n\x1doptional_tpms_hard_warning_frB\x1f\n\x1doptional_tpms_hard_warning_rlB\x1f\n\x1doptional_tpms_hard_warning_rrB\x1f\n\x1doptional_tpms_soft_warning_flB\x1f\n\x1doptional_tpms_soft_warning_frB\x1f\n\x1doptional_tpms_soft_warning_rlB\x1f\n\x1doptional_tpms_soft_warning_rrB\x1f\n\x1doptional_tpms_rcp_front_valueB\x1e\n\x1coptional_tpms_rcp_rear_valueB\x1f\n\x1doptional_fsd_software_versionB)\n\'optional_autopilot_override_expire_time"W\n\x10LegacyMediaState\x12 \n\x16remote_control_enabled\x18e \x01(\x08H\x00B!\n\x1foptional_remote_control_enabled"\xbf\x03\n\x0fLegacyMediaInfo\x12=\n\x15media_playback_status\x18\x01 \x01(\x0e2\x1e.CarServer.MediaPlaybackStatus\x12\x14\n\x0caudio_volume\x18\x02 \x01(\x02\x12\x1c\n\x14now_playing_duration\x18\x03 \x01(\x05\x12\x1b\n\x13now_playing_elapsed\x18\x04 \x01(\x05\x126\n\x12now_playing_source\x18\x05 \x01(\x0e2\x1a.CarServer.MediaSourceType\x12!\n\x19now_playing_source_string\x18\x06 \x01(\t\x12\x1a\n\x12now_playing_artist\x18\x07 \x01(\t\x12\x19\n\x11now_playing_title\x18\x08 \x01(\t\x12\x19\n\x11now_playing_album\x18\t \x01(\t\x12\x1b\n\x13now_playing_station\x18\n \x01(\t\x12\x1e\n\x16audio_volume_increment\x18\x0b \x01(\x02\x12\x18\n\x10audio_volume_max\x18\x0c \x01(\x02\x12\x18\n\x10a2dp_source_name\x18\x0f \x01(\t"\xbb\'\n\x0cClimateState\x12\x1d\n\x13inside_temp_celsius\x18e \x01(\x02H\x00\x12\x1e\n\x14outside_temp_celsius\x18f \x01(\x02H\x01\x12\x1d\n\x13driver_temp_setting\x18g \x01(\x02H\x02\x12 \n\x16passenger_temp_setting\x18h \x01(\x02H\x03\x12\x1d\n\x13left_temp_direction\x18i \x01(\x05H\x04\x12\x1e\n\x14right_temp_direction\x18j \x01(\x05H\x05\x12\x1f\n\x15is_front_defroster_on\x18k \x01(\x08H\x06\x12\x1e\n\x14is_rear_defroster_on\x18l \x01(\x08H\x07\x12\x14\n\nfan_status\x18m \x01(\x05H\x08\x12\x17\n\ris_climate_on\x18n \x01(\x08H\t\x12 \n\x16min_avail_temp_celsius\x18o \x01(\x02H\n\x12 \n\x16max_avail_temp_celsius\x18p \x01(\x02H\x0b\x12\x1a\n\x10seat_heater_left\x18q \x01(\x05H\x0c\x12\x1b\n\x11seat_heater_right\x18r \x01(\x05H\r\x12\x1f\n\x15seat_heater_rear_left\x18s \x01(\x05H\x0e\x12 \n\x16seat_heater_rear_right\x18t \x01(\x05H\x0f\x12!\n\x17seat_heater_rear_center\x18u \x01(\x05H\x10\x12%\n\x1bseat_heater_rear_right_back\x18v \x01(\x05H\x11\x12$\n\x1aseat_heater_rear_left_back\x18w \x01(\x05H\x12\x12%\n\x1bseat_heater_third_row_right\x18x \x01(\x05H\x13\x12$\n\x1aseat_heater_third_row_left\x18y \x01(\x05H\x14\x12\x18\n\x0ebattery_heater\x18z \x01(\x08H\x15\x12!\n\x17battery_heater_no_power\x18{ \x01(\x08H\x16\x12\x1f\n\x15steering_wheel_heater\x18} \x01(\x08H\x17\x12\x1c\n\x12wiper_blade_heater\x18~ \x01(\x08H\x18\x12\x1d\n\x13side_mirror_heaters\x18\x7f \x01(\x08H\x19\x12\x1d\n\x12is_preconditioning\x18\x80\x01 \x01(\x08H\x1a\x12(\n\x1dremote_heater_control_enabled\x18\x81\x01 \x01(\x08H\x1b\x12F\n\x13climate_keeper_mode\x18\x1e \x01(\x0b2).CarServer.ClimateState.ClimateKeeperMode\x12-\n\ttimestamp\x18! \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1c\n\x11bioweapon_mode_on\x18\x86\x01 \x01(\x08H\x1c\x129\n\x0cdefrost_mode\x18# \x01(\x0b2#.CarServer.ClimateState.DefrostMode\x12"\n\x17is_auto_conditioning_on\x18\x88\x01 \x01(\x08H\x1d\x12!\n\x16auto_seat_climate_left\x18\x89\x01 \x01(\x08H\x1e\x12"\n\x17auto_seat_climate_right\x18\x8a\x01 \x01(\x08H\x1f\x12\x1e\n\x13seat_fan_front_left\x18\x8b\x01 \x01(\x05H \x12\x1f\n\x14seat_fan_front_right\x18\x8c\x01 \x01(\x05H!\x12*\n\x1fallow_cabin_overheat_protection\x18\x8d\x01 \x01(\x08H"\x126\n+supports_fan_only_cabin_overheat_protection\x18\x8e\x01 \x01(\x08H#\x12W\n\x19cabin_overheat_protection\x18\x8f\x01 \x01(\x0e21.CarServer.ClimateState.CabinOverheatProtection_EH$\x125\n*cabin_overheat_protection_actively_cooling\x18\x90\x01 \x01(\x08H%\x12P\n\x1acop_activation_temperature\x18\x92\x01 \x01(\x0e2).CarServer.ClimateState.CopActivationTempH&\x12#\n\x18auto_steering_wheel_heat\x18\x93\x01 \x01(\x08H\'\x12=\n\x19steering_wheel_heat_level\x18\x94\x01 \x01(\x0e2\x17.CarServer.StwHeatLevelH(\x12E\n\x11hvac_auto_request\x18\x96\x01 \x01(\x0e2\'.CarServer.ClimateState.HvacAutoRequestH)\x12N\n\x16cop_not_running_reason\x18\x97\x01 \x01(\x0e2+.CarServer.ClimateState.COPNotRunningReasonH*\x12#\n\x18seat_fan_second_row_left\x18\x98\x01 \x01(\x05H+\x12$\n\x19seat_fan_second_row_right\x18\x99\x01 \x01(\x05H,\x12?\n\x0edog_mode_state\x18\x9a\x01 \x01(\x0e2$.CarServer.ClimateState.DogModeStateH-\x1a\xc0\x01\n\x11ClimateKeeperMode\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Off\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1d\n\x02On\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Dog\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Party\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1ax\n\x0bDefrostMode\x12\x1e\n\x03Off\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Normal\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Max\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"E\n\x0fHvacAutoRequest\x12\x15\n\x11HvacAutoRequestOn\x10\x00\x12\x1b\n\x17HvacAutoRequestOverride\x10\x01"~\n\x19CabinOverheatProtection_E\x12\x1e\n\x1aCabinOverheatProtectionOff\x10\x00\x12\x1d\n\x19CabinOverheatProtectionOn\x10\x01\x12"\n\x1eCabinOverheatProtectionFanOnly\x10\x02"t\n\x11SeatHeaterLevel_E\x12\x16\n\x12SeatHeaterLevelOff\x10\x00\x12\x16\n\x12SeatHeaterLevelLow\x10\x01\x12\x16\n\x12SeatHeaterLevelMed\x10\x02\x12\x17\n\x13SeatHeaterLevelHigh\x10\x03"y\n\x12SeatCoolingLevel_E\x12\x17\n\x13SeatCoolingLevelOff\x10\x00\x12\x17\n\x13SeatCoolingLevelLow\x10\x01\x12\x17\n\x13SeatCoolingLevelMed\x10\x02\x12\x18\n\x14SeatCoolingLevelHigh\x10\x03"\x87\x01\n\x11CopActivationTemp\x12 \n\x1cCopActivationTempUnspecified\x10\x00\x12\x18\n\x14CopActivationTempLow\x10\x01\x12\x1b\n\x17CopActivationTempMedium\x10\x02\x12\x19\n\x15CopActivationTempHigh\x10\x03"\x9e\x02\n\x13COPNotRunningReason\x12\x1f\n\x1bCOPNotRunningReasonNoReason\x10\x00\x12&\n"COPNotRunningReasonUserInteraction\x10\x01\x12/\n+COPNotRunningReasonEnergyConsumptionReached\x10\x02\x12\x1e\n\x1aCOPNotRunningReasonTimeout\x10\x03\x12#\n\x1fCOPNotRunningReasonLowSolarLoad\x10\x04\x12\x1c\n\x18COPNotRunningReasonFault\x10\x05\x12*\n&COPNotRunningReasonCabinBelowThreshold\x10\x06"\xdb\x01\n\x0cDogModeState\x12 \n\x1cDogModeStateUnavailableFault\x10\x00\x12!\n\x1dDogModeStateUnavailableTooHot\x10\x01\x12\x19\n\x15DogModeStateAvailable\x10\x02\x12\x1e\n\x1aDogModeStateRunningNominal\x10\x03\x12\x1c\n\x18DogModeStateRunningFault\x10\x04\x12-\n)DogModeStateRunningTemperatureMonitorTrip\x10\x05B\x1e\n\x1coptional_inside_temp_celsiusB\x1f\n\x1doptional_outside_temp_celsiusB\x1e\n\x1coptional_driver_temp_settingB!\n\x1foptional_passenger_temp_settingB\x1e\n\x1coptional_left_temp_directionB\x1f\n\x1doptional_right_temp_directionB \n\x1eoptional_is_front_defroster_onB\x1f\n\x1doptional_is_rear_defroster_onB\x15\n\x13optional_fan_statusB\x18\n\x16optional_is_climate_onB!\n\x1foptional_min_avail_temp_celsiusB!\n\x1foptional_max_avail_temp_celsiusB\x1b\n\x19optional_seat_heater_leftB\x1c\n\x1aoptional_seat_heater_rightB \n\x1eoptional_seat_heater_rear_leftB!\n\x1foptional_seat_heater_rear_rightB"\n optional_seat_heater_rear_centerB&\n$optional_seat_heater_rear_right_backB%\n#optional_seat_heater_rear_left_backB&\n$optional_seat_heater_third_row_rightB%\n#optional_seat_heater_third_row_leftB\x19\n\x17optional_battery_heaterB"\n optional_battery_heater_no_powerB \n\x1eoptional_steering_wheel_heaterB\x1d\n\x1boptional_wiper_blade_heaterB\x1e\n\x1coptional_side_mirror_heatersB\x1d\n\x1boptional_is_preconditioningB(\n&optional_remote_heater_control_enabledB\x1c\n\x1aoptional_bioweapon_mode_onB"\n optional_is_auto_conditioning_onB!\n\x1foptional_auto_seat_climate_leftB"\n optional_auto_seat_climate_rightB\x1e\n\x1coptional_seat_fan_front_leftB\x1f\n\x1doptional_seat_fan_front_rightB*\n(optional_allow_cabin_overheat_protectionB6\n4optional_supports_fan_only_cabin_overheat_protectionB$\n"optional_cabin_overheat_protectionB5\n3optional_cabin_overheat_protection_actively_coolingB%\n#optional_cop_activation_temperatureB#\n!optional_auto_steering_wheel_heatB$\n"optional_steering_wheel_heat_levelB\x1c\n\x1aoptional_hvac_auto_requestB!\n\x1foptional_cop_not_running_reasonB#\n!optional_seat_fan_second_row_leftB$\n"optional_seat_fan_second_row_rightB\x19\n\x17optional_dog_mode_stateJ\x06\x08\x91\x01\x10\x92\x01"\xae3\n\x11TirePressureState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1a\n\x10tpms_pressure_fl\x18\x02 \x01(\x02H\x00\x12\x1a\n\x10tpms_pressure_fr\x18\x03 \x01(\x02H\x01\x12\x1a\n\x10tpms_pressure_rl\x18\x04 \x01(\x02H\x02\x12\x1a\n\x10tpms_pressure_rr\x18\x05 \x01(\x02H\x03\x12C\n\x1ftpms_last_seen_pressure_time_fl\x18\x06 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_fr\x18\x07 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_rl\x18\x08 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_rr\x18\t \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1e\n\x14tpms_hard_warning_fl\x18\n \x01(\x08H\x04\x12\x1e\n\x14tpms_hard_warning_fr\x18\x0b \x01(\x08H\x05\x12\x1e\n\x14tpms_hard_warning_rl\x18\x0c \x01(\x08H\x06\x12\x1e\n\x14tpms_hard_warning_rr\x18\r \x01(\x08H\x07\x12\x1e\n\x14tpms_soft_warning_fl\x18\x0e \x01(\x08H\x08\x12\x1e\n\x14tpms_soft_warning_fr\x18\x0f \x01(\x08H\t\x12\x1e\n\x14tpms_soft_warning_rl\x18\x10 \x01(\x08H\n\x12\x1e\n\x14tpms_soft_warning_rr\x18\x11 \x01(\x08H\x0b\x12\x1e\n\x14tpms_rcp_front_value\x18\x12 \x01(\x02H\x0c\x12\x1d\n\x13tpms_rcp_rear_value\x18\x13 \x01(\x02H\r\x12\x1e\n\x14tpms_pressure_re1_l0\x18\x14 \x01(\x02H\x0e\x12\x1e\n\x14tpms_pressure_re1_l1\x18\x15 \x01(\x02H\x0f\x12\x1e\n\x14tpms_pressure_re1_r0\x18\x16 \x01(\x02H\x10\x12\x1e\n\x14tpms_pressure_re1_r1\x18\x17 \x01(\x02H\x11\x12\x1e\n\x14tpms_pressure_re2_l0\x18\x18 \x01(\x02H\x12\x12\x1e\n\x14tpms_pressure_re2_l1\x18\x19 \x01(\x02H\x13\x12\x1e\n\x14tpms_pressure_re2_r0\x18\x1a \x01(\x02H\x14\x12\x1e\n\x14tpms_pressure_re2_r1\x18\x1b \x01(\x02H\x15\x12G\n#tpms_last_seen_pressure_time_re1_l0\x18\x1c \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_l1\x18\x1d \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_r0\x18\x1e \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_r1\x18\x1f \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_l0\x18 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_l1\x18! \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_r0\x18" \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_r1\x18# \x01(\x0b2\x1a.google.protobuf.Timestamp\x12"\n\x18tpms_hard_warning_re1_l0\x18$ \x01(\x08H\x16\x12"\n\x18tpms_hard_warning_re1_l1\x18% \x01(\x08H\x17\x12"\n\x18tpms_hard_warning_re1_r0\x18& \x01(\x08H\x18\x12"\n\x18tpms_hard_warning_re1_r1\x18\' \x01(\x08H\x19\x12"\n\x18tpms_hard_warning_re2_l0\x18( \x01(\x08H\x1a\x12"\n\x18tpms_hard_warning_re2_l1\x18) \x01(\x08H\x1b\x12"\n\x18tpms_hard_warning_re2_r0\x18* \x01(\x08H\x1c\x12"\n\x18tpms_hard_warning_re2_r1\x18+ \x01(\x08H\x1d\x12"\n\x18tpms_soft_warning_re1_l0\x18, \x01(\x08H\x1e\x12"\n\x18tpms_soft_warning_re1_l1\x18- \x01(\x08H\x1f\x12"\n\x18tpms_soft_warning_re1_r0\x18. \x01(\x08H \x12"\n\x18tpms_soft_warning_re1_r1\x18/ \x01(\x08H!\x12"\n\x18tpms_soft_warning_re2_l0\x180 \x01(\x08H"\x12"\n\x18tpms_soft_warning_re2_l1\x181 \x01(\x08H#\x12"\n\x18tpms_soft_warning_re2_r0\x182 \x01(\x08H$\x12"\n\x18tpms_soft_warning_re2_r1\x183 \x01(\x08H%\x12\x1d\n\x13tpms_temperature_fl\x184 \x01(\x02H&\x12\x1d\n\x13tpms_temperature_fr\x185 \x01(\x02H\'\x12\x1d\n\x13tpms_temperature_rl\x186 \x01(\x02H(\x12\x1d\n\x13tpms_temperature_rr\x187 \x01(\x02H)\x12!\n\x17tpms_temperature_re1_l0\x188 \x01(\x02H*\x12!\n\x17tpms_temperature_re1_l1\x189 \x01(\x02H+\x12!\n\x17tpms_temperature_re1_r0\x18: \x01(\x02H,\x12!\n\x17tpms_temperature_re1_r1\x18; \x01(\x02H-\x12!\n\x17tpms_temperature_re2_l0\x18< \x01(\x02H.\x12!\n\x17tpms_temperature_re2_l1\x18= \x01(\x02H/\x12!\n\x17tpms_temperature_re2_r0\x18> \x01(\x02H0\x12!\n\x17tpms_temperature_re2_r1\x18? \x01(\x02H1\x12*\n tpms_temperature_hard_warning_fl\x18@ \x01(\x08H2\x12*\n tpms_temperature_hard_warning_fr\x18A \x01(\x08H3\x12*\n tpms_temperature_hard_warning_rl\x18B \x01(\x08H4\x12*\n tpms_temperature_hard_warning_rr\x18C \x01(\x08H5\x12.\n$tpms_temperature_hard_warning_re1_l0\x18D \x01(\x08H6\x12.\n$tpms_temperature_hard_warning_re1_l1\x18E \x01(\x08H7\x12.\n$tpms_temperature_hard_warning_re1_r0\x18F \x01(\x08H8\x12.\n$tpms_temperature_hard_warning_re1_r1\x18G \x01(\x08H9\x12.\n$tpms_temperature_hard_warning_re2_l0\x18H \x01(\x08H:\x12.\n$tpms_temperature_hard_warning_re2_l1\x18I \x01(\x08H;\x12.\n$tpms_temperature_hard_warning_re2_r0\x18J \x01(\x08H<\x12.\n$tpms_temperature_hard_warning_re2_r1\x18K \x01(\x08H=\x12*\n tpms_temperature_soft_warning_fl\x18L \x01(\x08H>\x12*\n tpms_temperature_soft_warning_fr\x18M \x01(\x08H?\x12*\n tpms_temperature_soft_warning_rl\x18N \x01(\x08H@\x12*\n tpms_temperature_soft_warning_rr\x18O \x01(\x08HA\x12.\n$tpms_temperature_soft_warning_re1_l0\x18P \x01(\x08HB\x12.\n$tpms_temperature_soft_warning_re1_l1\x18Q \x01(\x08HC\x12.\n$tpms_temperature_soft_warning_re1_r0\x18R \x01(\x08HD\x12.\n$tpms_temperature_soft_warning_re1_r1\x18S \x01(\x08HE\x12.\n$tpms_temperature_soft_warning_re2_l0\x18T \x01(\x08HF\x12.\n$tpms_temperature_soft_warning_re2_l1\x18U \x01(\x08HG\x12.\n$tpms_temperature_soft_warning_re2_r0\x18V \x01(\x08HH\x12.\n$tpms_temperature_soft_warning_re2_r1\x18W \x01(\x08HIB\x1b\n\x19optional_tpms_pressure_flB\x1b\n\x19optional_tpms_pressure_frB\x1b\n\x19optional_tpms_pressure_rlB\x1b\n\x19optional_tpms_pressure_rrB\x1f\n\x1doptional_tpms_hard_warning_flB\x1f\n\x1doptional_tpms_hard_warning_frB\x1f\n\x1doptional_tpms_hard_warning_rlB\x1f\n\x1doptional_tpms_hard_warning_rrB\x1f\n\x1doptional_tpms_soft_warning_flB\x1f\n\x1doptional_tpms_soft_warning_frB\x1f\n\x1doptional_tpms_soft_warning_rlB\x1f\n\x1doptional_tpms_soft_warning_rrB\x1f\n\x1doptional_tpms_rcp_front_valueB\x1e\n\x1coptional_tpms_rcp_rear_valueB\x1f\n\x1doptional_tpms_pressure_re1_l0B\x1f\n\x1doptional_tpms_pressure_re1_l1B\x1f\n\x1doptional_tpms_pressure_re1_r0B\x1f\n\x1doptional_tpms_pressure_re1_r1B\x1f\n\x1doptional_tpms_pressure_re2_l0B\x1f\n\x1doptional_tpms_pressure_re2_l1B\x1f\n\x1doptional_tpms_pressure_re2_r0B\x1f\n\x1doptional_tpms_pressure_re2_r1B#\n!optional_tpms_hard_warning_re1_l0B#\n!optional_tpms_hard_warning_re1_l1B#\n!optional_tpms_hard_warning_re1_r0B#\n!optional_tpms_hard_warning_re1_r1B#\n!optional_tpms_hard_warning_re2_l0B#\n!optional_tpms_hard_warning_re2_l1B#\n!optional_tpms_hard_warning_re2_r0B#\n!optional_tpms_hard_warning_re2_r1B#\n!optional_tpms_soft_warning_re1_l0B#\n!optional_tpms_soft_warning_re1_l1B#\n!optional_tpms_soft_warning_re1_r0B#\n!optional_tpms_soft_warning_re1_r1B#\n!optional_tpms_soft_warning_re2_l0B#\n!optional_tpms_soft_warning_re2_l1B#\n!optional_tpms_soft_warning_re2_r0B#\n!optional_tpms_soft_warning_re2_r1B\x1e\n\x1coptional_tpms_temperature_flB\x1e\n\x1coptional_tpms_temperature_frB\x1e\n\x1coptional_tpms_temperature_rlB\x1e\n\x1coptional_tpms_temperature_rrB"\n optional_tpms_temperature_re1_l0B"\n optional_tpms_temperature_re1_l1B"\n optional_tpms_temperature_re1_r0B"\n optional_tpms_temperature_re1_r1B"\n optional_tpms_temperature_re2_l0B"\n optional_tpms_temperature_re2_l1B"\n optional_tpms_temperature_re2_r0B"\n optional_tpms_temperature_re2_r1B+\n)optional_tpms_temperature_hard_warning_flB+\n)optional_tpms_temperature_hard_warning_frB+\n)optional_tpms_temperature_hard_warning_rlB+\n)optional_tpms_temperature_hard_warning_rrB/\n-optional_tpms_temperature_hard_warning_re1_l0B/\n-optional_tpms_temperature_hard_warning_re1_l1B/\n-optional_tpms_temperature_hard_warning_re1_r0B/\n-optional_tpms_temperature_hard_warning_re1_r1B/\n-optional_tpms_temperature_hard_warning_re2_l0B/\n-optional_tpms_temperature_hard_warning_re2_l1B/\n-optional_tpms_temperature_hard_warning_re2_r0B/\n-optional_tpms_temperature_hard_warning_re2_r1B+\n)optional_tpms_temperature_soft_warning_flB+\n)optional_tpms_temperature_soft_warning_frB+\n)optional_tpms_temperature_soft_warning_rlB+\n)optional_tpms_temperature_soft_warning_rrB/\n-optional_tpms_temperature_soft_warning_re1_l0B/\n-optional_tpms_temperature_soft_warning_re1_l1B/\n-optional_tpms_temperature_soft_warning_re1_r0B/\n-optional_tpms_temperature_soft_warning_re1_r1B/\n-optional_tpms_temperature_soft_warning_re2_l0B/\n-optional_tpms_temperature_soft_warning_re2_l1B/\n-optional_tpms_temperature_soft_warning_re2_r0B/\n-optional_tpms_temperature_soft_warning_re2_r1"\xe3\x04\n\nMediaState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12 \n\x16remote_control_enabled\x18\x02 \x01(\x08H\x00\x12\x1c\n\x12now_playing_artist\x18\x03 \x01(\tH\x01\x12\x1b\n\x11now_playing_title\x18\x04 \x01(\tH\x02\x12\x16\n\x0caudio_volume\x18\x05 \x01(\x02H\x03\x12 \n\x16audio_volume_increment\x18\x06 \x01(\x02H\x04\x12\x1a\n\x10audio_volume_max\x18\x07 \x01(\x02H\x05\x128\n\x12now_playing_source\x18\x08 \x01(\x0e2\x1a.CarServer.MediaSourceTypeH\x06\x12?\n\x15media_playback_status\x18\t \x01(\x0e2\x1e.CarServer.MediaPlaybackStatusH\x07B!\n\x1foptional_remote_control_enabledB\x1d\n\x1boptional_now_playing_artistB\x1c\n\x1aoptional_now_playing_titleB\x17\n\x15optional_audio_volumeB!\n\x1foptional_audio_volume_incrementB\x1b\n\x19optional_audio_volume_maxB\x1d\n\x1boptional_now_playing_sourceB \n\x1eoptional_media_playback_status"\xb8\x05\n\x10MediaDetailState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1e\n\x14now_playing_duration\x18\x02 \x01(\x05H\x00\x12\x1d\n\x13now_playing_elapsed\x18\x03 \x01(\x05H\x01\x12#\n\x19now_playing_source_string\x18\x04 \x01(\tH\x02\x12\x1b\n\x11now_playing_album\x18\x05 \x01(\tH\x03\x12\x1d\n\x13now_playing_station\x18\x06 \x01(\tH\x04\x12\x1a\n\x10a2dp_source_name\x18\x07 \x01(\tH\x05\x129\n\x15recent_theater_source\x18\x08 \x01(\x0e2\x18.CarServer.TheaterSourceH\x06\x12&\n\x1crecent_theater_source_string\x18\t \x01(\tH\x07\x12#\n\x19theater_source_is_playing\x18\n \x01(\x08H\x08B\x1f\n\x1doptional_now_playing_durationB\x1e\n\x1coptional_now_playing_elapsedB$\n"optional_now_playing_source_stringB\x1c\n\x1aoptional_now_playing_albumB\x1e\n\x1coptional_now_playing_stationB\x1b\n\x19optional_a2dp_source_nameB \n\x1eoptional_recent_theater_sourceB\'\n%optional_recent_theater_source_stringB$\n"optional_theater_source_is_playing"\xd0\x01\n\nShiftState\x12"\n\x07Invalid\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01P\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01R\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01N\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01D\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SNA\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"\xe2\x02\n\x0bGuiSettings\x12-\n\ttimestamp\x18\x07 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1a\n\x10gui_24_hour_time\x18h \x01(\x08H\x00\x12\x1a\n\x10show_range_units\x18j \x01(\x08H\x01\x12I\n\x16gui_tirepressure_units\x18l \x01(\x0e2\'.CarServer.GuiSettings.TirePressureUnitH\x02"D\n\x10TirePressureUnit\x12\x17\n\x13TirePressureUnitPsi\x10\x00\x12\x17\n\x13TirePressureUnitBar\x10\x01B\x1b\n\x19optional_gui_24_hour_timeB\x1b\n\x19optional_show_range_unitsB!\n\x1foptional_gui_tirepressure_units"\xb28\n\rVehicleConfig\x12E\n\x12interior_trim_type\x18\x1c \x01(\x0b2).CarServer.VehicleConfig.InteriorTrimType\x12E\n\x12exterior_trim_type\x18# \x01(\x0b2).CarServer.VehicleConfig.ExteriorTrimType\x12\x1c\n\x12red_brake_calipers\x18= \x01(\x08H\x00\x12\x1b\n\x11use_range_badging\x18g \x01(\x08H\x01\x12\x1c\n\x12range_plus_badging\x18h \x01(\x08H\x02\x12\x1c\n\x12has_ludicrous_mode\x18i \x01(\x08H\x03\x12\x1c\n\x12can_actuate_trunks\x18j \x01(\x08H\x04\x12\x1c\n\x12has_air_suspension\x18n \x01(\x08H\x05\x12\x1a\n\x10ece_restrictions\x18x \x01(\x08H\x06\x12\x14\n\neu_vehicle\x18y \x01(\x08H\x07\x12\x1f\n\x15motorized_charge_port\x18z \x01(\x08H\x08\x12(\n\x1ecan_accept_navigation_requests\x18| \x01(\x08H\t\x12\x15\n\x0bkey_version\x18} \x01(\rH\n\x12\x18\n\x0emobile_enabled\x18~ \x01(\x08H\x0b\x12 \n\x15default_charge_to_max\x18\x86\x01 \x01(\x08H\x0c\x12*\n\x1fsteering_wheel_heater_installed\x18\x88\x01 \x01(\x08H\r\x12 \n\x15sentry_mode_supported\x18\x89\x01 \x01(\x08H\x0e\x12\x1d\n\x12homelink_supported\x18\x8a\x01 \x01(\x08H\x0f\x12\x1b\n\x10webcam_supported\x18\x8b\x01 \x01(\x08H\x10\x12#\n\x18bioweapon_mode_supported\x18\x8d\x01 \x01(\x08H\x11\x12&\n\x1bdashcam_clip_save_supported\x18\x8e\x01 \x01(\x08H\x12\x12\x12\n\x07has_pws\x18\x8f\x01 \x01(\x08H\x13\x12\x15\n\nutc_offset\x18\x90\x01 \x01(\x11H\x14\x12\x1b\n\x10has_seat_cooling\x18\x91\x01 \x01(\x08H\x15\x12\x1f\n\x14paint_color_override\x18\x92\x01 \x01(\tH\x16\x12#\n\x18tpms_pressures_supported\x18\x93\x01 \x01(\x08H\x17\x12\x1a\n\x0fvehicle_badging\x18\x94\x01 \x01(\rH\x18\x12!\n\x16exterior_trim_override\x18\x95\x01 \x01(\tH\x19\x12A\n\rheadlamp_type\x18\x96\x01 \x01(\x0e2\'.CarServer.VehicleConfig.HeadlampType_EH\x1a\x12B\n\x0eaux_park_lamps\x18\x9a\x01 \x01(\x0e2\'.CarServer.VehicleConfig.AuxParkLamps_EH\x1b\x12\x13\n\x08is_raven\x18\x9b\x01 \x01(\x08H\x1c\x12 \n\x15has_auto_seat_climate\x18\x9c\x01 \x01(\x08H\x1d\x12%\n\x1ahas_front_row_seat_heaters\x18\x9d\x01 \x01(\x08H\x1e\x12%\n\x1ahas_third_row_seat_heaters\x18\x9e\x01 \x01(\x08H\x1f\x12\x1e\n\x13supports_qr_pairing\x18\x9f\x01 \x01(\x08H \x12$\n\x19disable_window_vent_close\x18\xa1\x01 \x01(\x08H!\x12"\n\x17webcam_selfie_supported\x18\xa2\x01 \x01(\x08H"\x12&\n\x1bcop_user_set_temp_supported\x18\xa3\x01 \x01(\x08H#\x12\x1c\n\x11has_auto_stw_heat\x18\xa4\x01 \x01(\x08H$\x12A\n\x0erearlight_type\x18\xa5\x01 \x01(\x0e2&.CarServer.VehicleConfig.RearLightTypeH%\x12?\n\x15rear_seat_heater_type\x18\xa6\x01 \x01(\x0e2\x1d.CarServer.RearSeatHeaterTypeH&\x12 \n\x15webcam_grid_supported\x18\xa7\x01 \x01(\x08H\'\x12\x1a\n\x0fhas_tesla_badge\x18\xa8\x01 \x01(\x08H(\x12\x1d\n\x12has_tesla_wordmark\x18\xa9\x01 \x01(\x08H)\x12-\n\x0bfascia_type\x18\xaa\x01 \x01(\x0e2\x15.CarServer.FasciaTypeH*\x12D\n\x17accessory_lightbar_type\x18\xab\x01 \x01(\x0e2 .CarServer.AccessoryLightbarTypeH+\x12#\n\x18sentry_preview_supported\x18\xac\x01 \x01(\x08H,\x12@\n\x0eseat_trim_type\x18\xad\x01 \x01(\x0e2%.CarServer.VehicleConfig.SeatTrimTypeH-\x12C\n\x0fdrivetrain_type\x18\xae\x01 \x01(\x0e2\'.CarServer.VehicleConfig.DrivetrainTypeH.\x12\x1e\n\x13lightshow_supported\x18\xaf\x01 \x01(\x08H/\x12(\n\x1dmobile_dashcam_viewer_version\x18\xb0\x01 \x01(\rH0\x12#\n\x18has_premium_connectivity\x18\xb1\x01 \x01(\x08H1\x12\x1b\n\x10car_wrap_enabled\x18\xb2\x01 \x01(\x08H2\x12\x1f\n\x14supports_ride_height\x18\xb3\x01 \x01(\x08H3\x12&\n\x1bsupports_set_arrival_energy\x18\xb4\x01 \x01(\x08H4\x12*\n\x1fsupports_pillar_camera_metadata\x18\xb5\x01 \x01(\x08H5\x12/\n\x0cchassis_type\x18\xb6\x01 \x01(\x0e2\x16.CarServer.ChassisTypeH6\x12\x1b\n\x10is_china_vehicle\x18\xb7\x01 \x01(\x08H7\x12 \n\x15is_using_unreal_apviz\x18\xb8\x01 \x01(\x08H8\x12,\n!supports_flexible_dashcam_bitrate\x18\xb9\x01 \x01(\x08H9\x12S\n\x18front_fascia_camera_type\x18\xba\x01 \x01(\x0e2..CarServer.VehicleConfig.FrontFasciaCameraTypeH:\x12Y\n\x1bturn_indicator_control_type\x18\xbb\x01 \x01(\x0e21.CarServer.VehicleConfig.TurnIndicatorControlTypeH;\x12\x1b\n\x10has_rear_display\x18\xbc\x01 \x01(\x08H<\x12\x1c\n\x11window_tint_color\x18\xbd\x01 \x01(\tH=\x12S\n\x18interior_upper_trim_type\x18\xbe\x01 \x01(\x0e2..CarServer.VehicleConfig.InteriorUpperTrimTypeH>\x12N\n\x15badging_material_type\x18\xbf\x01 \x01(\x0e2,.CarServer.VehicleConfig.BadgingMaterialTypeH?\x12\x1f\n\x14webcam_interior_only\x18\xc0\x01 \x01(\x08H@\x12\x17\n\x0ccountry_code\x18\xc1\x01 \x01(\tHA\x12F\n\x11bed_lighting_type\x18\xc2\x01 \x01(\x0e2(.CarServer.VehicleConfig.BedLightingTypeHB\x12Y\n\x1brear_light_hardware_variant\x18\xc3\x01 \x01(\x0e21.CarServer.VehicleConfig.RearLightHardwareVariantHC\x121\n\x0eautopilot_base\x18\xc4\x01 \x01(\x0e2\x18.CarServer.AutopilotBase\x12D\n\x18autopilot_override_state\x18\xc5\x01 \x01(\x0e2!.CarServer.AutopilotOverrideState\x12)\n\x1eautopilot_override_expire_time\x18\xc6\x01 \x01(\x03HD\x1a\xd5\x03\n\x10InteriorTrimType\x12(\n\rBLACKCONSOLE2\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12(\n\rWHITECONSOLE2\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08ALLBLACK\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12(\n\rBLACKANDWHITE\x18\t \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bWALNUTCREAM\x18\x0c \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bWALNUTWHITE\x18\r \x01(\x0b2\x0f.CarServer.VoidH\x00\x12%\n\nEBONYBLACK\x18\x0e \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCARBONCREAM\x18\x0f \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCARBONWHITE\x18\x10 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCARBONBLACK\x18\x11 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\'\n\x0cTACTICALGREY\x18\x12 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1al\n\x10ExteriorTrimType\x12)\n\x0eSTANDARDCHROME\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12%\n\nSATINBLACK\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"m\n\x0eAuxParkLamps_E\x12\x16\n\x12AuxParkLampsNaBase\x10\x00\x12\x19\n\x15AuxParkLampsNaPremium\x10\x01\x12\x12\n\x0eAuxParkLampsEu\x10\x02\x12\x14\n\x10AuxParkLampsNone\x10\x03"]\n\x13BadgingMaterialType\x12#\n\x1fBadgingMaterialTypeChromeSilver\x10\x00\x12!\n\x1dBadgingMaterialTypeBlackMatte\x10\x01"F\n\x0fBedLightingType\x12\x17\n\x13BedLightingTypeBase\x10\x00\x12\x1a\n\x16BedLightingTypePremium\x10\x01"]\n\x0eDrivetrainType\x12\x15\n\x11DrivetrainTypeRWD\x10\x00\x12\x15\n\x11DrivetrainTypeAWD\x10\x01\x12\x1d\n\x19DrivetrainTypeAWDTriMotor\x10\x02"x\n\x15FrontFasciaCameraType\x12\x1d\n\x19FrontFasciaCameraTypeNone\x10\x00\x12\x1f\n\x1bFrontFasciaCameraTypeIMX963\x10\x01\x12\x1f\n\x1bFrontFasciaCameraTypeIMX00N\x10\x02"\x9a\x01\n\x0eHeadlampType_E\x12\x17\n\x13HeadlampTypePremium\x10\x00\x12\x16\n\x12HeadlampTypeGlobal\x10\x01\x12\x17\n\x13HeadlampTypeHalogen\x10\x02\x12\x13\n\x0fHeadlampTypeHid\x10\x03\x12\x13\n\x0fHeadlampTypeLed\x10\x04\x12\x14\n\x10HeadlampTypeBase\x10\x05"b\n\x15InteriorUpperTrimType\x12"\n\x1eInteriorUpperTrimTypePolarGrey\x10\x00\x12%\n!InteriorUpperTrimTypeMammothBlack\x10\x01"\xaf\x01\n\x18RearLightHardwareVariant\x12#\n\x1fRearLightHardwareVariantUnknown\x10\x00\x12 \n\x1cRearLightHardwareVariantBase\x10\x01\x12%\n!RearLightHardwareVariantPremiumV1\x10\x02\x12%\n!RearLightHardwareVariantPremiumV2\x10\x03"T\n\rRearLightType\x12\x13\n\x0fRearLightTypeNA\x10\x00\x12\x15\n\x11RearLightTypeEuCn\x10\x01\x12\x17\n\x13RearLightTypeGlobal\x10\x02"X\n\x0cSeatTrimType\x12\x14\n\x10SeatTrimTypeBase\x10\x00\x12\x15\n\x11SeatTrimTypeSport\x10\x01\x12\x1b\n\x17SeatTrimTypeBaseTextile\x10\x02"\x95\x01\n\x18TurnIndicatorControlType\x12#\n\x1fTurnIndicatorControlTypeUnknown\x10\x00\x12-\n)TurnIndicatorControlTypeSingleDetentStalk\x10\x01\x12%\n!TurnIndicatorControlTypeSWSButton\x10\x02B\x1d\n\x1boptional_red_brake_calipersB\x1c\n\x1aoptional_use_range_badgingB\x1d\n\x1boptional_range_plus_badgingB\x1d\n\x1boptional_has_ludicrous_modeB\x1d\n\x1boptional_can_actuate_trunksB\x1d\n\x1boptional_has_air_suspensionB\x1b\n\x19optional_ece_restrictionsB\x15\n\x13optional_eu_vehicleB \n\x1eoptional_motorized_charge_portB)\n\'optional_can_accept_navigation_requestsB\x16\n\x14optional_key_versionB\x19\n\x17optional_mobile_enabledB \n\x1eoptional_default_charge_to_maxB*\n(optional_steering_wheel_heater_installedB \n\x1eoptional_sentry_mode_supportedB\x1d\n\x1boptional_homelink_supportedB\x1b\n\x19optional_webcam_supportedB#\n!optional_bioweapon_mode_supportedB&\n$optional_dashcam_clip_save_supportedB\x12\n\x10optional_has_pwsB\x15\n\x13optional_utc_offsetB\x1b\n\x19optional_has_seat_coolingB\x1f\n\x1doptional_paint_color_overrideB#\n!optional_tpms_pressures_supportedB\x1a\n\x18optional_vehicle_badgingB!\n\x1foptional_exterior_trim_overrideB\x18\n\x16optional_headlamp_typeB\x19\n\x17optional_aux_park_lampsB\x13\n\x11optional_is_ravenB \n\x1eoptional_has_auto_seat_climateB%\n#optional_has_front_row_seat_heatersB%\n#optional_has_third_row_seat_heatersB\x1e\n\x1coptional_supports_qr_pairingB$\n"optional_disable_window_vent_closeB"\n optional_webcam_selfie_supportedB&\n$optional_cop_user_set_temp_supportedB\x1c\n\x1aoptional_has_auto_stw_heatB\x19\n\x17optional_rearlight_typeB \n\x1eoptional_rear_seat_heater_typeB \n\x1eoptional_webcam_grid_supportedB\x1a\n\x18optional_has_tesla_badgeB\x1d\n\x1boptional_has_tesla_wordmarkB\x16\n\x14optional_fascia_typeB"\n optional_accessory_lightbar_typeB#\n!optional_sentry_preview_supportedB\x19\n\x17optional_seat_trim_typeB\x1a\n\x18optional_drivetrain_typeB\x1e\n\x1coptional_lightshow_supportedB(\n&optional_mobile_dashcam_viewer_versionB#\n!optional_has_premium_connectivityB\x1b\n\x19optional_car_wrap_enabledB\x1f\n\x1doptional_supports_ride_heightB&\n$optional_supports_set_arrival_energyB*\n(optional_supports_pillar_camera_metadataB\x17\n\x15optional_chassis_typeB\x1b\n\x19optional_is_china_vehicleB \n\x1eoptional_is_using_unreal_apvizB,\n*optional_supports_flexible_dashcam_bitrateB#\n!optional_front_fascia_camera_typeB&\n$optional_turn_indicator_control_typeB\x1b\n\x19optional_has_rear_displayB\x1c\n\x1aoptional_window_tint_colorB#\n!optional_interior_upper_trim_typeB \n\x1eoptional_badging_material_typeB\x1f\n\x1doptional_webcam_interior_onlyB\x17\n\x15optional_country_codeB\x1c\n\x1aoptional_bed_lighting_typeB&\n$optional_rear_light_hardware_variantB)\n\'optional_autopilot_override_expire_time"\xdb\t\n\x14ParkedAccessoryState\x12\x1b\n\x11tent_mode_request\x18\x01 \x01(\x08H\x00\x12 \n\x16horizon_leveling_state\x18\x02 \x01(\x08H\x01\x12?\n\x18front_zone_light_request\x18\x03 \x01(\x0e2\x1b.CarServer.ZoneLightRequestH\x02\x12>\n\x17rear_zone_light_request\x18\x04 \x01(\x0e2\x1b.CarServer.ZoneLightRequestH\x03\x12%\n\x1btruck_bed_lights_brightness\x18\x05 \x01(\rH\x04\x12*\n truck_bed_lights_auto_brightness\x18\x06 \x01(\rH\x05\x12%\n\x1btruck_bed_lights_auto_state\x18\x07 \x01(\x08H\x06\x12,\n"truck_bed_lights_controls_disabled\x18\x08 \x01(\x08H\x07\x12&\n\x1caccessory_lightbar_middle_on\x18\t \x01(\x08H\x08\x12%\n\x1baccessory_lightbar_ditch_on\x18\n \x01(\x08H\t\x12\'\n\x1daccessory_lightbar_brightness\x18\x0b \x01(\rH\n\x12 \n\x16accessory_lightbar_low\x18\x0c \x01(\rH\x0b\x12 \n\x16accessory_lightbar_med\x18\r \x01(\rH\x0c\x12!\n\x17accessory_lightbar_high\x18\x0e \x01(\rH\r\x12\x17\n\rhas_tent_mode\x18\x0f \x01(\x08H\x0e\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB\x1c\n\x1aoptional_tent_mode_requestB!\n\x1foptional_horizon_leveling_stateB#\n!optional_front_zone_light_requestB"\n optional_rear_zone_light_requestB&\n$optional_truck_bed_lights_brightnessB+\n)optional_truck_bed_lights_auto_brightnessB&\n$optional_truck_bed_lights_auto_stateB-\n+optional_truck_bed_lights_controls_disabledB\'\n%optional_accessory_lightbar_middle_onB&\n$optional_accessory_lightbar_ditch_onB(\n&optional_accessory_lightbar_brightnessB!\n\x1foptional_accessory_lightbar_lowB!\n\x1foptional_accessory_lightbar_medB"\n optional_accessory_lightbar_highB\x18\n\x16optional_has_tent_mode"\xf3\x05\n\x08SohState\x128\n\x0esoh_test_state\x18\x01 \x01(\x0b2 .CarServer.SohState.SohTestState\x121\n\nsoh_result\x18\x03 \x01(\x0b2\x1d.CarServer.SohState.SohResult\x12-\n\ttimestamp\x18\x04 \x01(\x0b2\x1a.google.protobuf.Timestamp\x1a\x86\x01\n\x0cSohTestState\x12\x1b\n\x11soh_time_estimate\x18\x02 \x01(\x02H\x00\x12\x1c\n\x12soh_time_remaining\x18\x03 \x01(\x02H\x01B\x1c\n\x1aoptional_soh_time_estimateB\x1d\n\x1boptional_soh_time_remaining\x1a\xe5\x02\n\tSohResult\x12\x18\n\x0esoh_calibrated\x18\x04 \x01(\x08H\x00\x12\x1c\n\x12soh_last_test_time\x18\x05 \x01(\rH\x01\x12F\n\x11soh_health_result\x18\x06 \x01(\x0e2).CarServer.SohState.WarrantyServiceResultH\x02\x12%\n\x1bsoh_distance_since_soh_test\x18\x07 \x01(\rH\x03\x12\x17\n\rsoh_regulated\x18\x08 \x01(\x08H\x04B\x19\n\x17optional_soh_calibratedB\x1d\n\x1boptional_soh_last_test_timeB\x1c\n\x1aoptional_soh_health_resultB&\n$optional_soh_distance_since_soh_testB\x18\n\x16optional_soh_regulated"Z\n\x15WarrantyServiceResult\x12\n\n\x06SOH_OK\x10\x00\x12\x0f\n\x0bSOH_REDUCED\x10\x01\x12\x13\n\x0fSOH_NO_INTERNET\x10\x02\x12\x0f\n\x0bSOH_UNKNOWN\x10\x03"o\n\nAlertState\x121\n\x0fcharging_alerts\x18\x01 \x03(\x0b2\x18.CarServer.ChargingAlert\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.Timestamp"G\n\x0fLightShowOption\x12\x17\n\x0flight_show_name\x18\x01 \x01(\t\x12\x1b\n\x13light_show_duration\x18\x02 \x01(\t"\xcc\x01\n\x11LightShowSettings\x12\x1d\n\x15light_show_volume_min\x18\x01 \x01(\x02\x12\x1d\n\x15light_show_volume_max\x18\x02 \x01(\x02\x12\x1e\n\x16light_show_volume_step\x18\x03 \x01(\x02\x126\n\x12light_show_options\x18\x04 \x03(\x0b2\x1a.CarServer.LightShowOption\x12!\n\x19light_show_schedule_times\x18\x05 \x03(\x04"\xc1\x02\n\x0eLightShowState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1b\n\x11light_show_active\x18\x02 \x01(\x08H\x00\x12"\n\x18light_show_selected_name\x18\x03 \x01(\tH\x01\x12\x1f\n\x15light_show_start_time\x18\x04 \x01(\x04H\x02\x129\n\x13light_show_settings\x18\x05 \x01(\x0b2\x1c.CarServer.LightShowSettingsB\x1c\n\x1aoptional_light_show_activeB#\n!optional_light_show_selected_nameB \n\x1eoptional_light_show_start_time"a\n\x10VehicleImageData\x12\x10\n\x08image_id\x18\x01 \x01(\x0c\x12\x0c\n\x04data\x18\x02 \x01(\x0c\x12\x17\n\x0fdata_chunk_size\x18\x03 \x01(\r\x12\x14\n\x0cstart_offset\x18\x04 \x01(\r"\x83\x01\n\x0cVehicleImage\x12\x10\n\x08image_id\x18\x01 \x01(\x0c\x12/\n\nasset_data\x18\x02 \x01(\x0b2\x1b.CarServer.VehicleImageData\x12\x16\n\x0eis_local_image\x18\x04 \x01(\x08\x12\x18\n\x10total_image_size\x18\x05 \x01(\r"s\n\x11VehicleImageState\x12/\n\x0evehicle_images\x18\x01 \x03(\x0b2\x17.CarServer.VehicleImage\x12-\n\ttimestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.Timestamp"\x9b\x03\n\x0fSuspensionState\x123\n\rcurrent_level\x18\x02 \x01(\x0e2\x1a.CarServer.SuspensionLevelH\x00\x122\n\x0ctarget_level\x18\x03 \x01(\x0e2\x1a.CarServer.SuspensionLevelH\x01\x12=\n\x0emovement_state\x18\x04 \x01(\x0e2#.CarServer.SuspensionActuationStateH\x02\x12\x14\n\noffroad_on\x18\x05 \x01(\x08H\x03\x12\x19\n\x0fdisabled_reason\x18\x06 \x01(\tH\x04\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB\x18\n\x16optional_current_levelB\x17\n\x15optional_target_levelB\x19\n\x17optional_movement_stateB\x15\n\x13optional_offroad_onB\x1a\n\x18optional_disabled_reason"\xb0\x02\n\x1bChildPresenceDetectionState\x12+\n!cpd_disable_notification_required\x18\x01 \x01(\x08H\x00\x12\x19\n\x0fcpd_hvac_active\x18\x02 \x01(\x08H\x01\x12&\n\x1ccpd_supports_critical_alerts\x18\x03 \x01(\x08H\x02\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB,\n*optional_cpd_disable_notification_requiredB\x1a\n\x18optional_cpd_hvac_activeB\'\n%optional_cpd_supports_critical_alerts"\xec\x03\n\x12VehicleDetailState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x16\n\x0cvehicle_name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bcar_version\x18\x03 \x01(\tH\x01\x12\x1a\n\x10detailed_version\x18\x04 \x01(\tH\x02\x12\x18\n\x0eautopilot_hash\x18\x05 \x01(\tH\x03\x12\x1e\n\x14fsd_software_version\x18\x06 \x01(\tH\x04\x12\x1e\n\x14current_profile_name\x18\x07 \x01(\tH\x05\x12*\n china_autopilot_software_version\x18\x08 \x01(\tH\x06B\x17\n\x15optional_vehicle_nameB\x16\n\x14optional_car_versionB\x1b\n\x19optional_detailed_versionB\x19\n\x17optional_autopilot_hashB\x1f\n\x1doptional_fsd_software_versionB\x1f\n\x1doptional_current_profile_nameB+\n)optional_china_autopilot_software_version*\x97\x01\n\rAutopilotBase\x12\x16\n\x12AutopilotBase_NONE\x10\x00\x12\x19\n\x15AutopilotBase_HIGHWAY\x10\x01\x12\x1a\n\x16AutopilotBase_ENHANCED\x10\x02\x12\x1e\n\x1aAutopilotBase_SELF_DRIVING\x10\x03\x12\x17\n\x13AutopilotBase_BASIC\x10\x04*\x87\x03\n\x16AutopilotOverrideState\x12\x1f\n\x1bAutopilotOverrideState_BASE\x10\x00\x12\'\n#AutopilotOverrideState_SUBSCRIPTION\x10\x01\x12 \n\x1cAutopilotOverrideState_TRIAL\x10\x02\x121\n-AutopilotOverrideState_TIMEBOUND_SUBSCRIPTION\x10\x03\x12*\n&AutopilotOverrideState_TIMEBOUND_TRIAL\x10\x04\x12&\n"AutopilotOverrideState_OPTION_CODE\x10\x05\x12*\n&AutopilotOverrideState_OPTION_OVERRIDE\x10\x06\x12*\n&AutopilotOverrideState_VEHICLE_MANAGED\x10\x07\x12"\n\x1eAutopilotOverrideState_UNKNOWN\x10\x08*\xe5\x01\n\x0cDashCamState\x12\x1c\n\x18DashCamState_UNAVAILABLE\x10\x00\x12\x1a\n\x16DashCamState_AVAILABLE\x10\x01\x12\x1a\n\x16DashCamState_RECORDING\x10\x02\x12\x16\n\x12DashCamState_SAVED\x10\x03\x12\x1a\n\x16DashCamState_STREAMING\x10\x04\x12\x19\n\x15DashCamState_NO_SPACE\x10\x05\x12\x17\n\x13DashCamState_SAVING\x10\x06\x12\x17\n\x13DashCamState_PAUSED\x10\x07*\xde\x03\n\rTheaterSource\x12\x16\n\x12TheaterSource_None\x10\x00\x12\x19\n\x15TheaterSource_YouTube\x10\x01\x12 \n\x1cTheaterSource_TeslaTutorials\x10\x02\x12\x19\n\x15TheaterSource_Netflix\x10\x03\x12\x18\n\x14TheaterSource_Twitch\x10\x04\x12\x18\n\x14TheaterSource_TikTok\x10\x05\x12\x16\n\x12TheaterSource_Hulu\x10\x07\x12\x1a\n\x16TheaterSource_BiliBili\x10\n\x12\x18\n\x14TheaterSource_Disney\x10\r\x12\x18\n\x14TheaterSource_Douyin\x10\x0e\x12\x1d\n\x19TheaterSource_MontyPython\x10\x13\x12\x19\n\x15TheaterSource_Tencent\x10\x1c\x12\x17\n\x13TheaterSource_Youku\x10 \x12\x17\n\x13TheaterSource_iQiyi\x10!\x12\x1e\n\x1aTheaterSource_ThunderStone\x10"\x12\x19\n\x15TheaterSource_MangoTV\x10#\x12\x1a\n\x16TheaterSource_Kuaishou\x10$*\x83\n\n\x0fMediaSourceType\x12\x18\n\x14MediaSourceType_None\x10\x00\x12\x16\n\x12MediaSourceType_AM\x10\x01\x12\x16\n\x12MediaSourceType_FM\x10\x02\x12\x16\n\x12MediaSourceType_XM\x10\x03\x12\x1b\n\x17MediaSourceType_Slacker\x10\x05\x12\x1e\n\x1aMediaSourceType_LocalFiles\x10\x06\x12\x18\n\x14MediaSourceType_iPod\x10\x07\x12\x1d\n\x19MediaSourceType_Bluetooth\x10\x08\x12\x19\n\x15MediaSourceType_AuxIn\x10\t\x12\x17\n\x13MediaSourceType_DAB\x10\n\x12\x18\n\x14MediaSourceType_Rdio\x10\x0b\x12\x1b\n\x17MediaSourceType_Spotify\x10\x0c\x12\x1b\n\x17MediaSourceType_USRadio\x10\r\x12\x1b\n\x17MediaSourceType_EURadio\x10\x0e\x12\x1d\n\x19MediaSourceType_MediaFile\x10\x10\x12\x1a\n\x16MediaSourceType_TuneIn\x10\x11\x12\x1c\n\x18MediaSourceType_Stingray\x10\x12\x12\x1c\n\x18MediaSourceType_SiriusXM\x10\x13\x12\x19\n\x15MediaSourceType_Tidal\x10\x14\x12\x1b\n\x17MediaSourceType_QQMusic\x10\x15\x12\x1c\n\x18MediaSourceType_QQMusic2\x10\x16\x12\x1c\n\x18MediaSourceType_Ximalaya\x10\x17\x12\x1f\n\x1bMediaSourceType_OnlineRadio\x10\x18\x12 \n\x1cMediaSourceType_OnlineRadio2\x10\x19\x12 \n\x1cMediaSourceType_NetEaseMusic\x10\x1a\x12\x1e\n\x1aMediaSourceType_AppleMusic\x10\x1b\x12\x1b\n\x17MediaSourceType_Browser\x10\x1c\x12\x1b\n\x17MediaSourceType_Theater\x10\x1d\x12\x18\n\x14MediaSourceType_Game\x10\x1e\x12\x1c\n\x18MediaSourceType_Tutorial\x10\x1f\x12\x1a\n\x16MediaSourceType_Toybox\x10 \x12$\n MediaSourceType_RecentsFavorites\x10!\x12\x1c\n\x18MediaSourceType_HomeApps\x10"\x12\x1a\n\x16MediaSourceType_Search\x10#\x12!\n\x1dMediaSourceType_ApplePodcasts\x10$\x12\x1b\n\x17MediaSourceType_Audible\x10%\x12\x1f\n\x1bMediaSourceType_AmazonMusic\x10&\x12 \n\x1cMediaSourceType_YouTubeMusic\x10\'\x12\x1f\n\x1bMediaSourceType_SiriusXmWeb\x10(\x12\x1b\n\x17MediaSourceType_Yunting\x10)\x12\x1d\n\x19MediaSourceType_TuneInWeb\x10*\x12\x19\n\x15MediaSourceType_Kugou\x10+\x12\x1a\n\x16MediaSourceType_Vohico\x10,*S\n\x15VehicleImageStateType\x12\x11\n\rAPVIZ_INVALID\x10\x00\x12\x0e\n\nAPVIZ_WRAP\x10\x01\x12\x17\n\x13APVIZ_LICENSE_PLATE\x10\x02Bx\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rvehicle.proto\x12\tCarServer\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x0bvcsec.proto\x1a\x0ccommon.proto\x1a\x16managed_charging.proto"\xd7\x0b\n\x0bVehicleData\x12,\n\x0cgui_settings\x18\x02 \x01(\x0b2\x16.CarServer.GuiSettings\x12,\n\x0ccharge_state\x18\x03 \x01(\x0b2\x16.CarServer.ChargeState\x12.\n\rclimate_state\x18\x04 \x01(\x0b2\x17.CarServer.ClimateState\x12*\n\x0bdrive_state\x18\x05 \x01(\x0b2\x15.CarServer.DriveState\x125\n\x14legacy_vehicle_state\x18\x06 \x01(\x0b2\x17.CarServer.VehicleState\x120\n\x0evehicle_config\x18\x07 \x01(\x0b2\x18.CarServer.VehicleConfig\x120\n\x0elocation_state\x18\x08 \x01(\x0b2\x18.CarServer.LocationState\x120\n\x0eclosures_state\x18\t \x01(\x0b2\x18.CarServer.ClosuresState\x12\x1c\n\x12proto_json_version\x18\n \x01(\x05H\x00\x12\x17\n\rupload_reason\x18\x0c \x01(\tH\x01\x12?\n\x16parked_accessory_state\x18\x0e \x01(\x0b2\x1f.CarServer.ParkedAccessoryState\x12=\n\x15charge_schedule_state\x18\x0f \x01(\x0b2\x1e.CarServer.ChargeScheduleState\x12O\n\x1epreconditioning_schedule_state\x18\x10 \x01(\x0b2\'.CarServer.PreconditioningScheduleState\x12&\n\tsoh_state\x18\x11 \x01(\x0b2\x13.CarServer.SohState\x12\x0f\n\x07unknown\x18\x12 \x01(\x0c\x129\n\x13tire_pressure_state\x18\x13 \x01(\x0b2\x1c.CarServer.TirePressureState\x12*\n\x0bmedia_state\x18\x14 \x01(\x0b2\x15.CarServer.MediaState\x127\n\x12media_detail_state\x18\x15 \x01(\x0b2\x1b.CarServer.MediaDetailState\x12;\n\x14vehicle_detail_state\x18\x16 \x01(\x0b2\x1d.CarServer.VehicleDetailState\x12=\n\x15software_update_state\x18\x17 \x01(\x0b2\x1e.CarServer.SoftwareUpdateState\x12A\n\x17parental_controls_state\x18\x18 \x01(\x0b2 .CarServer.ParentalControlsState\x12*\n\x0balert_state\x18\x19 \x01(\x0b2\x15.CarServer.AlertState\x123\n\x10light_show_state\x18\x1a \x01(\x0b2\x19.CarServer.LightShowState\x129\n\x13vehicle_image_state\x18\x1b \x01(\x0b2\x1c.CarServer.VehicleImageState\x124\n\x10suspension_state\x18\x1d \x01(\x0b2\x1a.CarServer.SuspensionState\x12N\n\x1echild_presence_detection_state\x18\x1e \x01(\x0b2&.CarServer.ChildPresenceDetectionState\x12#\n\x18supports_optional_fields\x18\xe7\x07 \x01(\x08H\x02B\x1d\n\x1boptional_proto_json_versionB\x18\n\x16optional_upload_reasonB#\n!optional_supports_optional_fields"\xb7\x15\n\rClosuresState\x12 \n\x16door_open_driver_front\x18e \x01(\x08H\x00\x12\x1f\n\x15door_open_driver_rear\x18f \x01(\x08H\x01\x12#\n\x19door_open_passenger_front\x18g \x01(\x08H\x02\x12"\n\x18door_open_passenger_rear\x18h \x01(\x08H\x03\x12\x1f\n\x15door_open_trunk_front\x18i \x01(\x08H\x04\x12\x1e\n\x14door_open_trunk_rear\x18j \x01(\x08H\x05\x12"\n\x18window_open_driver_front\x18k \x01(\x08H\x06\x12%\n\x1bwindow_open_passenger_front\x18l \x01(\x08H\x07\x12!\n\x17window_open_driver_rear\x18m \x01(\x08H\x08\x12$\n\x1awindow_open_passenger_rear\x18n \x01(\x08H\t\x12=\n\x0esun_roof_state\x18\x0b \x01(\x0b2%.CarServer.ClosuresState.SunRoofState\x12\x1f\n\x15sun_roof_percent_open\x18p \x01(\x05H\n\x12\x10\n\x06locked\x18q \x01(\x08H\x0b\x12\x19\n\x0fis_user_present\x18r \x01(\x08H\x0c\x12C\n\x14center_display_state\x18\x0f \x01(\x0b2%.CarServer.ClosuresState.DisplayState\x12\x16\n\x0cremote_start\x18t \x01(\x08H\r\x12\x14\n\nvalet_mode\x18u \x01(\x08H\x0e\x12\x1a\n\x10valet_pin_needed\x18v \x01(\x08H\x0f\x12C\n\x11sentry_mode_state\x18\x13 \x01(\x0b2(.CarServer.ClosuresState.SentryModeState\x12\x1f\n\x15sentry_mode_available\x18x \x01(\x08H\x10\x123\n\x10speed_limit_mode\x18\x16 \x01(\x0b2\x19.CarServer.SpeedLimitMode\x12.\n\rtonneau_state\x18\x17 \x01(\x0e2\x15.VCSEC.ClosureState_EH\x11\x12\x1e\n\x14tonneau_percent_open\x18\x18 \x01(\rH\x12\x12\x1b\n\x11tonneau_in_motion\x18\x19 \x01(\x08H\x13\x12\x1f\n\x15has_automatic_tonneau\x18\x1a \x01(\x08H\x14\x12 \n\x16has_side_storage_doors\x18\x1b \x01(\x08H\x15\x12%\n\x1bdoor_open_side_storage_left\x18\x1c \x01(\x08H\x16\x12&\n\x1cdoor_open_side_storage_right\x18\x1d \x01(\x08H\x17\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.Timestamp\x1a\xea\x01\n\x0cSunRoofState\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCalibrating\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Closed\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Open\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Moving\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Vent\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xf2\x02\n\x0cDisplayState\x12\x1e\n\x03Off\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Dim\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12$\n\tAccessory\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1d\n\x02On\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07Driving\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Charging\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Lock\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Sentry\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Dog\x18\t \x01(\x0b2\x0f.CarServer.VoidH\x00\x12(\n\rEntertainment\x18\n \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xe2\x01\n\x0fSentryModeState\x12\x1e\n\x03Off\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Idle\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Armed\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Aware\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Panic\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Quiet\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04typeB!\n\x1foptional_door_open_driver_frontB \n\x1eoptional_door_open_driver_rearB$\n"optional_door_open_passenger_frontB#\n!optional_door_open_passenger_rearB \n\x1eoptional_door_open_trunk_frontB\x1f\n\x1doptional_door_open_trunk_rearB#\n!optional_window_open_driver_frontB&\n$optional_window_open_passenger_frontB"\n optional_window_open_driver_rearB%\n#optional_window_open_passenger_rearB \n\x1eoptional_sun_roof_percent_openB\x11\n\x0foptional_lockedB\x1a\n\x18optional_is_user_presentB\x17\n\x15optional_remote_startB\x15\n\x13optional_valet_modeB\x1b\n\x19optional_valet_pin_neededB \n\x1eoptional_sentry_mode_availableB\x18\n\x16optional_tonneau_stateB\x1f\n\x1doptional_tonneau_percent_openB\x1c\n\x1aoptional_tonneau_in_motionB \n\x1eoptional_has_automatic_tonneauB!\n\x1foptional_has_side_storage_doorsB&\n$optional_door_open_side_storage_leftB\'\n%optional_door_open_side_storage_right"\xda\x03\n\x13ChargeScheduleState\x123\n\x10charge_schedules\x18\x01 \x03(\x0b2\x19.CarServer.ChargeSchedule\x12;\n\x16charge_schedule_window\x18\x02 \x01(\x0b2\x19.CarServer.ChargeScheduleH\x00\x12\x17\n\rcharge_buffer\x18\x03 \x01(\x05H\x01\x12"\n\x18max_num_charge_schedules\x18\x04 \x01(\rH\x02\x12\x17\n\rnext_schedule\x18\x05 \x01(\x08H\x03\x12&\n\x1cshow_schedule_complete_state\x18\x06 \x01(\x08H\x04\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB!\n\x1foptional_charge_schedule_windowB\x18\n\x16optional_charge_bufferB#\n!optional_max_num_charge_schedulesB\x18\n\x16optional_next_scheduleB\'\n%optional_show_schedule_complete_state"\x8f\x03\n\x1cPreconditioningScheduleState\x12?\n\x16precondition_schedules\x18\x01 \x03(\x0b2\x1f.CarServer.PreconditionSchedule\x12J\n\x1fpreconditioning_schedule_window\x18\x02 \x01(\x0b2\x1f.CarServer.PreconditionScheduleH\x00\x12(\n\x1emax_num_precondition_schedules\x18\x03 \x01(\rH\x01\x12\x17\n\rnext_schedule\x18\x04 \x01(\x08H\x02\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB*\n(optional_preconditioning_schedule_windowB)\n\'optional_max_num_precondition_schedulesB\x18\n\x16optional_next_schedule"\x87\x02\n\x0eSpeedLimitMode\x12\x10\n\x06active\x18g \x01(\x08H\x00\x12\x16\n\x0cpin_code_set\x18h \x01(\x08H\x01\x12\x17\n\rmax_limit_mph\x18j \x01(\x02H\x02\x12\x17\n\rmin_limit_mph\x18k \x01(\x02H\x03\x12\x1b\n\x11current_limit_mph\x18l \x01(\x02H\x04B\x11\n\x0foptional_activeB\x17\n\x15optional_pin_code_setB\x18\n\x16optional_max_limit_mphB\x18\n\x16optional_min_limit_mphB\x1c\n\x1aoptional_current_limit_mph"\xe8\x05\n\x18ParentalControlsSettings\x12\x1d\n\x13speed_limit_enabled\x18\x01 \x01(\x08H\x00\x12\x17\n\rmax_limit_mph\x18\x02 \x01(\x02H\x01\x12\x17\n\rmin_limit_mph\x18\x03 \x01(\x02H\x02\x12\x1b\n\x11current_limit_mph\x18\x04 \x01(\x02H\x03\x12$\n\x1achill_acceleration_enabled\x18\x05 \x01(\x08H\x04\x12)\n\x1frequire_safety_settings_enabled\x18\x06 \x01(\x08H\x05\x12\x18\n\x0ecurfew_enabled\x18\x07 \x01(\x08H\x06\x12\x1b\n\x11curfew_start_time\x18\x08 \x01(\x05H\x07\x12\x19\n\x0fcurfew_end_time\x18\t \x01(\x05H\x08\x12\x19\n\x0fbrowser_blocked\x18\n \x01(\x08H\t\x12\x19\n\x0ftheater_blocked\x18\x0b \x01(\x08H\n\x12\x18\n\x0earcade_blocked\x18\x0c \x01(\x08H\x0bB\x1e\n\x1coptional_speed_limit_enabledB\x18\n\x16optional_max_limit_mphB\x18\n\x16optional_min_limit_mphB\x1c\n\x1aoptional_current_limit_mphB%\n#optional_chill_acceleration_enabledB*\n(optional_require_safety_settings_enabledB\x19\n\x17optional_curfew_enabledB\x1c\n\x1aoptional_curfew_start_timeB\x1a\n\x18optional_curfew_end_timeB\x1a\n\x18optional_browser_blockedB\x1a\n\x18optional_theater_blockedB\x19\n\x17optional_arcade_blocked"\xa3\x02\n\x15ParentalControlsState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12"\n\x18parental_controls_active\x18\x02 \x01(\x08H\x00\x12#\n\x19parental_controls_pin_set\x18\x03 \x01(\x08H\x01\x12G\n\x1aparental_controls_settings\x18\x04 \x01(\x0b2#.CarServer.ParentalControlsSettingsB#\n!optional_parental_controls_activeB$\n"optional_parental_controls_pin_set"\xa2\x06\n\x13SoftwareUpdateState\x12C\n\x06status\x18\x01 \x01(\x0b23.CarServer.SoftwareUpdateState.SoftwareUpdateStatus\x12\x1b\n\x11scheduled_time_ms\x18f \x01(\x04H\x00\x12#\n\x19warning_time_remaining_ms\x18g \x01(\x04H\x01\x12\x1f\n\x15expected_duration_sec\x18h \x01(\rH\x02\x12\x17\n\rdownload_perc\x18i \x01(\rH\x03\x12\x16\n\x0cinstall_perc\x18j \x01(\rH\x04\x12\x11\n\x07version\x18k \x01(\tH\x05\x12-\n\ttimestamp\x18l \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x18\n\x0eauto_scheduled\x18m \x01(\x08H\x06\x1a\x8d\x02\n\x14SoftwareUpdateStatus\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12%\n\nInstalling\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12$\n\tScheduled\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12$\n\tAvailable\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12.\n\x13DownloadingWifiWait\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bDownloading\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04typeB\x1c\n\x1aoptional_scheduled_time_msB$\n"optional_warning_time_remaining_msB \n\x1eoptional_expected_duration_secB\x18\n\x16optional_download_percB\x17\n\x15optional_install_percB\x12\n\x10optional_versionB\x19\n\x17optional_auto_scheduled"\xe0\r\n\nDriveState\x12*\n\x0bshift_state\x18\x01 \x01(\x0b2\x15.CarServer.ShiftState\x12\x0f\n\x05speed\x18f \x01(\rH\x00\x12\x0f\n\x05power\x18g \x01(\x05H\x01\x12-\n\ttimestamp\x18\x04 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12*\n odometer_in_hundredths_of_a_mile\x18i \x01(\x05H\x02\x12\x15\n\x0bspeed_float\x18j \x01(\x02H\x03\x12"\n\x18active_route_destination\x18\x07 \x01(\tH\x04\x12)\n\x1factive_route_minutes_to_arrival\x18\x08 \x01(\x02H\x05\x12\'\n\x1dactive_route_miles_to_arrival\x18\t \x01(\x02H\x06\x12,\n"active_route_traffic_minutes_delay\x18\n \x01(\x02H\x07\x12(\n\x1eactive_route_energy_at_arrival\x18\x0b \x01(\x02H\x08\x12\x1b\n\x11last_route_update\x18\x0e \x01(\rH\t\x127\n\x13last_traffic_update\x18\x0f \x01(\x0b2\x1a.google.protobuf.Timestamp\x124\n\x18active_route_coordinates\x18\x0c \x01(\x0b2\x12.CarServer.LatLong\x12(\n\x1efsd_user_total_miles_travelled\x18\x10 \x01(\x02H\n\x12\x1e\n\x14fsd_user_total_miles\x18\x11 \x01(\x02H\x0b\x12+\n!fsd_user_miles_hands_free_current\x18\x12 \x01(\x02H\x0c\x12\'\n\x1dfsd_user_miles_hands_free_max\x18\x13 \x01(\x02H\r\x12$\n\x1afsd_total_miles_this_month\x18\x14 \x01(\x02H\x0e\x12D\n\x13fsd_monthly_history\x18\x15 \x03(\x0b2\'.CarServer.DriveState.FsdMonthlyMileage\x12\x19\n\x0ffsd_streak_days\x18\x16 \x01(\x05H\x0f\x12F\n\x15fsd_last_7_days_usage\x18\x17 \x01(\x0b2\'.CarServer.DriveState.FsdLast7DaysUsage\x12\x1e\n\x14rainbow_road_enabled\x18\x18 \x01(\x08H\x10\x12\x14\n\nfsd_active\x18\x19 \x01(\x08H\x11\x1aO\n\x11FsdMonthlyMileage\x12\x12\n\nyear_month\x18\x01 \x01(\t\x12\x11\n\tfsd_miles\x18\x02 \x01(\x02\x12\x13\n\x0btotal_miles\x18\x03 \x01(\x02\x1aE\n\x11FsdLast7DaysUsage\x12\x1d\n\x15week_starts_on_sunday\x18\x01 \x01(\x08\x12\x11\n\tday_usage\x18\x02 \x03(\x08B\x10\n\x0eoptional_speedB\x10\n\x0eoptional_powerB+\n)optional_odometer_in_hundredths_of_a_mileB\x16\n\x14optional_speed_floatB#\n!optional_active_route_destinationB*\n(optional_active_route_minutes_to_arrivalB(\n&optional_active_route_miles_to_arrivalB-\n+optional_active_route_traffic_minutes_delayB)\n\'optional_active_route_energy_at_arrivalB\x1c\n\x1aoptional_last_route_updateB)\n\'optional_fsd_user_total_miles_travelledB\x1f\n\x1doptional_fsd_user_total_milesB,\n*optional_fsd_user_miles_hands_free_currentB(\n&optional_fsd_user_miles_hands_free_maxB%\n#optional_fsd_total_miles_this_monthB\x1a\n\x18optional_fsd_streak_daysB\x1f\n\x1doptional_rainbow_road_enabledB\x15\n\x13optional_fsd_active"\xffF\n\x0bChargeState\x12<\n\x0echarging_state\x18\x01 \x01(\x0b2$.CarServer.ChargeState.ChargingState\x12=\n\x11fast_charger_type\x18\x02 \x01(\x0b2".CarServer.ChargeState.ChargerType\x12?\n\x12fast_charger_brand\x18\x03 \x01(\x0b2#.CarServer.ChargeState.ChargerBrand\x12\x1a\n\x10charge_limit_soc\x18h \x01(\x05H\x00\x12\x1e\n\x14charge_limit_soc_std\x18i \x01(\x05H\x01\x12\x1e\n\x14charge_limit_soc_min\x18j \x01(\x05H\x02\x12\x1e\n\x14charge_limit_soc_max\x18k \x01(\x05H\x03\x12"\n\x18max_range_charge_counter\x18m \x01(\x05H\x04\x12\x1e\n\x14fast_charger_present\x18n \x01(\x08H\x05\x12\x17\n\rbattery_range\x18o \x01(\x02H\x06\x12\x1b\n\x11est_battery_range\x18p \x01(\x02H\x07\x12\x1d\n\x13ideal_battery_range\x18q \x01(\x02H\x08\x12\x17\n\rbattery_level\x18r \x01(\x05H\t\x12\x1e\n\x14usable_battery_level\x18s \x01(\x05H\n\x12\x1d\n\x13charge_energy_added\x18t \x01(\x02H\x0b\x12"\n\x18charge_miles_added_rated\x18u \x01(\x02H\x0c\x12"\n\x18charge_miles_added_ideal\x18v \x01(\x02H\r\x12\x19\n\x0fcharger_voltage\x18w \x01(\x05H\x0e\x12\x1f\n\x15charger_pilot_current\x18x \x01(\x05H\x0f\x12 \n\x16charger_actual_current\x18y \x01(\x05H\x10\x12\x17\n\rcharger_power\x18z \x01(\x05H\x11\x12 \n\x16minutes_to_full_charge\x18{ \x01(\x05H\x12\x12"\n\x17minutes_to_charge_limit\x18\x8e\x01 \x01(\x05H\x13\x12\x17\n\rtrip_charging\x18} \x01(\x08H\x14\x12\x19\n\x0fcharge_rate_mph\x18~ \x01(\x05H\x15\x12\x1f\n\x15charge_port_door_open\x18\x7f \x01(\x08H\x16\x12;\n\x11conn_charge_cable\x18\x1c \x01(\x0b2 .CarServer.ChargeState.CableType\x12(\n\x1dscheduled_charging_start_time\x18\x81\x01 \x01(\x04H\x17\x12%\n\x1ascheduled_charging_pending\x18\x82\x01 \x01(\x08H\x18\x12<\n\x18scheduled_departure_time\x18\x1f \x01(\x0b2\x1a.google.protobuf.Timestamp\x12%\n\x1auser_charge_enable_request\x18\x84\x01 \x01(\x08H\x19\x12 \n\x15charge_enable_request\x18\x85\x01 \x01(\x08H\x1a\x12\x19\n\x0echarger_phases\x18\x86\x01 \x01(\x05H\x1b\x12:\n\x11charge_port_latch\x18# \x01(\x0b2\x1f.CarServer.ChargePortLatchState\x12(\n\x1dcharge_port_cold_weather_mode\x18\x88\x01 \x01(\x08H\x1c\x12!\n\x16charge_current_request\x18\x89\x01 \x01(\x05H\x1d\x12%\n\x1acharge_current_request_max\x18\x8a\x01 \x01(\x05H\x1e\x12"\n\x17managed_charging_active\x18\x8b\x01 \x01(\x08H\x1f\x12)\n\x1emanaged_charging_user_canceled\x18\x8c\x01 \x01(\x08H \x12&\n\x1bmanaged_charging_start_time\x18\x8d\x01 \x01(\x04H!\x12-\n\ttimestamp\x18, \x01(\x0b2\x1a.google.protobuf.Timestamp\x12>\n\x15preconditioning_times\x18- \x01(\x0b2\x1f.CarServer.PreconditioningTimes\x12@\n\x17off_peak_charging_times\x18. \x01(\x0b2\x1f.CarServer.OffPeakChargingTimes\x12"\n\x17off_peak_hours_end_time\x18\x93\x01 \x01(\rH"\x12P\n\x17scheduled_charging_mode\x18\x94\x01 \x01(\x0e2,.CarServer.ChargeState.ScheduledChargingModeH#\x12\x18\n\rcharging_amps\x18\x95\x01 \x01(\x05H$\x120\n%scheduled_charging_start_time_minutes\x18\x96\x01 \x01(\rH%\x12+\n scheduled_departure_time_minutes\x18\x97\x01 \x01(\rH&\x12"\n\x17preconditioning_enabled\x18\x98\x01 \x01(\x08H\'\x12,\n!scheduled_charging_start_time_app\x18\x99\x01 \x01(\x11H(\x12,\n!supercharger_session_trip_planner\x18\x9a\x01 \x01(\x08H)\x12F\n\x11charge_port_color\x18\x9b\x01 \x01(\x0e2(.CarServer.ChargeState.ChargePortColor_EH*\x12 \n\x15charge_rate_mph_float\x18\x9c\x01 \x01(\x02H+\x12H\n\x13charge_limit_reason\x18\x9d\x01 \x01(\x0e2(.CarServer.ChargeState.ChargeLimitReasonH,\x12@\n\x16managed_charging_state\x18\x9e\x01 \x01(\x0b2\x1f.CarServer.ManagedChargingState\x12!\n\x16charge_cable_unlatched\x18\x9f\x01 \x01(\x08H-\x12;\n\x0coutlet_state\x18\xa0\x01 \x01(\x0e2".CarServer.ChargeState.OutletStateH.\x12B\n\x10power_feed_state\x18\xa1\x01 \x01(\x0e2%.CarServer.ChargeState.PowerFeedStateH/\x12\x1b\n\x10outlet_soc_limit\x18\xa2\x01 \x01(\x05H0\x12\x1f\n\x14power_feed_soc_limit\x18\xa3\x01 \x01(\x05H1\x12 \n\x15outlet_time_remaining\x18\xa4\x01 \x01(\x03H2\x12$\n\x19power_feed_time_remaining\x18\xa5\x01 \x01(\x03H3\x12%\n\x1apowershare_feature_allowed\x18\xa6\x01 \x01(\x08H4\x12%\n\x1apowershare_feature_enabled\x18\xa7\x01 \x01(\x08H5\x12\x1d\n\x12powershare_request\x18\xa8\x01 \x01(\x08H6\x12A\n\x0fpowershare_type\x18\xa9\x01 \x01(\x0e2%.CarServer.ChargeState.PowershareTypeH7\x12E\n\x11powershare_status\x18\xaa\x01 \x01(\x0e2\'.CarServer.ChargeState.PowershareStatusH8\x12N\n\x16powershare_stop_reason\x18\xab\x01 \x01(\x0e2+.CarServer.ChargeState.PowershareStopReasonH9\x12+\n powershare_instantaneous_load_kw\x18\xac\x01 \x01(\x02H:\x12,\n!powershare_vehicle_energy_left_hr\x18\xad\x01 \x01(\x05H;\x12\x1f\n\x14powershare_soc_limit\x18\xae\x01 \x01(\x05H<\x12\x1d\n\x12one_time_soc_limit\x18\xaf\x01 \x01(\x05H=\x12,\n\rhome_location\x18\xb0\x01 \x01(\x0b2\x12.CarServer.LatLongH>\x12,\n\rwork_location\x18\xb1\x01 \x01(\x0b2\x12.CarServer.LatLongH?\x12#\n\x18outlet_max_timer_minutes\x18\xb2\x01 \x01(\x05H@\x12(\n\x1dbatt_heat_min_to_start_charge\x18\xb3\x01 \x01(\x05HA\x124\n)batt_heat_min_to_start_charge_calculating\x18\xb4\x01 \x01(\x08HB\x12\x19\n\x0ehas_ac_outlets\x18\xb5\x01 \x01(\x08HC\x12\x1b\n\x10paid_session_fee\x18\xb7\x01 \x01(\x02HD\x12$\n\x19paid_session_fee_currency\x18\xb8\x01 \x01(\tHE\x12 \n\x15paid_session_kwh_rate\x18\xb9\x01 \x01(\x02HF\x12\x1e\n\x13discharge_limit_soe\x18\xba\x01 \x01(\x05HG\x12\x15\n\nis_roaming\x18\xbb\x01 \x01(\x08HH\x12%\n\x1apaid_session_location_guid\x18\xbc\x01 \x01(\tHI\x12&\n\x1bpaid_session_pricebook_guid\x18\xbd\x01 \x01(\tHJ\x12<\n\x17paid_session_start_time\x18\xbe\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x19\n\x0elow_power_mode\x18\xbf\x01 \x01(\x08HK\x12#\n\x18low_power_mode_forced_on\x18\xc0\x01 \x01(\x08HL\x12\x1f\n\x14convenience_features\x18\xc1\x01 \x01(\rHM\x12$\n\x19keep_accessory_power_mode\x18\xc2\x01 \x01(\x08HN\x12!\n\x16should_hide_range_info\x18\xc6\x01 \x01(\x08HO\x1a\xb7\x01\n\tCableType\x12\x1e\n\x03SNA\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03IEC\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SAE\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05GB_AC\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05GB_DC\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xdf\x02\n\x0bChargerType\x12\x1e\n\x03SNA\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\'\n\x0cSupercharger\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07Chademo\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1d\n\x02Gb\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12*\n\x0fACSingleWireCAN\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Combo\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12*\n\x0fMCSingleWireCAN\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Other\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Tesla\x18\t \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xc3\x02\n\rChargingState\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\'\n\x0cDisconnected\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07NoPower\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Starting\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Charging\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Complete\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07Stopped\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCalibrating\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1aX\n\x0cChargerBrand\x12 \n\x05Tesla\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SNA\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"z\n\x15ScheduledChargingMode\x12\x1c\n\x18ScheduledChargingModeOff\x10\x00\x12 \n\x1cScheduledChargingModeStartAt\x10\x01\x12!\n\x1dScheduledChargingModeDepartBy\x10\x02"\xc2\x02\n\x11ChargePortColor_E\x12\x16\n\x12ChargePortColorOff\x10\x00\x12\x16\n\x12ChargePortColorRed\x10\x01\x12\x18\n\x14ChargePortColorGreen\x10\x02\x12\x17\n\x13ChargePortColorBlue\x10\x03\x12\x18\n\x14ChargePortColorWhite\x10\x04\x12 \n\x1cChargePortColorFlashingGreen\x10\x05\x12 \n\x1cChargePortColorFlashingAmber\x10\x06\x12\x18\n\x14ChargePortColorAmber\x10\x07\x12\x17\n\x13ChargePortColorRave\x10\x08\x12\x18\n\x14ChargePortColorDebug\x10\t\x12\x1f\n\x1bChargePortColorFlashingBlue\x10\n"\xf3\x01\n\x11ChargeLimitReason\x12\x1c\n\x18ChargeLimitReasonUnknown\x10\x00\x12\x19\n\x15ChargeLimitReasonNone\x10\x01\x12\x19\n\x15ChargeLimitReasonEvse\x10\x02\x12 \n\x1cChargeLimitReasonBattTempLow\x10\x03\x12\x1c\n\x18ChargeLimitReasonHighSoc\x10\x04\x12\x1a\n\x16ChargeLimitReasonCabin\x10\x05\x12.\n*ChargeLimitReasonEvseRelocationRecommended\x10\x06"S\n\x0bOutletState\x12\x12\n\x0eOutletStateOff\x10\x00\x12\x1a\n\x16OutletStateCabinAndBed\x10\x01\x12\x14\n\x10OutletStateCabin\x10\x02"_\n\x0ePowerFeedState\x12\x15\n\x11PowerFeedStateOff\x10\x00\x12\x1d\n\x19PowerFeedStateCabinAndBed\x10\x01\x12\x17\n\x13PowerFeedStateCabin\x10\x02"\xd0\x01\n\x10PowershareStatus\x12\x1c\n\x18PowershareStatusInactive\x10\x00\x12\x18\n\x14PowershareStatusInit\x10\x01\x12\x1a\n\x16PowershareStatusActive\x10\x02\x12\x1b\n\x17PowershareStatusStopped\x10\x03\x12\x1f\n\x1bPowershareStatusHandshaking\x10\x04\x12*\n&PowershareStatusActiveReconnectingSoon\x10\x05"p\n\x0ePowershareType\x12\x16\n\x12PowershareTypeNone\x10\x00\x12\x16\n\x12PowershareTypeLoad\x10\x01\x12\x16\n\x12PowershareTypeHome\x10\x02\x12\x16\n\x12PowershareTypeGrid\x10\x03"\xdf\x02\n\x14PowershareStopReason\x12\x1c\n\x18PowershareStopReasonNone\x10\x00\x12!\n\x1dPowershareStopReasonSOCTooLow\x10\x01\x12\x1d\n\x19PowershareStopReasonRetry\x10\x02\x12\x1d\n\x19PowershareStopReasonFault\x10\x03\x12\x1c\n\x18PowershareStopReasonUser\x10\x04\x12$\n PowershareStopReasonReconnecting\x10\x05\x12&\n"PowershareStopReasonAuthentication\x10\x06\x12\'\n#PowershareStopReasonAdapterUpdating\x10\x07\x123\n/PowershareStopReasonAdapterInitializationFailed\x10\x08B\x1b\n\x19optional_charge_limit_socB\x1f\n\x1doptional_charge_limit_soc_stdB\x1f\n\x1doptional_charge_limit_soc_minB\x1f\n\x1doptional_charge_limit_soc_maxB#\n!optional_max_range_charge_counterB\x1f\n\x1doptional_fast_charger_presentB\x18\n\x16optional_battery_rangeB\x1c\n\x1aoptional_est_battery_rangeB\x1e\n\x1coptional_ideal_battery_rangeB\x18\n\x16optional_battery_levelB\x1f\n\x1doptional_usable_battery_levelB\x1e\n\x1coptional_charge_energy_addedB#\n!optional_charge_miles_added_ratedB#\n!optional_charge_miles_added_idealB\x1a\n\x18optional_charger_voltageB \n\x1eoptional_charger_pilot_currentB!\n\x1foptional_charger_actual_currentB\x18\n\x16optional_charger_powerB!\n\x1foptional_minutes_to_full_chargeB"\n optional_minutes_to_charge_limitB\x18\n\x16optional_trip_chargingB\x1a\n\x18optional_charge_rate_mphB \n\x1eoptional_charge_port_door_openB(\n&optional_scheduled_charging_start_timeB%\n#optional_scheduled_charging_pendingB%\n#optional_user_charge_enable_requestB \n\x1eoptional_charge_enable_requestB\x19\n\x17optional_charger_phasesB(\n&optional_charge_port_cold_weather_modeB!\n\x1foptional_charge_current_requestB%\n#optional_charge_current_request_maxB"\n optional_managed_charging_activeB)\n\'optional_managed_charging_user_canceledB&\n$optional_managed_charging_start_timeB"\n optional_off_peak_hours_end_timeB"\n optional_scheduled_charging_modeB\x18\n\x16optional_charging_ampsB0\n.optional_scheduled_charging_start_time_minutesB+\n)optional_scheduled_departure_time_minutesB"\n optional_preconditioning_enabledB,\n*optional_scheduled_charging_start_time_appB,\n*optional_supercharger_session_trip_plannerB\x1c\n\x1aoptional_charge_port_colorB \n\x1eoptional_charge_rate_mph_floatB\x1e\n\x1coptional_charge_limit_reasonB!\n\x1foptional_charge_cable_unlatchedB\x17\n\x15optional_outlet_stateB\x1b\n\x19optional_power_feed_stateB\x19\n\x17option_outlet_soc_limitB\x1d\n\x1boption_power_feed_soc_limitB\x1e\n\x1coption_outlet_time_remainingB"\n option_power_feed_time_remainingB%\n#optional_powershare_feature_allowedB%\n#optional_powershare_feature_enabledB\x1d\n\x1boptional_powershare_requestB\x1a\n\x18optional_powershare_typeB\x1c\n\x1aoptional_powershare_statusB!\n\x1foptional_powershare_stop_reasonB+\n)optional_powershare_instantaneous_load_kwB,\n*optional_powershare_vehicle_energy_left_hrB\x1f\n\x1doptional_powershare_soc_limitB\x1d\n\x1boptional_one_time_soc_limitB\x18\n\x16optional_home_locationB\x18\n\x16optional_work_locationB#\n!optional_outlet_max_timer_minutesB(\n&optional_batt_heat_min_to_start_chargeB4\n2optional_batt_heat_min_to_start_charge_calculatingB\x19\n\x17optional_has_ac_outletsB\x1b\n\x19optional_paid_session_feeB$\n"optional_paid_session_fee_currencyB \n\x1eoptional_paid_session_kwh_rateB\x1e\n\x1coptional_discharge_limit_soeB\x15\n\x13optional_is_roamingB%\n#optional_paid_session_location_guidB&\n$optional_paid_session_pricebook_guidB\x19\n\x17optional_low_power_modeB#\n!optional_low_power_mode_forced_onB\x1f\n\x1doptional_convenience_featuresB$\n"optional_keep_accessory_power_modeB!\n\x1foptional_should_hide_range_infoJ\x04\x08\x08\x10\tJ\x04\x08*\x10+J\x04\x08+\x10,"\xaf\x02\n\x14ManagedChargingState\x12<\n\x15charge_on_solar_state\x18\x01 \x01(\x0b2\x1d.CarServer.ChargeOnSolarState\x12%\n\x1bcharge_on_solar_gateway_din\x18\x02 \x01(\tH\x00\x12!\n\x17tesla_electric_asset_id\x18\x03 \x01(\tH\x01\x12 \n\x16minutes_to_lower_limit\x18\x04 \x01(\x05H\x02B&\n$optional_charge_on_solar_gateway_dinB"\n optional_tesla_electric_asset_idB!\n\x1foptional_minutes_to_lower_limit"\xe7\x04\n\x12ChargeOnSolarState\x12>\n\x0bnot_allowed\x18\x01 \x01(\x0b2\'.CarServer.ChargeOnSolarStateNotAllowedH\x00\x12Q\n\x15no_charge_recommended\x18\x02 \x01(\x0b20.CarServer.ChargeOnSolarStateNoChargeRecommendedH\x00\x12V\n\x18charging_on_excess_solar\x18\x03 \x01(\x0b22.CarServer.ChargeOnSolarStateChargingOnExcessSolarH\x00\x12O\n\x14charging_on_anything\x18\x04 \x01(\x0b2/.CarServer.ChargeOnSolarStateChargingOnAnythingH\x00\x12B\n\ruser_disabled\x18\x06 \x01(\x0b2).CarServer.ChargeOnSolarStateUserDisabledH\x00\x12K\n\x12waiting_for_server\x18\x07 \x01(\x0b2-.CarServer.ChargeOnSolarStateWaitingForServerH\x00\x123\n\x05error\x18\x08 \x01(\x0b2".CarServer.ChargeOnSolarStateErrorH\x00\x12@\n\x0cuser_stopped\x18\t \x01(\x0b2(.CarServer.ChargeOnSolarStateUserStoppedH\x00B\x07\n\x05stateJ\x04\x08\x05\x10\x06"\x1e\n\x1cChargeOnSolarStateNotAllowed"e\n%ChargeOnSolarStateNoChargeRecommended\x12<\n\x06reason\x18\x01 \x01(\x0e2,.ManagedCharging.ChargeOnSolarNoChargeReason")\n\'ChargeOnSolarStateChargingOnExcessSolar"&\n$ChargeOnSolarStateChargingOnAnything" \n\x1eChargeOnSolarStateUserDisabled"$\n"ChargeOnSolarStateWaitingForServer"\x19\n\x17ChargeOnSolarStateError"\x1f\n\x1dChargeOnSolarStateUserStopped"\x9d\r\n\rLocationState\x12\x12\n\x08latitude\x18e \x01(\x02H\x00\x12\x13\n\tlongitude\x18f \x01(\x02H\x01\x12\x11\n\x07heading\x18g \x01(\rH\x02\x12\x13\n\tgps_as_of\x18h \x01(\x04H\x03\x12#\n\x19native_location_supported\x18i \x01(\x08H\x04\x12\x19\n\x0fnative_latitude\x18j \x01(\x02H\x05\x12\x1a\n\x10native_longitude\x18k \x01(\x02H\x06\x12?\n\x0bnative_type\x18\x08 \x01(\x0b2*.CarServer.LocationState.GPSCoordinateType\x12\x1c\n\x12corrected_latitude\x18m \x01(\x02H\x07\x12\x1d\n\x13corrected_longitude\x18n \x01(\x02H\x08\x12-\n\ttimestamp\x18\x0b \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x19\n\x0fhomelink_nearby\x18p \x01(\x08H\t\x12\x17\n\rlocation_name\x18q \x01(\tH\n\x12\x16\n\x0cgeo_latitude\x18r \x01(\x02H\x0b\x12\x17\n\rgeo_longitude\x18s \x01(\x02H\x0c\x12\x15\n\x0bgeo_heading\x18t \x01(\x02H\r\x12\x17\n\rgeo_elevation\x18u \x01(\x02H\x0e\x12\x16\n\x0cgeo_accuracy\x18v \x01(\x02H\x0f\x12\x1d\n\x13estimated_gps_valid\x18w \x01(\x08H\x10\x12#\n\x19estimated_to_raw_distance\x18x \x01(\x02H\x11\x12\x1d\n\x13supercharger_trt_id\x18y \x01(\x05H\x12\x12\x1b\n\x11native_latitude_d\x18z \x01(\x01H\x13\x12\x1c\n\x12native_longitude_d\x18{ \x01(\x01H\x14\x12\x18\n\x0egeo_latitude_d\x18| \x01(\x01H\x15\x12\x19\n\x0fgeo_longitude_d\x18} \x01(\x01H\x16\x12\x1f\n\x15geo_hw_raw_latitude_d\x18~ \x01(\x01H\x17\x12 \n\x16geo_hw_raw_longitude_d\x18\x7f \x01(\x01H\x18\x12"\n\x17geo_horizontal_accuracy\x18\x80\x01 \x01(\x02H\x19\x1a[\n\x11GPSCoordinateType\x12\x1e\n\x03GCJ\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03WGS\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04typeB\x13\n\x11optional_latitudeB\x14\n\x12optional_longitudeB\x12\n\x10optional_headingB\x14\n\x12optional_gps_as_ofB$\n"optional_native_location_supportedB\x1a\n\x18optional_native_latitudeB\x1b\n\x19optional_native_longitudeB\x1d\n\x1boptional_corrected_latitudeB\x1e\n\x1coptional_corrected_longitudeB\x1a\n\x18optional_homelink_nearbyB\x18\n\x16optional_location_nameB\x17\n\x15optional_geo_latitudeB\x18\n\x16optional_geo_longitudeB\x16\n\x14optional_geo_headingB\x18\n\x16optional_geo_elevationB\x17\n\x15optional_geo_accuracyB\x1e\n\x1coptional_estimated_gps_validB$\n"optional_estimated_to_raw_distanceB\x1e\n\x1coptional_supercharger_trt_idB\x1c\n\x1aoptional_native_latitude_dB\x1d\n\x1boptional_native_longitude_dB\x19\n\x17optional_geo_latitude_dB\x1a\n\x18optional_geo_longitude_dB \n\x1eoptional_geo_hw_raw_latitude_dB!\n\x1foptional_geo_hw_raw_longitude_dB"\n optional_geo_horizontal_accuracyJ\x04\x08\x0c\x10\r"\xd4&\n\x0cVehicleState\x12=\n\x15software_update_state\x18& \x01(\x0b2\x1e.CarServer.SoftwareUpdateState\x127\n\x12legacy_media_state\x18\' \x01(\x0b2\x1b.CarServer.LegacyMediaState\x12-\n\ttimestamp\x18+ \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x17\n\x0ffeature_bitmask\x187 \x03(\r\x12C\n\x1ftpms_last_seen_pressure_time_fl\x18: \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_fr\x18; \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_rl\x18< \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_rr\x18= \x01(\x0b2\x1a.google.protobuf.Timestamp\x125\n\x11legacy_media_info\x18H \x01(\x0b2\x1a.CarServer.LegacyMediaInfo\x12.\n$allow_authorized_mobile_devices_only\x18I \x01(\x08H\x00\x124\n\tguestMode\x18J \x01(\x0b2!.CarServer.VehicleState.GuestMode\x12\x17\n\rdrive_rail_on\x18K \x01(\x08H\x01\x12\x1e\n\x14pin_to_drive_enabled\x18L \x01(\x08H\x02\x12\x1e\n\x14pin_to_drive_pin_set\x18M \x01(\x08H\x03\x12\x1b\n\x11frontfoglights_on\x18N \x01(\x08H\x04\x12\x1a\n\x10rearfoglights_on\x18O \x01(\x08H\x05\x12\x17\n\rheadlights_on\x18P \x01(\x08H\x06\x12\x1b\n\x11highbeamlights_on\x18Q \x01(\x08H\x07\x12\x19\n\x0ftrailer_mode_on\x18R \x01(\x08H\x08\x12&\n\x1ctrailer_light_test_available\x18S \x01(\x08H\t\x12&\n\x1ctrailer_light_test_requested\x18T \x01(\x08H\n\x12%\n\x1btruck_bed_lights_brightness\x18V \x01(\rH\x0b\x12!\n\x17signed_cmd_service_mode\x18W \x01(\x08H\x0c\x12&\n\x1caccessory_lightbar_middle_on\x18X \x01(\x08H\r\x12\x18\n\x0etransport_mode\x18Y \x01(\x08H\x0e\x12*\n truck_bed_lights_auto_brightness\x18Z \x01(\rH\x0f\x12%\n\x1btruck_bed_lights_auto_state\x18[ \x01(\x08H\x10\x12,\n"truck_bed_lights_controls_disabled\x18\\ \x01(\x08H\x11\x12\x1b\n\x11service_mode_auth\x18] \x01(\tH\x12\x12)\n\x1fservice_gtw_diag_session_active\x18^ \x01(\x08H\x13\x12\x16\n\x0cfactory_mode\x18_ \x01(\x08H\x14\x12\x1e\n\x14training_wheels_mode\x18` \x01(\x08H\x15\x121\n\x0egtw_diag_level\x18a \x01(\x0e2\x17.CarServer.GtwDiagLevelH\x16\x12"\n\x18parental_controls_active\x18b \x01(\x08H\x17\x12#\n\x19parental_controls_pin_set\x18c \x01(\x08H\x18\x12G\n\x1aparental_controls_settings\x18d \x01(\x0b2#.CarServer.ParentalControlsSettings\x12\x15\n\x0bapi_version\x18e \x01(\rH\x19\x12\x15\n\x0bcar_version\x18l \x01(\tH\x1a\x12\x1a\n\x10detailed_version\x18m \x01(\tH\x1b\x12\x18\n\x0eautopilot_hash\x18n \x01(\tH\x1c\x12\x16\n\x0cvehicle_name\x18v \x01(\tH\x1d\x12!\n\x17notifications_supported\x18x \x01(\x08H\x1e\x12 \n\x16remote_start_supported\x18y \x01(\x08H\x1f\x12\x1e\n\x14remote_start_enabled\x18z \x01(\x08H \x12\x1e\n\x13last_autopark_error\x18\x83\x01 \x01(\tH!\x12 \n\x15homelink_device_count\x18\x85\x01 \x01(\rH"\x12!\n\x16smart_summon_available\x18\x87\x01 \x01(\x08H#\x12&\n\x1bsummon_standby_mode_enabled\x18\x88\x01 \x01(\x08H$\x12\x15\n\npatsy_mode\x18\x8d\x01 \x01(\x08H%\x12\x1b\n\x10webcam_available\x18\x8e\x01 \x01(\x08H&\x12&\n\x1bvehicle_self_test_requested\x18\x90\x01 \x01(\x08H\'\x12%\n\x1avehicle_self_test_progress\x18\x91\x01 \x01(\rH(\x12\x1d\n\x12calendar_supported\x18\x94\x01 \x01(\x08H)\x12&\n\x1bdashcam_clip_save_available\x18\x95\x01 \x01(\x08H*\x121\n\rdashcam_state\x18\x96\x01 \x01(\x0e2\x17.CarServer.DashCamStateH+\x12\x1b\n\x10tpms_pressure_fl\x18\x97\x01 \x01(\x02H,\x12\x1b\n\x10tpms_pressure_fr\x18\x98\x01 \x01(\x02H-\x12\x1b\n\x10tpms_pressure_rl\x18\x99\x01 \x01(\x02H.\x12\x1b\n\x10tpms_pressure_rr\x18\x9a\x01 \x01(\x02H/\x12\x17\n\x0cservice_mode\x18\x9c\x01 \x01(\x08H0\x12\x1c\n\x11service_mode_plus\x18\x9d\x01 \x01(\x08H1\x12\x1f\n\x14tpms_hard_warning_fl\x18\xa2\x01 \x01(\x08H2\x12\x1f\n\x14tpms_hard_warning_fr\x18\xa3\x01 \x01(\x08H3\x12\x1f\n\x14tpms_hard_warning_rl\x18\xa4\x01 \x01(\x08H4\x12\x1f\n\x14tpms_hard_warning_rr\x18\xa5\x01 \x01(\x08H5\x12\x1f\n\x14tpms_soft_warning_fl\x18\xa6\x01 \x01(\x08H6\x12\x1f\n\x14tpms_soft_warning_fr\x18\xa7\x01 \x01(\x08H7\x12\x1f\n\x14tpms_soft_warning_rl\x18\xa8\x01 \x01(\x08H8\x12\x1f\n\x14tpms_soft_warning_rr\x18\xa9\x01 \x01(\x08H9\x12\x1f\n\x14tpms_rcp_front_value\x18\xaa\x01 \x01(\x02H:\x12\x1e\n\x13tpms_rcp_rear_value\x18\xab\x01 \x01(\x02H;\x12\x1f\n\x14fsd_software_version\x18\xac\x01 \x01(\tH<\x121\n\x0eautopilot_base\x18\xc4\x01 \x01(\x0e2\x18.CarServer.AutopilotBase\x12D\n\x18autopilot_override_state\x18\xc5\x01 \x01(\x0e2!.CarServer.AutopilotOverrideState\x12)\n\x1eautopilot_override_expire_time\x18\xc6\x01 \x01(\x03H=\x1a$\n\tGuestMode\x12\x17\n\x0fGuestModeActive\x18\x01 \x01(\x08B/\n-optional_allow_authorized_mobile_devices_onlyB\x18\n\x16optional_drive_rail_onB\x1f\n\x1doptional_pin_to_drive_enabledB\x1f\n\x1doptional_pin_to_drive_pin_setB\x1c\n\x1aoptional_frontfoglights_onB\x1b\n\x19optional_rearfoglights_onB\x18\n\x16optional_headlights_onB\x1c\n\x1aoptional_highbeamlights_onB\x1a\n\x18optional_trailer_mode_onB\'\n%optional_trailer_light_test_availableB\'\n%optional_trailer_light_test_requestedB&\n$optional_truck_bed_lights_brightnessB"\n optional_signed_cmd_service_modeB\'\n%optional_accessory_lightbar_middle_onB\x19\n\x17optional_transport_modeB+\n)optional_truck_bed_lights_auto_brightnessB&\n$optional_truck_bed_lights_auto_stateB-\n+optional_truck_bed_lights_controls_disabledB\x1c\n\x1aoptional_service_mode_authB*\n(optional_service_gtw_diag_session_activeB\x17\n\x15optional_factory_modeB\x1f\n\x1doptional_training_wheels_modeB\x19\n\x17optional_gtw_diag_levelB#\n!optional_parental_controls_activeB$\n"optional_parental_controls_pin_setB\x16\n\x14optional_api_versionB\x16\n\x14optional_car_versionB\x1b\n\x19optional_detailed_versionB\x19\n\x17optional_autopilot_hashB\x17\n\x15optional_vehicle_nameB"\n optional_notifications_supportedB!\n\x1foptional_remote_start_supportedB\x1f\n\x1doptional_remote_start_enabledB\x1e\n\x1coptional_last_autopark_errorB \n\x1eoptional_homelink_device_countB!\n\x1foptional_smart_summon_availableB&\n$optional_summon_standby_mode_enabledB\x15\n\x13optional_patsy_modeB\x1b\n\x19optional_webcam_availableB&\n$optional_vehicle_self_test_requestedB%\n#optional_vehicle_self_test_progressB\x1d\n\x1boptional_calendar_supportedB&\n$optional_dashcam_clip_save_availableB\x18\n\x16optional_dashcam_stateB\x1b\n\x19optional_tpms_pressure_flB\x1b\n\x19optional_tpms_pressure_frB\x1b\n\x19optional_tpms_pressure_rlB\x1b\n\x19optional_tpms_pressure_rrB\x17\n\x15optional_service_modeB\x1c\n\x1aoptional_service_mode_plusB\x1f\n\x1doptional_tpms_hard_warning_flB\x1f\n\x1doptional_tpms_hard_warning_frB\x1f\n\x1doptional_tpms_hard_warning_rlB\x1f\n\x1doptional_tpms_hard_warning_rrB\x1f\n\x1doptional_tpms_soft_warning_flB\x1f\n\x1doptional_tpms_soft_warning_frB\x1f\n\x1doptional_tpms_soft_warning_rlB\x1f\n\x1doptional_tpms_soft_warning_rrB\x1f\n\x1doptional_tpms_rcp_front_valueB\x1e\n\x1coptional_tpms_rcp_rear_valueB\x1f\n\x1doptional_fsd_software_versionB)\n\'optional_autopilot_override_expire_time"W\n\x10LegacyMediaState\x12 \n\x16remote_control_enabled\x18e \x01(\x08H\x00B!\n\x1foptional_remote_control_enabled"\xbf\x03\n\x0fLegacyMediaInfo\x12=\n\x15media_playback_status\x18\x01 \x01(\x0e2\x1e.CarServer.MediaPlaybackStatus\x12\x14\n\x0caudio_volume\x18\x02 \x01(\x02\x12\x1c\n\x14now_playing_duration\x18\x03 \x01(\x05\x12\x1b\n\x13now_playing_elapsed\x18\x04 \x01(\x05\x126\n\x12now_playing_source\x18\x05 \x01(\x0e2\x1a.CarServer.MediaSourceType\x12!\n\x19now_playing_source_string\x18\x06 \x01(\t\x12\x1a\n\x12now_playing_artist\x18\x07 \x01(\t\x12\x19\n\x11now_playing_title\x18\x08 \x01(\t\x12\x19\n\x11now_playing_album\x18\t \x01(\t\x12\x1b\n\x13now_playing_station\x18\n \x01(\t\x12\x1e\n\x16audio_volume_increment\x18\x0b \x01(\x02\x12\x18\n\x10audio_volume_max\x18\x0c \x01(\x02\x12\x18\n\x10a2dp_source_name\x18\x0f \x01(\t"\xbb\'\n\x0cClimateState\x12\x1d\n\x13inside_temp_celsius\x18e \x01(\x02H\x00\x12\x1e\n\x14outside_temp_celsius\x18f \x01(\x02H\x01\x12\x1d\n\x13driver_temp_setting\x18g \x01(\x02H\x02\x12 \n\x16passenger_temp_setting\x18h \x01(\x02H\x03\x12\x1d\n\x13left_temp_direction\x18i \x01(\x05H\x04\x12\x1e\n\x14right_temp_direction\x18j \x01(\x05H\x05\x12\x1f\n\x15is_front_defroster_on\x18k \x01(\x08H\x06\x12\x1e\n\x14is_rear_defroster_on\x18l \x01(\x08H\x07\x12\x14\n\nfan_status\x18m \x01(\x05H\x08\x12\x17\n\ris_climate_on\x18n \x01(\x08H\t\x12 \n\x16min_avail_temp_celsius\x18o \x01(\x02H\n\x12 \n\x16max_avail_temp_celsius\x18p \x01(\x02H\x0b\x12\x1a\n\x10seat_heater_left\x18q \x01(\x05H\x0c\x12\x1b\n\x11seat_heater_right\x18r \x01(\x05H\r\x12\x1f\n\x15seat_heater_rear_left\x18s \x01(\x05H\x0e\x12 \n\x16seat_heater_rear_right\x18t \x01(\x05H\x0f\x12!\n\x17seat_heater_rear_center\x18u \x01(\x05H\x10\x12%\n\x1bseat_heater_rear_right_back\x18v \x01(\x05H\x11\x12$\n\x1aseat_heater_rear_left_back\x18w \x01(\x05H\x12\x12%\n\x1bseat_heater_third_row_right\x18x \x01(\x05H\x13\x12$\n\x1aseat_heater_third_row_left\x18y \x01(\x05H\x14\x12\x18\n\x0ebattery_heater\x18z \x01(\x08H\x15\x12!\n\x17battery_heater_no_power\x18{ \x01(\x08H\x16\x12\x1f\n\x15steering_wheel_heater\x18} \x01(\x08H\x17\x12\x1c\n\x12wiper_blade_heater\x18~ \x01(\x08H\x18\x12\x1d\n\x13side_mirror_heaters\x18\x7f \x01(\x08H\x19\x12\x1d\n\x12is_preconditioning\x18\x80\x01 \x01(\x08H\x1a\x12(\n\x1dremote_heater_control_enabled\x18\x81\x01 \x01(\x08H\x1b\x12F\n\x13climate_keeper_mode\x18\x1e \x01(\x0b2).CarServer.ClimateState.ClimateKeeperMode\x12-\n\ttimestamp\x18! \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1c\n\x11bioweapon_mode_on\x18\x86\x01 \x01(\x08H\x1c\x129\n\x0cdefrost_mode\x18# \x01(\x0b2#.CarServer.ClimateState.DefrostMode\x12"\n\x17is_auto_conditioning_on\x18\x88\x01 \x01(\x08H\x1d\x12!\n\x16auto_seat_climate_left\x18\x89\x01 \x01(\x08H\x1e\x12"\n\x17auto_seat_climate_right\x18\x8a\x01 \x01(\x08H\x1f\x12\x1e\n\x13seat_fan_front_left\x18\x8b\x01 \x01(\x05H \x12\x1f\n\x14seat_fan_front_right\x18\x8c\x01 \x01(\x05H!\x12*\n\x1fallow_cabin_overheat_protection\x18\x8d\x01 \x01(\x08H"\x126\n+supports_fan_only_cabin_overheat_protection\x18\x8e\x01 \x01(\x08H#\x12W\n\x19cabin_overheat_protection\x18\x8f\x01 \x01(\x0e21.CarServer.ClimateState.CabinOverheatProtection_EH$\x125\n*cabin_overheat_protection_actively_cooling\x18\x90\x01 \x01(\x08H%\x12P\n\x1acop_activation_temperature\x18\x92\x01 \x01(\x0e2).CarServer.ClimateState.CopActivationTempH&\x12#\n\x18auto_steering_wheel_heat\x18\x93\x01 \x01(\x08H\'\x12=\n\x19steering_wheel_heat_level\x18\x94\x01 \x01(\x0e2\x17.CarServer.StwHeatLevelH(\x12E\n\x11hvac_auto_request\x18\x96\x01 \x01(\x0e2\'.CarServer.ClimateState.HvacAutoRequestH)\x12N\n\x16cop_not_running_reason\x18\x97\x01 \x01(\x0e2+.CarServer.ClimateState.COPNotRunningReasonH*\x12#\n\x18seat_fan_second_row_left\x18\x98\x01 \x01(\x05H+\x12$\n\x19seat_fan_second_row_right\x18\x99\x01 \x01(\x05H,\x12?\n\x0edog_mode_state\x18\x9a\x01 \x01(\x0e2$.CarServer.ClimateState.DogModeStateH-\x1a\xc0\x01\n\x11ClimateKeeperMode\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Off\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1d\n\x02On\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Dog\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Party\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1ax\n\x0bDefrostMode\x12\x1e\n\x03Off\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Normal\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Max\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"E\n\x0fHvacAutoRequest\x12\x15\n\x11HvacAutoRequestOn\x10\x00\x12\x1b\n\x17HvacAutoRequestOverride\x10\x01"~\n\x19CabinOverheatProtection_E\x12\x1e\n\x1aCabinOverheatProtectionOff\x10\x00\x12\x1d\n\x19CabinOverheatProtectionOn\x10\x01\x12"\n\x1eCabinOverheatProtectionFanOnly\x10\x02"t\n\x11SeatHeaterLevel_E\x12\x16\n\x12SeatHeaterLevelOff\x10\x00\x12\x16\n\x12SeatHeaterLevelLow\x10\x01\x12\x16\n\x12SeatHeaterLevelMed\x10\x02\x12\x17\n\x13SeatHeaterLevelHigh\x10\x03"y\n\x12SeatCoolingLevel_E\x12\x17\n\x13SeatCoolingLevelOff\x10\x00\x12\x17\n\x13SeatCoolingLevelLow\x10\x01\x12\x17\n\x13SeatCoolingLevelMed\x10\x02\x12\x18\n\x14SeatCoolingLevelHigh\x10\x03"\x87\x01\n\x11CopActivationTemp\x12 \n\x1cCopActivationTempUnspecified\x10\x00\x12\x18\n\x14CopActivationTempLow\x10\x01\x12\x1b\n\x17CopActivationTempMedium\x10\x02\x12\x19\n\x15CopActivationTempHigh\x10\x03"\x9e\x02\n\x13COPNotRunningReason\x12\x1f\n\x1bCOPNotRunningReasonNoReason\x10\x00\x12&\n"COPNotRunningReasonUserInteraction\x10\x01\x12/\n+COPNotRunningReasonEnergyConsumptionReached\x10\x02\x12\x1e\n\x1aCOPNotRunningReasonTimeout\x10\x03\x12#\n\x1fCOPNotRunningReasonLowSolarLoad\x10\x04\x12\x1c\n\x18COPNotRunningReasonFault\x10\x05\x12*\n&COPNotRunningReasonCabinBelowThreshold\x10\x06"\xdb\x01\n\x0cDogModeState\x12 \n\x1cDogModeStateUnavailableFault\x10\x00\x12!\n\x1dDogModeStateUnavailableTooHot\x10\x01\x12\x19\n\x15DogModeStateAvailable\x10\x02\x12\x1e\n\x1aDogModeStateRunningNominal\x10\x03\x12\x1c\n\x18DogModeStateRunningFault\x10\x04\x12-\n)DogModeStateRunningTemperatureMonitorTrip\x10\x05B\x1e\n\x1coptional_inside_temp_celsiusB\x1f\n\x1doptional_outside_temp_celsiusB\x1e\n\x1coptional_driver_temp_settingB!\n\x1foptional_passenger_temp_settingB\x1e\n\x1coptional_left_temp_directionB\x1f\n\x1doptional_right_temp_directionB \n\x1eoptional_is_front_defroster_onB\x1f\n\x1doptional_is_rear_defroster_onB\x15\n\x13optional_fan_statusB\x18\n\x16optional_is_climate_onB!\n\x1foptional_min_avail_temp_celsiusB!\n\x1foptional_max_avail_temp_celsiusB\x1b\n\x19optional_seat_heater_leftB\x1c\n\x1aoptional_seat_heater_rightB \n\x1eoptional_seat_heater_rear_leftB!\n\x1foptional_seat_heater_rear_rightB"\n optional_seat_heater_rear_centerB&\n$optional_seat_heater_rear_right_backB%\n#optional_seat_heater_rear_left_backB&\n$optional_seat_heater_third_row_rightB%\n#optional_seat_heater_third_row_leftB\x19\n\x17optional_battery_heaterB"\n optional_battery_heater_no_powerB \n\x1eoptional_steering_wheel_heaterB\x1d\n\x1boptional_wiper_blade_heaterB\x1e\n\x1coptional_side_mirror_heatersB\x1d\n\x1boptional_is_preconditioningB(\n&optional_remote_heater_control_enabledB\x1c\n\x1aoptional_bioweapon_mode_onB"\n optional_is_auto_conditioning_onB!\n\x1foptional_auto_seat_climate_leftB"\n optional_auto_seat_climate_rightB\x1e\n\x1coptional_seat_fan_front_leftB\x1f\n\x1doptional_seat_fan_front_rightB*\n(optional_allow_cabin_overheat_protectionB6\n4optional_supports_fan_only_cabin_overheat_protectionB$\n"optional_cabin_overheat_protectionB5\n3optional_cabin_overheat_protection_actively_coolingB%\n#optional_cop_activation_temperatureB#\n!optional_auto_steering_wheel_heatB$\n"optional_steering_wheel_heat_levelB\x1c\n\x1aoptional_hvac_auto_requestB!\n\x1foptional_cop_not_running_reasonB#\n!optional_seat_fan_second_row_leftB$\n"optional_seat_fan_second_row_rightB\x19\n\x17optional_dog_mode_stateJ\x06\x08\x91\x01\x10\x92\x01"\xae3\n\x11TirePressureState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1a\n\x10tpms_pressure_fl\x18\x02 \x01(\x02H\x00\x12\x1a\n\x10tpms_pressure_fr\x18\x03 \x01(\x02H\x01\x12\x1a\n\x10tpms_pressure_rl\x18\x04 \x01(\x02H\x02\x12\x1a\n\x10tpms_pressure_rr\x18\x05 \x01(\x02H\x03\x12C\n\x1ftpms_last_seen_pressure_time_fl\x18\x06 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_fr\x18\x07 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_rl\x18\x08 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_rr\x18\t \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1e\n\x14tpms_hard_warning_fl\x18\n \x01(\x08H\x04\x12\x1e\n\x14tpms_hard_warning_fr\x18\x0b \x01(\x08H\x05\x12\x1e\n\x14tpms_hard_warning_rl\x18\x0c \x01(\x08H\x06\x12\x1e\n\x14tpms_hard_warning_rr\x18\r \x01(\x08H\x07\x12\x1e\n\x14tpms_soft_warning_fl\x18\x0e \x01(\x08H\x08\x12\x1e\n\x14tpms_soft_warning_fr\x18\x0f \x01(\x08H\t\x12\x1e\n\x14tpms_soft_warning_rl\x18\x10 \x01(\x08H\n\x12\x1e\n\x14tpms_soft_warning_rr\x18\x11 \x01(\x08H\x0b\x12\x1e\n\x14tpms_rcp_front_value\x18\x12 \x01(\x02H\x0c\x12\x1d\n\x13tpms_rcp_rear_value\x18\x13 \x01(\x02H\r\x12\x1e\n\x14tpms_pressure_re1_l0\x18\x14 \x01(\x02H\x0e\x12\x1e\n\x14tpms_pressure_re1_l1\x18\x15 \x01(\x02H\x0f\x12\x1e\n\x14tpms_pressure_re1_r0\x18\x16 \x01(\x02H\x10\x12\x1e\n\x14tpms_pressure_re1_r1\x18\x17 \x01(\x02H\x11\x12\x1e\n\x14tpms_pressure_re2_l0\x18\x18 \x01(\x02H\x12\x12\x1e\n\x14tpms_pressure_re2_l1\x18\x19 \x01(\x02H\x13\x12\x1e\n\x14tpms_pressure_re2_r0\x18\x1a \x01(\x02H\x14\x12\x1e\n\x14tpms_pressure_re2_r1\x18\x1b \x01(\x02H\x15\x12G\n#tpms_last_seen_pressure_time_re1_l0\x18\x1c \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_l1\x18\x1d \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_r0\x18\x1e \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_r1\x18\x1f \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_l0\x18 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_l1\x18! \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_r0\x18" \x01(\x0b2\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_r1\x18# \x01(\x0b2\x1a.google.protobuf.Timestamp\x12"\n\x18tpms_hard_warning_re1_l0\x18$ \x01(\x08H\x16\x12"\n\x18tpms_hard_warning_re1_l1\x18% \x01(\x08H\x17\x12"\n\x18tpms_hard_warning_re1_r0\x18& \x01(\x08H\x18\x12"\n\x18tpms_hard_warning_re1_r1\x18\' \x01(\x08H\x19\x12"\n\x18tpms_hard_warning_re2_l0\x18( \x01(\x08H\x1a\x12"\n\x18tpms_hard_warning_re2_l1\x18) \x01(\x08H\x1b\x12"\n\x18tpms_hard_warning_re2_r0\x18* \x01(\x08H\x1c\x12"\n\x18tpms_hard_warning_re2_r1\x18+ \x01(\x08H\x1d\x12"\n\x18tpms_soft_warning_re1_l0\x18, \x01(\x08H\x1e\x12"\n\x18tpms_soft_warning_re1_l1\x18- \x01(\x08H\x1f\x12"\n\x18tpms_soft_warning_re1_r0\x18. \x01(\x08H \x12"\n\x18tpms_soft_warning_re1_r1\x18/ \x01(\x08H!\x12"\n\x18tpms_soft_warning_re2_l0\x180 \x01(\x08H"\x12"\n\x18tpms_soft_warning_re2_l1\x181 \x01(\x08H#\x12"\n\x18tpms_soft_warning_re2_r0\x182 \x01(\x08H$\x12"\n\x18tpms_soft_warning_re2_r1\x183 \x01(\x08H%\x12\x1d\n\x13tpms_temperature_fl\x184 \x01(\x02H&\x12\x1d\n\x13tpms_temperature_fr\x185 \x01(\x02H\'\x12\x1d\n\x13tpms_temperature_rl\x186 \x01(\x02H(\x12\x1d\n\x13tpms_temperature_rr\x187 \x01(\x02H)\x12!\n\x17tpms_temperature_re1_l0\x188 \x01(\x02H*\x12!\n\x17tpms_temperature_re1_l1\x189 \x01(\x02H+\x12!\n\x17tpms_temperature_re1_r0\x18: \x01(\x02H,\x12!\n\x17tpms_temperature_re1_r1\x18; \x01(\x02H-\x12!\n\x17tpms_temperature_re2_l0\x18< \x01(\x02H.\x12!\n\x17tpms_temperature_re2_l1\x18= \x01(\x02H/\x12!\n\x17tpms_temperature_re2_r0\x18> \x01(\x02H0\x12!\n\x17tpms_temperature_re2_r1\x18? \x01(\x02H1\x12*\n tpms_temperature_hard_warning_fl\x18@ \x01(\x08H2\x12*\n tpms_temperature_hard_warning_fr\x18A \x01(\x08H3\x12*\n tpms_temperature_hard_warning_rl\x18B \x01(\x08H4\x12*\n tpms_temperature_hard_warning_rr\x18C \x01(\x08H5\x12.\n$tpms_temperature_hard_warning_re1_l0\x18D \x01(\x08H6\x12.\n$tpms_temperature_hard_warning_re1_l1\x18E \x01(\x08H7\x12.\n$tpms_temperature_hard_warning_re1_r0\x18F \x01(\x08H8\x12.\n$tpms_temperature_hard_warning_re1_r1\x18G \x01(\x08H9\x12.\n$tpms_temperature_hard_warning_re2_l0\x18H \x01(\x08H:\x12.\n$tpms_temperature_hard_warning_re2_l1\x18I \x01(\x08H;\x12.\n$tpms_temperature_hard_warning_re2_r0\x18J \x01(\x08H<\x12.\n$tpms_temperature_hard_warning_re2_r1\x18K \x01(\x08H=\x12*\n tpms_temperature_soft_warning_fl\x18L \x01(\x08H>\x12*\n tpms_temperature_soft_warning_fr\x18M \x01(\x08H?\x12*\n tpms_temperature_soft_warning_rl\x18N \x01(\x08H@\x12*\n tpms_temperature_soft_warning_rr\x18O \x01(\x08HA\x12.\n$tpms_temperature_soft_warning_re1_l0\x18P \x01(\x08HB\x12.\n$tpms_temperature_soft_warning_re1_l1\x18Q \x01(\x08HC\x12.\n$tpms_temperature_soft_warning_re1_r0\x18R \x01(\x08HD\x12.\n$tpms_temperature_soft_warning_re1_r1\x18S \x01(\x08HE\x12.\n$tpms_temperature_soft_warning_re2_l0\x18T \x01(\x08HF\x12.\n$tpms_temperature_soft_warning_re2_l1\x18U \x01(\x08HG\x12.\n$tpms_temperature_soft_warning_re2_r0\x18V \x01(\x08HH\x12.\n$tpms_temperature_soft_warning_re2_r1\x18W \x01(\x08HIB\x1b\n\x19optional_tpms_pressure_flB\x1b\n\x19optional_tpms_pressure_frB\x1b\n\x19optional_tpms_pressure_rlB\x1b\n\x19optional_tpms_pressure_rrB\x1f\n\x1doptional_tpms_hard_warning_flB\x1f\n\x1doptional_tpms_hard_warning_frB\x1f\n\x1doptional_tpms_hard_warning_rlB\x1f\n\x1doptional_tpms_hard_warning_rrB\x1f\n\x1doptional_tpms_soft_warning_flB\x1f\n\x1doptional_tpms_soft_warning_frB\x1f\n\x1doptional_tpms_soft_warning_rlB\x1f\n\x1doptional_tpms_soft_warning_rrB\x1f\n\x1doptional_tpms_rcp_front_valueB\x1e\n\x1coptional_tpms_rcp_rear_valueB\x1f\n\x1doptional_tpms_pressure_re1_l0B\x1f\n\x1doptional_tpms_pressure_re1_l1B\x1f\n\x1doptional_tpms_pressure_re1_r0B\x1f\n\x1doptional_tpms_pressure_re1_r1B\x1f\n\x1doptional_tpms_pressure_re2_l0B\x1f\n\x1doptional_tpms_pressure_re2_l1B\x1f\n\x1doptional_tpms_pressure_re2_r0B\x1f\n\x1doptional_tpms_pressure_re2_r1B#\n!optional_tpms_hard_warning_re1_l0B#\n!optional_tpms_hard_warning_re1_l1B#\n!optional_tpms_hard_warning_re1_r0B#\n!optional_tpms_hard_warning_re1_r1B#\n!optional_tpms_hard_warning_re2_l0B#\n!optional_tpms_hard_warning_re2_l1B#\n!optional_tpms_hard_warning_re2_r0B#\n!optional_tpms_hard_warning_re2_r1B#\n!optional_tpms_soft_warning_re1_l0B#\n!optional_tpms_soft_warning_re1_l1B#\n!optional_tpms_soft_warning_re1_r0B#\n!optional_tpms_soft_warning_re1_r1B#\n!optional_tpms_soft_warning_re2_l0B#\n!optional_tpms_soft_warning_re2_l1B#\n!optional_tpms_soft_warning_re2_r0B#\n!optional_tpms_soft_warning_re2_r1B\x1e\n\x1coptional_tpms_temperature_flB\x1e\n\x1coptional_tpms_temperature_frB\x1e\n\x1coptional_tpms_temperature_rlB\x1e\n\x1coptional_tpms_temperature_rrB"\n optional_tpms_temperature_re1_l0B"\n optional_tpms_temperature_re1_l1B"\n optional_tpms_temperature_re1_r0B"\n optional_tpms_temperature_re1_r1B"\n optional_tpms_temperature_re2_l0B"\n optional_tpms_temperature_re2_l1B"\n optional_tpms_temperature_re2_r0B"\n optional_tpms_temperature_re2_r1B+\n)optional_tpms_temperature_hard_warning_flB+\n)optional_tpms_temperature_hard_warning_frB+\n)optional_tpms_temperature_hard_warning_rlB+\n)optional_tpms_temperature_hard_warning_rrB/\n-optional_tpms_temperature_hard_warning_re1_l0B/\n-optional_tpms_temperature_hard_warning_re1_l1B/\n-optional_tpms_temperature_hard_warning_re1_r0B/\n-optional_tpms_temperature_hard_warning_re1_r1B/\n-optional_tpms_temperature_hard_warning_re2_l0B/\n-optional_tpms_temperature_hard_warning_re2_l1B/\n-optional_tpms_temperature_hard_warning_re2_r0B/\n-optional_tpms_temperature_hard_warning_re2_r1B+\n)optional_tpms_temperature_soft_warning_flB+\n)optional_tpms_temperature_soft_warning_frB+\n)optional_tpms_temperature_soft_warning_rlB+\n)optional_tpms_temperature_soft_warning_rrB/\n-optional_tpms_temperature_soft_warning_re1_l0B/\n-optional_tpms_temperature_soft_warning_re1_l1B/\n-optional_tpms_temperature_soft_warning_re1_r0B/\n-optional_tpms_temperature_soft_warning_re1_r1B/\n-optional_tpms_temperature_soft_warning_re2_l0B/\n-optional_tpms_temperature_soft_warning_re2_l1B/\n-optional_tpms_temperature_soft_warning_re2_r0B/\n-optional_tpms_temperature_soft_warning_re2_r1"\xe3\x04\n\nMediaState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12 \n\x16remote_control_enabled\x18\x02 \x01(\x08H\x00\x12\x1c\n\x12now_playing_artist\x18\x03 \x01(\tH\x01\x12\x1b\n\x11now_playing_title\x18\x04 \x01(\tH\x02\x12\x16\n\x0caudio_volume\x18\x05 \x01(\x02H\x03\x12 \n\x16audio_volume_increment\x18\x06 \x01(\x02H\x04\x12\x1a\n\x10audio_volume_max\x18\x07 \x01(\x02H\x05\x128\n\x12now_playing_source\x18\x08 \x01(\x0e2\x1a.CarServer.MediaSourceTypeH\x06\x12?\n\x15media_playback_status\x18\t \x01(\x0e2\x1e.CarServer.MediaPlaybackStatusH\x07B!\n\x1foptional_remote_control_enabledB\x1d\n\x1boptional_now_playing_artistB\x1c\n\x1aoptional_now_playing_titleB\x17\n\x15optional_audio_volumeB!\n\x1foptional_audio_volume_incrementB\x1b\n\x19optional_audio_volume_maxB\x1d\n\x1boptional_now_playing_sourceB \n\x1eoptional_media_playback_status"\xb8\x05\n\x10MediaDetailState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1e\n\x14now_playing_duration\x18\x02 \x01(\x05H\x00\x12\x1d\n\x13now_playing_elapsed\x18\x03 \x01(\x05H\x01\x12#\n\x19now_playing_source_string\x18\x04 \x01(\tH\x02\x12\x1b\n\x11now_playing_album\x18\x05 \x01(\tH\x03\x12\x1d\n\x13now_playing_station\x18\x06 \x01(\tH\x04\x12\x1a\n\x10a2dp_source_name\x18\x07 \x01(\tH\x05\x129\n\x15recent_theater_source\x18\x08 \x01(\x0e2\x18.CarServer.TheaterSourceH\x06\x12&\n\x1crecent_theater_source_string\x18\t \x01(\tH\x07\x12#\n\x19theater_source_is_playing\x18\n \x01(\x08H\x08B\x1f\n\x1doptional_now_playing_durationB\x1e\n\x1coptional_now_playing_elapsedB$\n"optional_now_playing_source_stringB\x1c\n\x1aoptional_now_playing_albumB\x1e\n\x1coptional_now_playing_stationB\x1b\n\x19optional_a2dp_source_nameB \n\x1eoptional_recent_theater_sourceB\'\n%optional_recent_theater_source_stringB$\n"optional_theater_source_is_playing"\xd0\x01\n\nShiftState\x12"\n\x07Invalid\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01P\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01R\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01N\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01D\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SNA\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"\xe2\x02\n\x0bGuiSettings\x12-\n\ttimestamp\x18\x07 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1a\n\x10gui_24_hour_time\x18h \x01(\x08H\x00\x12\x1a\n\x10show_range_units\x18j \x01(\x08H\x01\x12I\n\x16gui_tirepressure_units\x18l \x01(\x0e2\'.CarServer.GuiSettings.TirePressureUnitH\x02"D\n\x10TirePressureUnit\x12\x17\n\x13TirePressureUnitPsi\x10\x00\x12\x17\n\x13TirePressureUnitBar\x10\x01B\x1b\n\x19optional_gui_24_hour_timeB\x1b\n\x19optional_show_range_unitsB!\n\x1foptional_gui_tirepressure_units"\xb28\n\rVehicleConfig\x12E\n\x12interior_trim_type\x18\x1c \x01(\x0b2).CarServer.VehicleConfig.InteriorTrimType\x12E\n\x12exterior_trim_type\x18# \x01(\x0b2).CarServer.VehicleConfig.ExteriorTrimType\x12\x1c\n\x12red_brake_calipers\x18= \x01(\x08H\x00\x12\x1b\n\x11use_range_badging\x18g \x01(\x08H\x01\x12\x1c\n\x12range_plus_badging\x18h \x01(\x08H\x02\x12\x1c\n\x12has_ludicrous_mode\x18i \x01(\x08H\x03\x12\x1c\n\x12can_actuate_trunks\x18j \x01(\x08H\x04\x12\x1c\n\x12has_air_suspension\x18n \x01(\x08H\x05\x12\x1a\n\x10ece_restrictions\x18x \x01(\x08H\x06\x12\x14\n\neu_vehicle\x18y \x01(\x08H\x07\x12\x1f\n\x15motorized_charge_port\x18z \x01(\x08H\x08\x12(\n\x1ecan_accept_navigation_requests\x18| \x01(\x08H\t\x12\x15\n\x0bkey_version\x18} \x01(\rH\n\x12\x18\n\x0emobile_enabled\x18~ \x01(\x08H\x0b\x12 \n\x15default_charge_to_max\x18\x86\x01 \x01(\x08H\x0c\x12*\n\x1fsteering_wheel_heater_installed\x18\x88\x01 \x01(\x08H\r\x12 \n\x15sentry_mode_supported\x18\x89\x01 \x01(\x08H\x0e\x12\x1d\n\x12homelink_supported\x18\x8a\x01 \x01(\x08H\x0f\x12\x1b\n\x10webcam_supported\x18\x8b\x01 \x01(\x08H\x10\x12#\n\x18bioweapon_mode_supported\x18\x8d\x01 \x01(\x08H\x11\x12&\n\x1bdashcam_clip_save_supported\x18\x8e\x01 \x01(\x08H\x12\x12\x12\n\x07has_pws\x18\x8f\x01 \x01(\x08H\x13\x12\x15\n\nutc_offset\x18\x90\x01 \x01(\x11H\x14\x12\x1b\n\x10has_seat_cooling\x18\x91\x01 \x01(\x08H\x15\x12\x1f\n\x14paint_color_override\x18\x92\x01 \x01(\tH\x16\x12#\n\x18tpms_pressures_supported\x18\x93\x01 \x01(\x08H\x17\x12\x1a\n\x0fvehicle_badging\x18\x94\x01 \x01(\rH\x18\x12!\n\x16exterior_trim_override\x18\x95\x01 \x01(\tH\x19\x12A\n\rheadlamp_type\x18\x96\x01 \x01(\x0e2\'.CarServer.VehicleConfig.HeadlampType_EH\x1a\x12B\n\x0eaux_park_lamps\x18\x9a\x01 \x01(\x0e2\'.CarServer.VehicleConfig.AuxParkLamps_EH\x1b\x12\x13\n\x08is_raven\x18\x9b\x01 \x01(\x08H\x1c\x12 \n\x15has_auto_seat_climate\x18\x9c\x01 \x01(\x08H\x1d\x12%\n\x1ahas_front_row_seat_heaters\x18\x9d\x01 \x01(\x08H\x1e\x12%\n\x1ahas_third_row_seat_heaters\x18\x9e\x01 \x01(\x08H\x1f\x12\x1e\n\x13supports_qr_pairing\x18\x9f\x01 \x01(\x08H \x12$\n\x19disable_window_vent_close\x18\xa1\x01 \x01(\x08H!\x12"\n\x17webcam_selfie_supported\x18\xa2\x01 \x01(\x08H"\x12&\n\x1bcop_user_set_temp_supported\x18\xa3\x01 \x01(\x08H#\x12\x1c\n\x11has_auto_stw_heat\x18\xa4\x01 \x01(\x08H$\x12A\n\x0erearlight_type\x18\xa5\x01 \x01(\x0e2&.CarServer.VehicleConfig.RearLightTypeH%\x12?\n\x15rear_seat_heater_type\x18\xa6\x01 \x01(\x0e2\x1d.CarServer.RearSeatHeaterTypeH&\x12 \n\x15webcam_grid_supported\x18\xa7\x01 \x01(\x08H\'\x12\x1a\n\x0fhas_tesla_badge\x18\xa8\x01 \x01(\x08H(\x12\x1d\n\x12has_tesla_wordmark\x18\xa9\x01 \x01(\x08H)\x12-\n\x0bfascia_type\x18\xaa\x01 \x01(\x0e2\x15.CarServer.FasciaTypeH*\x12D\n\x17accessory_lightbar_type\x18\xab\x01 \x01(\x0e2 .CarServer.AccessoryLightbarTypeH+\x12#\n\x18sentry_preview_supported\x18\xac\x01 \x01(\x08H,\x12@\n\x0eseat_trim_type\x18\xad\x01 \x01(\x0e2%.CarServer.VehicleConfig.SeatTrimTypeH-\x12C\n\x0fdrivetrain_type\x18\xae\x01 \x01(\x0e2\'.CarServer.VehicleConfig.DrivetrainTypeH.\x12\x1e\n\x13lightshow_supported\x18\xaf\x01 \x01(\x08H/\x12(\n\x1dmobile_dashcam_viewer_version\x18\xb0\x01 \x01(\rH0\x12#\n\x18has_premium_connectivity\x18\xb1\x01 \x01(\x08H1\x12\x1b\n\x10car_wrap_enabled\x18\xb2\x01 \x01(\x08H2\x12\x1f\n\x14supports_ride_height\x18\xb3\x01 \x01(\x08H3\x12&\n\x1bsupports_set_arrival_energy\x18\xb4\x01 \x01(\x08H4\x12*\n\x1fsupports_pillar_camera_metadata\x18\xb5\x01 \x01(\x08H5\x12/\n\x0cchassis_type\x18\xb6\x01 \x01(\x0e2\x16.CarServer.ChassisTypeH6\x12\x1b\n\x10is_china_vehicle\x18\xb7\x01 \x01(\x08H7\x12 \n\x15is_using_unreal_apviz\x18\xb8\x01 \x01(\x08H8\x12,\n!supports_flexible_dashcam_bitrate\x18\xb9\x01 \x01(\x08H9\x12S\n\x18front_fascia_camera_type\x18\xba\x01 \x01(\x0e2..CarServer.VehicleConfig.FrontFasciaCameraTypeH:\x12Y\n\x1bturn_indicator_control_type\x18\xbb\x01 \x01(\x0e21.CarServer.VehicleConfig.TurnIndicatorControlTypeH;\x12\x1b\n\x10has_rear_display\x18\xbc\x01 \x01(\x08H<\x12\x1c\n\x11window_tint_color\x18\xbd\x01 \x01(\tH=\x12S\n\x18interior_upper_trim_type\x18\xbe\x01 \x01(\x0e2..CarServer.VehicleConfig.InteriorUpperTrimTypeH>\x12N\n\x15badging_material_type\x18\xbf\x01 \x01(\x0e2,.CarServer.VehicleConfig.BadgingMaterialTypeH?\x12\x1f\n\x14webcam_interior_only\x18\xc0\x01 \x01(\x08H@\x12\x17\n\x0ccountry_code\x18\xc1\x01 \x01(\tHA\x12F\n\x11bed_lighting_type\x18\xc2\x01 \x01(\x0e2(.CarServer.VehicleConfig.BedLightingTypeHB\x12Y\n\x1brear_light_hardware_variant\x18\xc3\x01 \x01(\x0e21.CarServer.VehicleConfig.RearLightHardwareVariantHC\x121\n\x0eautopilot_base\x18\xc4\x01 \x01(\x0e2\x18.CarServer.AutopilotBase\x12D\n\x18autopilot_override_state\x18\xc5\x01 \x01(\x0e2!.CarServer.AutopilotOverrideState\x12)\n\x1eautopilot_override_expire_time\x18\xc6\x01 \x01(\x03HD\x1a\xd5\x03\n\x10InteriorTrimType\x12(\n\rBLACKCONSOLE2\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12(\n\rWHITECONSOLE2\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08ALLBLACK\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12(\n\rBLACKANDWHITE\x18\t \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bWALNUTCREAM\x18\x0c \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bWALNUTWHITE\x18\r \x01(\x0b2\x0f.CarServer.VoidH\x00\x12%\n\nEBONYBLACK\x18\x0e \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCARBONCREAM\x18\x0f \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCARBONWHITE\x18\x10 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCARBONBLACK\x18\x11 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\'\n\x0cTACTICALGREY\x18\x12 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1al\n\x10ExteriorTrimType\x12)\n\x0eSTANDARDCHROME\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12%\n\nSATINBLACK\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"m\n\x0eAuxParkLamps_E\x12\x16\n\x12AuxParkLampsNaBase\x10\x00\x12\x19\n\x15AuxParkLampsNaPremium\x10\x01\x12\x12\n\x0eAuxParkLampsEu\x10\x02\x12\x14\n\x10AuxParkLampsNone\x10\x03"]\n\x13BadgingMaterialType\x12#\n\x1fBadgingMaterialTypeChromeSilver\x10\x00\x12!\n\x1dBadgingMaterialTypeBlackMatte\x10\x01"F\n\x0fBedLightingType\x12\x17\n\x13BedLightingTypeBase\x10\x00\x12\x1a\n\x16BedLightingTypePremium\x10\x01"]\n\x0eDrivetrainType\x12\x15\n\x11DrivetrainTypeRWD\x10\x00\x12\x15\n\x11DrivetrainTypeAWD\x10\x01\x12\x1d\n\x19DrivetrainTypeAWDTriMotor\x10\x02"x\n\x15FrontFasciaCameraType\x12\x1d\n\x19FrontFasciaCameraTypeNone\x10\x00\x12\x1f\n\x1bFrontFasciaCameraTypeIMX963\x10\x01\x12\x1f\n\x1bFrontFasciaCameraTypeIMX00N\x10\x02"\x9a\x01\n\x0eHeadlampType_E\x12\x17\n\x13HeadlampTypePremium\x10\x00\x12\x16\n\x12HeadlampTypeGlobal\x10\x01\x12\x17\n\x13HeadlampTypeHalogen\x10\x02\x12\x13\n\x0fHeadlampTypeHid\x10\x03\x12\x13\n\x0fHeadlampTypeLed\x10\x04\x12\x14\n\x10HeadlampTypeBase\x10\x05"b\n\x15InteriorUpperTrimType\x12"\n\x1eInteriorUpperTrimTypePolarGrey\x10\x00\x12%\n!InteriorUpperTrimTypeMammothBlack\x10\x01"\xaf\x01\n\x18RearLightHardwareVariant\x12#\n\x1fRearLightHardwareVariantUnknown\x10\x00\x12 \n\x1cRearLightHardwareVariantBase\x10\x01\x12%\n!RearLightHardwareVariantPremiumV1\x10\x02\x12%\n!RearLightHardwareVariantPremiumV2\x10\x03"T\n\rRearLightType\x12\x13\n\x0fRearLightTypeNA\x10\x00\x12\x15\n\x11RearLightTypeEuCn\x10\x01\x12\x17\n\x13RearLightTypeGlobal\x10\x02"X\n\x0cSeatTrimType\x12\x14\n\x10SeatTrimTypeBase\x10\x00\x12\x15\n\x11SeatTrimTypeSport\x10\x01\x12\x1b\n\x17SeatTrimTypeBaseTextile\x10\x02"\x95\x01\n\x18TurnIndicatorControlType\x12#\n\x1fTurnIndicatorControlTypeUnknown\x10\x00\x12-\n)TurnIndicatorControlTypeSingleDetentStalk\x10\x01\x12%\n!TurnIndicatorControlTypeSWSButton\x10\x02B\x1d\n\x1boptional_red_brake_calipersB\x1c\n\x1aoptional_use_range_badgingB\x1d\n\x1boptional_range_plus_badgingB\x1d\n\x1boptional_has_ludicrous_modeB\x1d\n\x1boptional_can_actuate_trunksB\x1d\n\x1boptional_has_air_suspensionB\x1b\n\x19optional_ece_restrictionsB\x15\n\x13optional_eu_vehicleB \n\x1eoptional_motorized_charge_portB)\n\'optional_can_accept_navigation_requestsB\x16\n\x14optional_key_versionB\x19\n\x17optional_mobile_enabledB \n\x1eoptional_default_charge_to_maxB*\n(optional_steering_wheel_heater_installedB \n\x1eoptional_sentry_mode_supportedB\x1d\n\x1boptional_homelink_supportedB\x1b\n\x19optional_webcam_supportedB#\n!optional_bioweapon_mode_supportedB&\n$optional_dashcam_clip_save_supportedB\x12\n\x10optional_has_pwsB\x15\n\x13optional_utc_offsetB\x1b\n\x19optional_has_seat_coolingB\x1f\n\x1doptional_paint_color_overrideB#\n!optional_tpms_pressures_supportedB\x1a\n\x18optional_vehicle_badgingB!\n\x1foptional_exterior_trim_overrideB\x18\n\x16optional_headlamp_typeB\x19\n\x17optional_aux_park_lampsB\x13\n\x11optional_is_ravenB \n\x1eoptional_has_auto_seat_climateB%\n#optional_has_front_row_seat_heatersB%\n#optional_has_third_row_seat_heatersB\x1e\n\x1coptional_supports_qr_pairingB$\n"optional_disable_window_vent_closeB"\n optional_webcam_selfie_supportedB&\n$optional_cop_user_set_temp_supportedB\x1c\n\x1aoptional_has_auto_stw_heatB\x19\n\x17optional_rearlight_typeB \n\x1eoptional_rear_seat_heater_typeB \n\x1eoptional_webcam_grid_supportedB\x1a\n\x18optional_has_tesla_badgeB\x1d\n\x1boptional_has_tesla_wordmarkB\x16\n\x14optional_fascia_typeB"\n optional_accessory_lightbar_typeB#\n!optional_sentry_preview_supportedB\x19\n\x17optional_seat_trim_typeB\x1a\n\x18optional_drivetrain_typeB\x1e\n\x1coptional_lightshow_supportedB(\n&optional_mobile_dashcam_viewer_versionB#\n!optional_has_premium_connectivityB\x1b\n\x19optional_car_wrap_enabledB\x1f\n\x1doptional_supports_ride_heightB&\n$optional_supports_set_arrival_energyB*\n(optional_supports_pillar_camera_metadataB\x17\n\x15optional_chassis_typeB\x1b\n\x19optional_is_china_vehicleB \n\x1eoptional_is_using_unreal_apvizB,\n*optional_supports_flexible_dashcam_bitrateB#\n!optional_front_fascia_camera_typeB&\n$optional_turn_indicator_control_typeB\x1b\n\x19optional_has_rear_displayB\x1c\n\x1aoptional_window_tint_colorB#\n!optional_interior_upper_trim_typeB \n\x1eoptional_badging_material_typeB\x1f\n\x1doptional_webcam_interior_onlyB\x17\n\x15optional_country_codeB\x1c\n\x1aoptional_bed_lighting_typeB&\n$optional_rear_light_hardware_variantB)\n\'optional_autopilot_override_expire_time"\xdb\t\n\x14ParkedAccessoryState\x12\x1b\n\x11tent_mode_request\x18\x01 \x01(\x08H\x00\x12 \n\x16horizon_leveling_state\x18\x02 \x01(\x08H\x01\x12?\n\x18front_zone_light_request\x18\x03 \x01(\x0e2\x1b.CarServer.ZoneLightRequestH\x02\x12>\n\x17rear_zone_light_request\x18\x04 \x01(\x0e2\x1b.CarServer.ZoneLightRequestH\x03\x12%\n\x1btruck_bed_lights_brightness\x18\x05 \x01(\rH\x04\x12*\n truck_bed_lights_auto_brightness\x18\x06 \x01(\rH\x05\x12%\n\x1btruck_bed_lights_auto_state\x18\x07 \x01(\x08H\x06\x12,\n"truck_bed_lights_controls_disabled\x18\x08 \x01(\x08H\x07\x12&\n\x1caccessory_lightbar_middle_on\x18\t \x01(\x08H\x08\x12%\n\x1baccessory_lightbar_ditch_on\x18\n \x01(\x08H\t\x12\'\n\x1daccessory_lightbar_brightness\x18\x0b \x01(\rH\n\x12 \n\x16accessory_lightbar_low\x18\x0c \x01(\rH\x0b\x12 \n\x16accessory_lightbar_med\x18\r \x01(\rH\x0c\x12!\n\x17accessory_lightbar_high\x18\x0e \x01(\rH\r\x12\x17\n\rhas_tent_mode\x18\x0f \x01(\x08H\x0e\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB\x1c\n\x1aoptional_tent_mode_requestB!\n\x1foptional_horizon_leveling_stateB#\n!optional_front_zone_light_requestB"\n optional_rear_zone_light_requestB&\n$optional_truck_bed_lights_brightnessB+\n)optional_truck_bed_lights_auto_brightnessB&\n$optional_truck_bed_lights_auto_stateB-\n+optional_truck_bed_lights_controls_disabledB\'\n%optional_accessory_lightbar_middle_onB&\n$optional_accessory_lightbar_ditch_onB(\n&optional_accessory_lightbar_brightnessB!\n\x1foptional_accessory_lightbar_lowB!\n\x1foptional_accessory_lightbar_medB"\n optional_accessory_lightbar_highB\x18\n\x16optional_has_tent_mode"\xf3\x05\n\x08SohState\x128\n\x0esoh_test_state\x18\x01 \x01(\x0b2 .CarServer.SohState.SohTestState\x121\n\nsoh_result\x18\x03 \x01(\x0b2\x1d.CarServer.SohState.SohResult\x12-\n\ttimestamp\x18\x04 \x01(\x0b2\x1a.google.protobuf.Timestamp\x1a\x86\x01\n\x0cSohTestState\x12\x1b\n\x11soh_time_estimate\x18\x02 \x01(\x02H\x00\x12\x1c\n\x12soh_time_remaining\x18\x03 \x01(\x02H\x01B\x1c\n\x1aoptional_soh_time_estimateB\x1d\n\x1boptional_soh_time_remaining\x1a\xe5\x02\n\tSohResult\x12\x18\n\x0esoh_calibrated\x18\x04 \x01(\x08H\x00\x12\x1c\n\x12soh_last_test_time\x18\x05 \x01(\rH\x01\x12F\n\x11soh_health_result\x18\x06 \x01(\x0e2).CarServer.SohState.WarrantyServiceResultH\x02\x12%\n\x1bsoh_distance_since_soh_test\x18\x07 \x01(\rH\x03\x12\x17\n\rsoh_regulated\x18\x08 \x01(\x08H\x04B\x19\n\x17optional_soh_calibratedB\x1d\n\x1boptional_soh_last_test_timeB\x1c\n\x1aoptional_soh_health_resultB&\n$optional_soh_distance_since_soh_testB\x18\n\x16optional_soh_regulated"Z\n\x15WarrantyServiceResult\x12\n\n\x06SOH_OK\x10\x00\x12\x0f\n\x0bSOH_REDUCED\x10\x01\x12\x13\n\x0fSOH_NO_INTERNET\x10\x02\x12\x0f\n\x0bSOH_UNKNOWN\x10\x03"o\n\nAlertState\x121\n\x0fcharging_alerts\x18\x01 \x03(\x0b2\x18.CarServer.ChargingAlert\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.Timestamp"G\n\x0fLightShowOption\x12\x17\n\x0flight_show_name\x18\x01 \x01(\t\x12\x1b\n\x13light_show_duration\x18\x02 \x01(\t"\xcc\x01\n\x11LightShowSettings\x12\x1d\n\x15light_show_volume_min\x18\x01 \x01(\x02\x12\x1d\n\x15light_show_volume_max\x18\x02 \x01(\x02\x12\x1e\n\x16light_show_volume_step\x18\x03 \x01(\x02\x126\n\x12light_show_options\x18\x04 \x03(\x0b2\x1a.CarServer.LightShowOption\x12!\n\x19light_show_schedule_times\x18\x05 \x03(\x04"\xc1\x02\n\x0eLightShowState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1b\n\x11light_show_active\x18\x02 \x01(\x08H\x00\x12"\n\x18light_show_selected_name\x18\x03 \x01(\tH\x01\x12\x1f\n\x15light_show_start_time\x18\x04 \x01(\x04H\x02\x129\n\x13light_show_settings\x18\x05 \x01(\x0b2\x1c.CarServer.LightShowSettingsB\x1c\n\x1aoptional_light_show_activeB#\n!optional_light_show_selected_nameB \n\x1eoptional_light_show_start_time"a\n\x10VehicleImageData\x12\x10\n\x08image_id\x18\x01 \x01(\x0c\x12\x0c\n\x04data\x18\x02 \x01(\x0c\x12\x17\n\x0fdata_chunk_size\x18\x03 \x01(\r\x12\x14\n\x0cstart_offset\x18\x04 \x01(\r"\x83\x01\n\x0cVehicleImage\x12\x10\n\x08image_id\x18\x01 \x01(\x0c\x12/\n\nasset_data\x18\x02 \x01(\x0b2\x1b.CarServer.VehicleImageData\x12\x16\n\x0eis_local_image\x18\x04 \x01(\x08\x12\x18\n\x10total_image_size\x18\x05 \x01(\r"s\n\x11VehicleImageState\x12/\n\x0evehicle_images\x18\x01 \x03(\x0b2\x17.CarServer.VehicleImage\x12-\n\ttimestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.Timestamp"\x9b\x03\n\x0fSuspensionState\x123\n\rcurrent_level\x18\x02 \x01(\x0e2\x1a.CarServer.SuspensionLevelH\x00\x122\n\x0ctarget_level\x18\x03 \x01(\x0e2\x1a.CarServer.SuspensionLevelH\x01\x12=\n\x0emovement_state\x18\x04 \x01(\x0e2#.CarServer.SuspensionActuationStateH\x02\x12\x14\n\noffroad_on\x18\x05 \x01(\x08H\x03\x12\x19\n\x0fdisabled_reason\x18\x06 \x01(\tH\x04\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB\x18\n\x16optional_current_levelB\x17\n\x15optional_target_levelB\x19\n\x17optional_movement_stateB\x15\n\x13optional_offroad_onB\x1a\n\x18optional_disabled_reason"\xb0\x02\n\x1bChildPresenceDetectionState\x12+\n!cpd_disable_notification_required\x18\x01 \x01(\x08H\x00\x12\x19\n\x0fcpd_hvac_active\x18\x02 \x01(\x08H\x01\x12&\n\x1ccpd_supports_critical_alerts\x18\x03 \x01(\x08H\x02\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB,\n*optional_cpd_disable_notification_requiredB\x1a\n\x18optional_cpd_hvac_activeB\'\n%optional_cpd_supports_critical_alerts"\xec\x03\n\x12VehicleDetailState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x16\n\x0cvehicle_name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bcar_version\x18\x03 \x01(\tH\x01\x12\x1a\n\x10detailed_version\x18\x04 \x01(\tH\x02\x12\x18\n\x0eautopilot_hash\x18\x05 \x01(\tH\x03\x12\x1e\n\x14fsd_software_version\x18\x06 \x01(\tH\x04\x12\x1e\n\x14current_profile_name\x18\x07 \x01(\tH\x05\x12*\n china_autopilot_software_version\x18\x08 \x01(\tH\x06B\x17\n\x15optional_vehicle_nameB\x16\n\x14optional_car_versionB\x1b\n\x19optional_detailed_versionB\x19\n\x17optional_autopilot_hashB\x1f\n\x1doptional_fsd_software_versionB\x1f\n\x1doptional_current_profile_nameB+\n)optional_china_autopilot_software_version*\x97\x01\n\rAutopilotBase\x12\x16\n\x12AutopilotBase_NONE\x10\x00\x12\x19\n\x15AutopilotBase_HIGHWAY\x10\x01\x12\x1a\n\x16AutopilotBase_ENHANCED\x10\x02\x12\x1e\n\x1aAutopilotBase_SELF_DRIVING\x10\x03\x12\x17\n\x13AutopilotBase_BASIC\x10\x04*\x87\x03\n\x16AutopilotOverrideState\x12\x1f\n\x1bAutopilotOverrideState_BASE\x10\x00\x12\'\n#AutopilotOverrideState_SUBSCRIPTION\x10\x01\x12 \n\x1cAutopilotOverrideState_TRIAL\x10\x02\x121\n-AutopilotOverrideState_TIMEBOUND_SUBSCRIPTION\x10\x03\x12*\n&AutopilotOverrideState_TIMEBOUND_TRIAL\x10\x04\x12&\n"AutopilotOverrideState_OPTION_CODE\x10\x05\x12*\n&AutopilotOverrideState_OPTION_OVERRIDE\x10\x06\x12*\n&AutopilotOverrideState_VEHICLE_MANAGED\x10\x07\x12"\n\x1eAutopilotOverrideState_UNKNOWN\x10\x08*\xe5\x01\n\x0cDashCamState\x12\x1c\n\x18DashCamState_UNAVAILABLE\x10\x00\x12\x1a\n\x16DashCamState_AVAILABLE\x10\x01\x12\x1a\n\x16DashCamState_RECORDING\x10\x02\x12\x16\n\x12DashCamState_SAVED\x10\x03\x12\x1a\n\x16DashCamState_STREAMING\x10\x04\x12\x19\n\x15DashCamState_NO_SPACE\x10\x05\x12\x17\n\x13DashCamState_SAVING\x10\x06\x12\x17\n\x13DashCamState_PAUSED\x10\x07*\xde\x03\n\rTheaterSource\x12\x16\n\x12TheaterSource_None\x10\x00\x12\x19\n\x15TheaterSource_YouTube\x10\x01\x12 \n\x1cTheaterSource_TeslaTutorials\x10\x02\x12\x19\n\x15TheaterSource_Netflix\x10\x03\x12\x18\n\x14TheaterSource_Twitch\x10\x04\x12\x18\n\x14TheaterSource_TikTok\x10\x05\x12\x16\n\x12TheaterSource_Hulu\x10\x07\x12\x1a\n\x16TheaterSource_BiliBili\x10\n\x12\x18\n\x14TheaterSource_Disney\x10\r\x12\x18\n\x14TheaterSource_Douyin\x10\x0e\x12\x1d\n\x19TheaterSource_MontyPython\x10\x13\x12\x19\n\x15TheaterSource_Tencent\x10\x1c\x12\x17\n\x13TheaterSource_Youku\x10 \x12\x17\n\x13TheaterSource_iQiyi\x10!\x12\x1e\n\x1aTheaterSource_ThunderStone\x10"\x12\x19\n\x15TheaterSource_MangoTV\x10#\x12\x1a\n\x16TheaterSource_Kuaishou\x10$*\x83\n\n\x0fMediaSourceType\x12\x18\n\x14MediaSourceType_None\x10\x00\x12\x16\n\x12MediaSourceType_AM\x10\x01\x12\x16\n\x12MediaSourceType_FM\x10\x02\x12\x16\n\x12MediaSourceType_XM\x10\x03\x12\x1b\n\x17MediaSourceType_Slacker\x10\x05\x12\x1e\n\x1aMediaSourceType_LocalFiles\x10\x06\x12\x18\n\x14MediaSourceType_iPod\x10\x07\x12\x1d\n\x19MediaSourceType_Bluetooth\x10\x08\x12\x19\n\x15MediaSourceType_AuxIn\x10\t\x12\x17\n\x13MediaSourceType_DAB\x10\n\x12\x18\n\x14MediaSourceType_Rdio\x10\x0b\x12\x1b\n\x17MediaSourceType_Spotify\x10\x0c\x12\x1b\n\x17MediaSourceType_USRadio\x10\r\x12\x1b\n\x17MediaSourceType_EURadio\x10\x0e\x12\x1d\n\x19MediaSourceType_MediaFile\x10\x10\x12\x1a\n\x16MediaSourceType_TuneIn\x10\x11\x12\x1c\n\x18MediaSourceType_Stingray\x10\x12\x12\x1c\n\x18MediaSourceType_SiriusXM\x10\x13\x12\x19\n\x15MediaSourceType_Tidal\x10\x14\x12\x1b\n\x17MediaSourceType_QQMusic\x10\x15\x12\x1c\n\x18MediaSourceType_QQMusic2\x10\x16\x12\x1c\n\x18MediaSourceType_Ximalaya\x10\x17\x12\x1f\n\x1bMediaSourceType_OnlineRadio\x10\x18\x12 \n\x1cMediaSourceType_OnlineRadio2\x10\x19\x12 \n\x1cMediaSourceType_NetEaseMusic\x10\x1a\x12\x1e\n\x1aMediaSourceType_AppleMusic\x10\x1b\x12\x1b\n\x17MediaSourceType_Browser\x10\x1c\x12\x1b\n\x17MediaSourceType_Theater\x10\x1d\x12\x18\n\x14MediaSourceType_Game\x10\x1e\x12\x1c\n\x18MediaSourceType_Tutorial\x10\x1f\x12\x1a\n\x16MediaSourceType_Toybox\x10 \x12$\n MediaSourceType_RecentsFavorites\x10!\x12\x1c\n\x18MediaSourceType_HomeApps\x10"\x12\x1a\n\x16MediaSourceType_Search\x10#\x12!\n\x1dMediaSourceType_ApplePodcasts\x10$\x12\x1b\n\x17MediaSourceType_Audible\x10%\x12\x1f\n\x1bMediaSourceType_AmazonMusic\x10&\x12 \n\x1cMediaSourceType_YouTubeMusic\x10\'\x12\x1f\n\x1bMediaSourceType_SiriusXmWeb\x10(\x12\x1b\n\x17MediaSourceType_Yunting\x10)\x12\x1d\n\x19MediaSourceType_TuneInWeb\x10*\x12\x19\n\x15MediaSourceType_Kugou\x10+\x12\x1a\n\x16MediaSourceType_Vohico\x10,*S\n\x15VehicleImageStateType\x12\x11\n\rAPVIZ_INVALID\x10\x00\x12\x0e\n\nAPVIZ_WRAP\x10\x01\x12\x17\n\x13APVIZ_LICENSE_PLATE\x10\x02Bx\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vehicle_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserver' - _globals['_AUTOPILOTBASE']._serialized_start = 51664 - _globals['_AUTOPILOTBASE']._serialized_end = 51815 - _globals['_AUTOPILOTOVERRIDESTATE']._serialized_start = 51818 - _globals['_AUTOPILOTOVERRIDESTATE']._serialized_end = 52209 - _globals['_DASHCAMSTATE']._serialized_start = 52212 - _globals['_DASHCAMSTATE']._serialized_end = 52441 - _globals['_THEATERSOURCE']._serialized_start = 52444 - _globals['_THEATERSOURCE']._serialized_end = 52922 - _globals['_MEDIASOURCETYPE']._serialized_start = 52925 - _globals['_MEDIASOURCETYPE']._serialized_end = 54208 - _globals['_VEHICLEIMAGESTATETYPE']._serialized_start = 54210 - _globals['_VEHICLEIMAGESTATETYPE']._serialized_end = 54293 + _globals['_AUTOPILOTBASE']._serialized_start = 51681 + _globals['_AUTOPILOTBASE']._serialized_end = 51832 + _globals['_AUTOPILOTOVERRIDESTATE']._serialized_start = 51835 + _globals['_AUTOPILOTOVERRIDESTATE']._serialized_end = 52226 + _globals['_DASHCAMSTATE']._serialized_start = 52229 + _globals['_DASHCAMSTATE']._serialized_end = 52458 + _globals['_THEATERSOURCE']._serialized_start = 52461 + _globals['_THEATERSOURCE']._serialized_end = 52939 + _globals['_MEDIASOURCETYPE']._serialized_start = 52942 + _globals['_MEDIASOURCETYPE']._serialized_end = 54225 + _globals['_VEHICLEIMAGESTATETYPE']._serialized_start = 54227 + _globals['_VEHICLEIMAGESTATETYPE']._serialized_end = 54310 _globals['_VEHICLEDATA']._serialized_start = 113 - _globals['_VEHICLEDATA']._serialized_end = 1591 - _globals['_CLOSURESSTATE']._serialized_start = 1594 - _globals['_CLOSURESSTATE']._serialized_end = 4337 - _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_start = 2707 - _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_end = 2941 - _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_start = 2944 - _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_end = 3314 - _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_start = 3317 - _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_end = 3543 - _globals['_CHARGESCHEDULESTATE']._serialized_start = 4340 - _globals['_CHARGESCHEDULESTATE']._serialized_end = 4814 - _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_start = 4817 - _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_end = 5216 - _globals['_SPEEDLIMITMODE']._serialized_start = 5219 - _globals['_SPEEDLIMITMODE']._serialized_end = 5482 - _globals['_PARENTALCONTROLSSETTINGS']._serialized_start = 5485 - _globals['_PARENTALCONTROLSSETTINGS']._serialized_end = 6229 - _globals['_PARENTALCONTROLSSTATE']._serialized_start = 6232 - _globals['_PARENTALCONTROLSSTATE']._serialized_end = 6523 - _globals['_SOFTWAREUPDATESTATE']._serialized_start = 6526 - _globals['_SOFTWAREUPDATESTATE']._serialized_end = 7328 - _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_start = 6859 - _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_end = 7128 - _globals['_DRIVESTATE']._serialized_start = 7331 - _globals['_DRIVESTATE']._serialized_end = 9091 - _globals['_DRIVESTATE_FSDMONTHLYMILEAGE']._serialized_start = 8306 - _globals['_DRIVESTATE_FSDMONTHLYMILEAGE']._serialized_end = 8385 - _globals['_DRIVESTATE_FSDLAST7DAYSUSAGE']._serialized_start = 8387 - _globals['_DRIVESTATE_FSDLAST7DAYSUSAGE']._serialized_end = 8456 - _globals['_CHARGESTATE']._serialized_start = 9094 - _globals['_CHARGESTATE']._serialized_end = 18181 - _globals['_CHARGESTATE_CABLETYPE']._serialized_start = 12899 - _globals['_CHARGESTATE_CABLETYPE']._serialized_end = 13082 - _globals['_CHARGESTATE_CHARGERTYPE']._serialized_start = 13085 - _globals['_CHARGESTATE_CHARGERTYPE']._serialized_end = 13436 - _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_start = 13439 - _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_end = 13762 - _globals['_CHARGESTATE_CHARGERBRAND']._serialized_start = 13764 - _globals['_CHARGESTATE_CHARGERBRAND']._serialized_end = 13852 - _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_start = 13854 - _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_end = 13976 - _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_start = 13979 - _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_end = 14301 - _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_start = 14304 - _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_end = 14547 - _globals['_CHARGESTATE_OUTLETSTATE']._serialized_start = 14549 - _globals['_CHARGESTATE_OUTLETSTATE']._serialized_end = 14632 - _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_start = 14634 - _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_end = 14729 - _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_start = 14732 - _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_end = 14940 - _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_start = 14942 - _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_end = 15054 - _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_start = 15057 - _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_end = 15408 - _globals['_MANAGEDCHARGINGSTATE']._serialized_start = 18184 - _globals['_MANAGEDCHARGINGSTATE']._serialized_end = 18487 - _globals['_CHARGEONSOLARSTATE']._serialized_start = 18490 - _globals['_CHARGEONSOLARSTATE']._serialized_end = 19105 - _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_start = 19107 - _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_end = 19137 - _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_start = 19139 - _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_end = 19240 - _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_start = 19242 - _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_end = 19283 - _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_start = 19285 - _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_end = 19323 - _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_start = 19325 - _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_end = 19357 - _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_start = 19359 - _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_end = 19395 - _globals['_CHARGEONSOLARSTATEERROR']._serialized_start = 19397 - _globals['_CHARGEONSOLARSTATEERROR']._serialized_end = 19422 - _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_start = 19424 - _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_end = 19455 - _globals['_LOCATIONSTATE']._serialized_start = 19458 - _globals['_LOCATIONSTATE']._serialized_end = 21151 - _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_start = 20308 - _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_end = 20399 - _globals['_VEHICLESTATE']._serialized_start = 21154 - _globals['_VEHICLESTATE']._serialized_end = 26102 - _globals['_VEHICLESTATE_GUESTMODE']._serialized_start = 24012 - _globals['_VEHICLESTATE_GUESTMODE']._serialized_end = 24048 - _globals['_LEGACYMEDIASTATE']._serialized_start = 26104 - _globals['_LEGACYMEDIASTATE']._serialized_end = 26191 - _globals['_LEGACYMEDIAINFO']._serialized_start = 26194 - _globals['_LEGACYMEDIAINFO']._serialized_end = 26641 - _globals['_CLIMATESTATE']._serialized_start = 26644 - _globals['_CLIMATESTATE']._serialized_end = 31695 - _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_start = 28670 - _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_end = 28862 - _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_start = 28864 - _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_end = 28984 - _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_start = 28986 - _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_end = 29055 - _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_start = 29057 - _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_end = 29183 - _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_start = 29185 - _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_end = 29301 - _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_start = 29303 - _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_end = 29424 - _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_start = 29427 - _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_end = 29562 - _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_start = 29565 - _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_end = 29851 - _globals['_CLIMATESTATE_DOGMODESTATE']._serialized_start = 29854 - _globals['_CLIMATESTATE_DOGMODESTATE']._serialized_end = 30073 - _globals['_TIREPRESSURESTATE']._serialized_start = 31698 - _globals['_TIREPRESSURESTATE']._serialized_end = 38272 - _globals['_MEDIASTATE']._serialized_start = 38275 - _globals['_MEDIASTATE']._serialized_end = 38886 - _globals['_MEDIADETAILSTATE']._serialized_start = 38889 - _globals['_MEDIADETAILSTATE']._serialized_end = 39585 - _globals['_SHIFTSTATE']._serialized_start = 39588 - _globals['_SHIFTSTATE']._serialized_end = 39796 - _globals['_GUISETTINGS']._serialized_start = 39799 - _globals['_GUISETTINGS']._serialized_end = 40153 - _globals['_GUISETTINGS_TIREPRESSUREUNIT']._serialized_start = 39992 - _globals['_GUISETTINGS_TIREPRESSUREUNIT']._serialized_end = 40060 - _globals['_VEHICLECONFIG']._serialized_start = 40156 - _globals['_VEHICLECONFIG']._serialized_end = 47374 - _globals['_VEHICLECONFIG_INTERIORTRIMTYPE']._serialized_start = 43281 - _globals['_VEHICLECONFIG_INTERIORTRIMTYPE']._serialized_end = 43750 - _globals['_VEHICLECONFIG_EXTERIORTRIMTYPE']._serialized_start = 43752 - _globals['_VEHICLECONFIG_EXTERIORTRIMTYPE']._serialized_end = 43860 - _globals['_VEHICLECONFIG_AUXPARKLAMPS_E']._serialized_start = 43862 - _globals['_VEHICLECONFIG_AUXPARKLAMPS_E']._serialized_end = 43971 - _globals['_VEHICLECONFIG_BADGINGMATERIALTYPE']._serialized_start = 43973 - _globals['_VEHICLECONFIG_BADGINGMATERIALTYPE']._serialized_end = 44066 - _globals['_VEHICLECONFIG_BEDLIGHTINGTYPE']._serialized_start = 44068 - _globals['_VEHICLECONFIG_BEDLIGHTINGTYPE']._serialized_end = 44138 - _globals['_VEHICLECONFIG_DRIVETRAINTYPE']._serialized_start = 44140 - _globals['_VEHICLECONFIG_DRIVETRAINTYPE']._serialized_end = 44233 - _globals['_VEHICLECONFIG_FRONTFASCIACAMERATYPE']._serialized_start = 44235 - _globals['_VEHICLECONFIG_FRONTFASCIACAMERATYPE']._serialized_end = 44355 - _globals['_VEHICLECONFIG_HEADLAMPTYPE_E']._serialized_start = 44358 - _globals['_VEHICLECONFIG_HEADLAMPTYPE_E']._serialized_end = 44512 - _globals['_VEHICLECONFIG_INTERIORUPPERTRIMTYPE']._serialized_start = 44514 - _globals['_VEHICLECONFIG_INTERIORUPPERTRIMTYPE']._serialized_end = 44612 - _globals['_VEHICLECONFIG_REARLIGHTHARDWAREVARIANT']._serialized_start = 44615 - _globals['_VEHICLECONFIG_REARLIGHTHARDWAREVARIANT']._serialized_end = 44790 - _globals['_VEHICLECONFIG_REARLIGHTTYPE']._serialized_start = 44792 - _globals['_VEHICLECONFIG_REARLIGHTTYPE']._serialized_end = 44876 - _globals['_VEHICLECONFIG_SEATTRIMTYPE']._serialized_start = 44878 - _globals['_VEHICLECONFIG_SEATTRIMTYPE']._serialized_end = 44966 - _globals['_VEHICLECONFIG_TURNINDICATORCONTROLTYPE']._serialized_start = 44969 - _globals['_VEHICLECONFIG_TURNINDICATORCONTROLTYPE']._serialized_end = 45118 - _globals['_PARKEDACCESSORYSTATE']._serialized_start = 47377 - _globals['_PARKEDACCESSORYSTATE']._serialized_end = 48620 - _globals['_SOHSTATE']._serialized_start = 48623 - _globals['_SOHSTATE']._serialized_end = 49378 - _globals['_SOHSTATE_SOHTESTSTATE']._serialized_start = 48792 - _globals['_SOHSTATE_SOHTESTSTATE']._serialized_end = 48926 - _globals['_SOHSTATE_SOHRESULT']._serialized_start = 48929 - _globals['_SOHSTATE_SOHRESULT']._serialized_end = 49286 - _globals['_SOHSTATE_WARRANTYSERVICERESULT']._serialized_start = 49288 - _globals['_SOHSTATE_WARRANTYSERVICERESULT']._serialized_end = 49378 - _globals['_ALERTSTATE']._serialized_start = 49380 - _globals['_ALERTSTATE']._serialized_end = 49491 - _globals['_LIGHTSHOWOPTION']._serialized_start = 49493 - _globals['_LIGHTSHOWOPTION']._serialized_end = 49564 - _globals['_LIGHTSHOWSETTINGS']._serialized_start = 49567 - _globals['_LIGHTSHOWSETTINGS']._serialized_end = 49771 - _globals['_LIGHTSHOWSTATE']._serialized_start = 49774 - _globals['_LIGHTSHOWSTATE']._serialized_end = 50095 - _globals['_VEHICLEIMAGEDATA']._serialized_start = 50097 - _globals['_VEHICLEIMAGEDATA']._serialized_end = 50194 - _globals['_VEHICLEIMAGE']._serialized_start = 50197 - _globals['_VEHICLEIMAGE']._serialized_end = 50328 - _globals['_VEHICLEIMAGESTATE']._serialized_start = 50330 - _globals['_VEHICLEIMAGESTATE']._serialized_end = 50445 - _globals['_SUSPENSIONSTATE']._serialized_start = 50448 - _globals['_SUSPENSIONSTATE']._serialized_end = 50859 - _globals['_CHILDPRESENCEDETECTIONSTATE']._serialized_start = 50862 - _globals['_CHILDPRESENCEDETECTIONSTATE']._serialized_end = 51166 - _globals['_VEHICLEDETAILSTATE']._serialized_start = 51169 - _globals['_VEHICLEDETAILSTATE']._serialized_end = 51661 \ No newline at end of file + _globals['_VEHICLEDATA']._serialized_end = 1608 + _globals['_CLOSURESSTATE']._serialized_start = 1611 + _globals['_CLOSURESSTATE']._serialized_end = 4354 + _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_start = 2724 + _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_end = 2958 + _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_start = 2961 + _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_end = 3331 + _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_start = 3334 + _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_end = 3560 + _globals['_CHARGESCHEDULESTATE']._serialized_start = 4357 + _globals['_CHARGESCHEDULESTATE']._serialized_end = 4831 + _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_start = 4834 + _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_end = 5233 + _globals['_SPEEDLIMITMODE']._serialized_start = 5236 + _globals['_SPEEDLIMITMODE']._serialized_end = 5499 + _globals['_PARENTALCONTROLSSETTINGS']._serialized_start = 5502 + _globals['_PARENTALCONTROLSSETTINGS']._serialized_end = 6246 + _globals['_PARENTALCONTROLSSTATE']._serialized_start = 6249 + _globals['_PARENTALCONTROLSSTATE']._serialized_end = 6540 + _globals['_SOFTWAREUPDATESTATE']._serialized_start = 6543 + _globals['_SOFTWAREUPDATESTATE']._serialized_end = 7345 + _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_start = 6876 + _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_end = 7145 + _globals['_DRIVESTATE']._serialized_start = 7348 + _globals['_DRIVESTATE']._serialized_end = 9108 + _globals['_DRIVESTATE_FSDMONTHLYMILEAGE']._serialized_start = 8323 + _globals['_DRIVESTATE_FSDMONTHLYMILEAGE']._serialized_end = 8402 + _globals['_DRIVESTATE_FSDLAST7DAYSUSAGE']._serialized_start = 8404 + _globals['_DRIVESTATE_FSDLAST7DAYSUSAGE']._serialized_end = 8473 + _globals['_CHARGESTATE']._serialized_start = 9111 + _globals['_CHARGESTATE']._serialized_end = 18198 + _globals['_CHARGESTATE_CABLETYPE']._serialized_start = 12916 + _globals['_CHARGESTATE_CABLETYPE']._serialized_end = 13099 + _globals['_CHARGESTATE_CHARGERTYPE']._serialized_start = 13102 + _globals['_CHARGESTATE_CHARGERTYPE']._serialized_end = 13453 + _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_start = 13456 + _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_end = 13779 + _globals['_CHARGESTATE_CHARGERBRAND']._serialized_start = 13781 + _globals['_CHARGESTATE_CHARGERBRAND']._serialized_end = 13869 + _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_start = 13871 + _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_end = 13993 + _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_start = 13996 + _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_end = 14318 + _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_start = 14321 + _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_end = 14564 + _globals['_CHARGESTATE_OUTLETSTATE']._serialized_start = 14566 + _globals['_CHARGESTATE_OUTLETSTATE']._serialized_end = 14649 + _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_start = 14651 + _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_end = 14746 + _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_start = 14749 + _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_end = 14957 + _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_start = 14959 + _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_end = 15071 + _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_start = 15074 + _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_end = 15425 + _globals['_MANAGEDCHARGINGSTATE']._serialized_start = 18201 + _globals['_MANAGEDCHARGINGSTATE']._serialized_end = 18504 + _globals['_CHARGEONSOLARSTATE']._serialized_start = 18507 + _globals['_CHARGEONSOLARSTATE']._serialized_end = 19122 + _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_start = 19124 + _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_end = 19154 + _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_start = 19156 + _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_end = 19257 + _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_start = 19259 + _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_end = 19300 + _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_start = 19302 + _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_end = 19340 + _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_start = 19342 + _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_end = 19374 + _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_start = 19376 + _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_end = 19412 + _globals['_CHARGEONSOLARSTATEERROR']._serialized_start = 19414 + _globals['_CHARGEONSOLARSTATEERROR']._serialized_end = 19439 + _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_start = 19441 + _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_end = 19472 + _globals['_LOCATIONSTATE']._serialized_start = 19475 + _globals['_LOCATIONSTATE']._serialized_end = 21168 + _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_start = 20325 + _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_end = 20416 + _globals['_VEHICLESTATE']._serialized_start = 21171 + _globals['_VEHICLESTATE']._serialized_end = 26119 + _globals['_VEHICLESTATE_GUESTMODE']._serialized_start = 24029 + _globals['_VEHICLESTATE_GUESTMODE']._serialized_end = 24065 + _globals['_LEGACYMEDIASTATE']._serialized_start = 26121 + _globals['_LEGACYMEDIASTATE']._serialized_end = 26208 + _globals['_LEGACYMEDIAINFO']._serialized_start = 26211 + _globals['_LEGACYMEDIAINFO']._serialized_end = 26658 + _globals['_CLIMATESTATE']._serialized_start = 26661 + _globals['_CLIMATESTATE']._serialized_end = 31712 + _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_start = 28687 + _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_end = 28879 + _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_start = 28881 + _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_end = 29001 + _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_start = 29003 + _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_end = 29072 + _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_start = 29074 + _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_end = 29200 + _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_start = 29202 + _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_end = 29318 + _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_start = 29320 + _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_end = 29441 + _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_start = 29444 + _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_end = 29579 + _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_start = 29582 + _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_end = 29868 + _globals['_CLIMATESTATE_DOGMODESTATE']._serialized_start = 29871 + _globals['_CLIMATESTATE_DOGMODESTATE']._serialized_end = 30090 + _globals['_TIREPRESSURESTATE']._serialized_start = 31715 + _globals['_TIREPRESSURESTATE']._serialized_end = 38289 + _globals['_MEDIASTATE']._serialized_start = 38292 + _globals['_MEDIASTATE']._serialized_end = 38903 + _globals['_MEDIADETAILSTATE']._serialized_start = 38906 + _globals['_MEDIADETAILSTATE']._serialized_end = 39602 + _globals['_SHIFTSTATE']._serialized_start = 39605 + _globals['_SHIFTSTATE']._serialized_end = 39813 + _globals['_GUISETTINGS']._serialized_start = 39816 + _globals['_GUISETTINGS']._serialized_end = 40170 + _globals['_GUISETTINGS_TIREPRESSUREUNIT']._serialized_start = 40009 + _globals['_GUISETTINGS_TIREPRESSUREUNIT']._serialized_end = 40077 + _globals['_VEHICLECONFIG']._serialized_start = 40173 + _globals['_VEHICLECONFIG']._serialized_end = 47391 + _globals['_VEHICLECONFIG_INTERIORTRIMTYPE']._serialized_start = 43298 + _globals['_VEHICLECONFIG_INTERIORTRIMTYPE']._serialized_end = 43767 + _globals['_VEHICLECONFIG_EXTERIORTRIMTYPE']._serialized_start = 43769 + _globals['_VEHICLECONFIG_EXTERIORTRIMTYPE']._serialized_end = 43877 + _globals['_VEHICLECONFIG_AUXPARKLAMPS_E']._serialized_start = 43879 + _globals['_VEHICLECONFIG_AUXPARKLAMPS_E']._serialized_end = 43988 + _globals['_VEHICLECONFIG_BADGINGMATERIALTYPE']._serialized_start = 43990 + _globals['_VEHICLECONFIG_BADGINGMATERIALTYPE']._serialized_end = 44083 + _globals['_VEHICLECONFIG_BEDLIGHTINGTYPE']._serialized_start = 44085 + _globals['_VEHICLECONFIG_BEDLIGHTINGTYPE']._serialized_end = 44155 + _globals['_VEHICLECONFIG_DRIVETRAINTYPE']._serialized_start = 44157 + _globals['_VEHICLECONFIG_DRIVETRAINTYPE']._serialized_end = 44250 + _globals['_VEHICLECONFIG_FRONTFASCIACAMERATYPE']._serialized_start = 44252 + _globals['_VEHICLECONFIG_FRONTFASCIACAMERATYPE']._serialized_end = 44372 + _globals['_VEHICLECONFIG_HEADLAMPTYPE_E']._serialized_start = 44375 + _globals['_VEHICLECONFIG_HEADLAMPTYPE_E']._serialized_end = 44529 + _globals['_VEHICLECONFIG_INTERIORUPPERTRIMTYPE']._serialized_start = 44531 + _globals['_VEHICLECONFIG_INTERIORUPPERTRIMTYPE']._serialized_end = 44629 + _globals['_VEHICLECONFIG_REARLIGHTHARDWAREVARIANT']._serialized_start = 44632 + _globals['_VEHICLECONFIG_REARLIGHTHARDWAREVARIANT']._serialized_end = 44807 + _globals['_VEHICLECONFIG_REARLIGHTTYPE']._serialized_start = 44809 + _globals['_VEHICLECONFIG_REARLIGHTTYPE']._serialized_end = 44893 + _globals['_VEHICLECONFIG_SEATTRIMTYPE']._serialized_start = 44895 + _globals['_VEHICLECONFIG_SEATTRIMTYPE']._serialized_end = 44983 + _globals['_VEHICLECONFIG_TURNINDICATORCONTROLTYPE']._serialized_start = 44986 + _globals['_VEHICLECONFIG_TURNINDICATORCONTROLTYPE']._serialized_end = 45135 + _globals['_PARKEDACCESSORYSTATE']._serialized_start = 47394 + _globals['_PARKEDACCESSORYSTATE']._serialized_end = 48637 + _globals['_SOHSTATE']._serialized_start = 48640 + _globals['_SOHSTATE']._serialized_end = 49395 + _globals['_SOHSTATE_SOHTESTSTATE']._serialized_start = 48809 + _globals['_SOHSTATE_SOHTESTSTATE']._serialized_end = 48943 + _globals['_SOHSTATE_SOHRESULT']._serialized_start = 48946 + _globals['_SOHSTATE_SOHRESULT']._serialized_end = 49303 + _globals['_SOHSTATE_WARRANTYSERVICERESULT']._serialized_start = 49305 + _globals['_SOHSTATE_WARRANTYSERVICERESULT']._serialized_end = 49395 + _globals['_ALERTSTATE']._serialized_start = 49397 + _globals['_ALERTSTATE']._serialized_end = 49508 + _globals['_LIGHTSHOWOPTION']._serialized_start = 49510 + _globals['_LIGHTSHOWOPTION']._serialized_end = 49581 + _globals['_LIGHTSHOWSETTINGS']._serialized_start = 49584 + _globals['_LIGHTSHOWSETTINGS']._serialized_end = 49788 + _globals['_LIGHTSHOWSTATE']._serialized_start = 49791 + _globals['_LIGHTSHOWSTATE']._serialized_end = 50112 + _globals['_VEHICLEIMAGEDATA']._serialized_start = 50114 + _globals['_VEHICLEIMAGEDATA']._serialized_end = 50211 + _globals['_VEHICLEIMAGE']._serialized_start = 50214 + _globals['_VEHICLEIMAGE']._serialized_end = 50345 + _globals['_VEHICLEIMAGESTATE']._serialized_start = 50347 + _globals['_VEHICLEIMAGESTATE']._serialized_end = 50462 + _globals['_SUSPENSIONSTATE']._serialized_start = 50465 + _globals['_SUSPENSIONSTATE']._serialized_end = 50876 + _globals['_CHILDPRESENCEDETECTIONSTATE']._serialized_start = 50879 + _globals['_CHILDPRESENCEDETECTIONSTATE']._serialized_end = 51183 + _globals['_VEHICLEDETAILSTATE']._serialized_start = 51186 + _globals['_VEHICLEDETAILSTATE']._serialized_end = 51678 \ No newline at end of file diff --git a/packages/python/tesla_protocol/command/vehicle_pb2.pyi b/packages/python/tesla_protocol/command/vehicle_pb2.pyi index 6d727ff..1f06149 100644 --- a/packages/python/tesla_protocol/command/vehicle_pb2.pyi +++ b/packages/python/tesla_protocol/command/vehicle_pb2.pyi @@ -200,7 +200,7 @@ APVIZ_WRAP: VehicleImageStateType APVIZ_LICENSE_PLATE: VehicleImageStateType class VehicleData(_message.Message): - __slots__ = ('gui_settings', 'charge_state', 'climate_state', 'drive_state', 'legacy_vehicle_state', 'vehicle_config', 'location_state', 'closures_state', 'proto_json_version', 'upload_reason', 'parked_accessory_state', 'charge_schedule_state', 'preconditioning_schedule_state', 'soh_state', 'tire_pressure_state', 'media_state', 'media_detail_state', 'vehicle_detail_state', 'software_update_state', 'parental_controls_state', 'alert_state', 'light_show_state', 'vehicle_image_state', 'suspension_state', 'child_presence_detection_state', 'supports_optional_fields') + __slots__ = ('gui_settings', 'charge_state', 'climate_state', 'drive_state', 'legacy_vehicle_state', 'vehicle_config', 'location_state', 'closures_state', 'proto_json_version', 'upload_reason', 'parked_accessory_state', 'charge_schedule_state', 'preconditioning_schedule_state', 'soh_state', 'unknown', 'tire_pressure_state', 'media_state', 'media_detail_state', 'vehicle_detail_state', 'software_update_state', 'parental_controls_state', 'alert_state', 'light_show_state', 'vehicle_image_state', 'suspension_state', 'child_presence_detection_state', 'supports_optional_fields') GUI_SETTINGS_FIELD_NUMBER: _ClassVar[int] CHARGE_STATE_FIELD_NUMBER: _ClassVar[int] CLIMATE_STATE_FIELD_NUMBER: _ClassVar[int] @@ -215,6 +215,7 @@ class VehicleData(_message.Message): CHARGE_SCHEDULE_STATE_FIELD_NUMBER: _ClassVar[int] PRECONDITIONING_SCHEDULE_STATE_FIELD_NUMBER: _ClassVar[int] SOH_STATE_FIELD_NUMBER: _ClassVar[int] + UNKNOWN_FIELD_NUMBER: _ClassVar[int] TIRE_PRESSURE_STATE_FIELD_NUMBER: _ClassVar[int] MEDIA_STATE_FIELD_NUMBER: _ClassVar[int] MEDIA_DETAIL_STATE_FIELD_NUMBER: _ClassVar[int] @@ -241,6 +242,7 @@ class VehicleData(_message.Message): charge_schedule_state: ChargeScheduleState preconditioning_schedule_state: PreconditioningScheduleState soh_state: SohState + unknown: bytes tire_pressure_state: TirePressureState media_state: MediaState media_detail_state: MediaDetailState @@ -254,7 +256,7 @@ class VehicleData(_message.Message): child_presence_detection_state: ChildPresenceDetectionState supports_optional_fields: bool - def __init__(self, gui_settings: _Optional[_Union[GuiSettings, _Mapping]]=..., charge_state: _Optional[_Union[ChargeState, _Mapping]]=..., climate_state: _Optional[_Union[ClimateState, _Mapping]]=..., drive_state: _Optional[_Union[DriveState, _Mapping]]=..., legacy_vehicle_state: _Optional[_Union[VehicleState, _Mapping]]=..., vehicle_config: _Optional[_Union[VehicleConfig, _Mapping]]=..., location_state: _Optional[_Union[LocationState, _Mapping]]=..., closures_state: _Optional[_Union[ClosuresState, _Mapping]]=..., proto_json_version: _Optional[int]=..., upload_reason: _Optional[str]=..., parked_accessory_state: _Optional[_Union[ParkedAccessoryState, _Mapping]]=..., charge_schedule_state: _Optional[_Union[ChargeScheduleState, _Mapping]]=..., preconditioning_schedule_state: _Optional[_Union[PreconditioningScheduleState, _Mapping]]=..., soh_state: _Optional[_Union[SohState, _Mapping]]=..., tire_pressure_state: _Optional[_Union[TirePressureState, _Mapping]]=..., media_state: _Optional[_Union[MediaState, _Mapping]]=..., media_detail_state: _Optional[_Union[MediaDetailState, _Mapping]]=..., vehicle_detail_state: _Optional[_Union[VehicleDetailState, _Mapping]]=..., software_update_state: _Optional[_Union[SoftwareUpdateState, _Mapping]]=..., parental_controls_state: _Optional[_Union[ParentalControlsState, _Mapping]]=..., alert_state: _Optional[_Union[AlertState, _Mapping]]=..., light_show_state: _Optional[_Union[LightShowState, _Mapping]]=..., vehicle_image_state: _Optional[_Union[VehicleImageState, _Mapping]]=..., suspension_state: _Optional[_Union[SuspensionState, _Mapping]]=..., child_presence_detection_state: _Optional[_Union[ChildPresenceDetectionState, _Mapping]]=..., supports_optional_fields: bool=...) -> None: + def __init__(self, gui_settings: _Optional[_Union[GuiSettings, _Mapping]]=..., charge_state: _Optional[_Union[ChargeState, _Mapping]]=..., climate_state: _Optional[_Union[ClimateState, _Mapping]]=..., drive_state: _Optional[_Union[DriveState, _Mapping]]=..., legacy_vehicle_state: _Optional[_Union[VehicleState, _Mapping]]=..., vehicle_config: _Optional[_Union[VehicleConfig, _Mapping]]=..., location_state: _Optional[_Union[LocationState, _Mapping]]=..., closures_state: _Optional[_Union[ClosuresState, _Mapping]]=..., proto_json_version: _Optional[int]=..., upload_reason: _Optional[str]=..., parked_accessory_state: _Optional[_Union[ParkedAccessoryState, _Mapping]]=..., charge_schedule_state: _Optional[_Union[ChargeScheduleState, _Mapping]]=..., preconditioning_schedule_state: _Optional[_Union[PreconditioningScheduleState, _Mapping]]=..., soh_state: _Optional[_Union[SohState, _Mapping]]=..., unknown: _Optional[bytes]=..., tire_pressure_state: _Optional[_Union[TirePressureState, _Mapping]]=..., media_state: _Optional[_Union[MediaState, _Mapping]]=..., media_detail_state: _Optional[_Union[MediaDetailState, _Mapping]]=..., vehicle_detail_state: _Optional[_Union[VehicleDetailState, _Mapping]]=..., software_update_state: _Optional[_Union[SoftwareUpdateState, _Mapping]]=..., parental_controls_state: _Optional[_Union[ParentalControlsState, _Mapping]]=..., alert_state: _Optional[_Union[AlertState, _Mapping]]=..., light_show_state: _Optional[_Union[LightShowState, _Mapping]]=..., vehicle_image_state: _Optional[_Union[VehicleImageState, _Mapping]]=..., suspension_state: _Optional[_Union[SuspensionState, _Mapping]]=..., child_presence_detection_state: _Optional[_Union[ChildPresenceDetectionState, _Mapping]]=..., supports_optional_fields: bool=...) -> None: ... class ClosuresState(_message.Message): diff --git a/packages/typescript/src/command/vehicle.ts b/packages/typescript/src/command/vehicle.ts index 5639124..9995089 100644 --- a/packages/typescript/src/command/vehicle.ts +++ b/packages/typescript/src/command/vehicle.ts @@ -742,7 +742,11 @@ export interface VehicleData { | PreconditioningScheduleState | undefined; /** TESLEMETRY-EXT (app-4.58.6) */ - sohState: SohState | undefined; + sohState: + | SohState + | undefined; + /** opaque, undecoded payload observed on live vehicleDataSubscription pushes // TESLEMETRY-EXT (from our own observations and contributions from the community) */ + unknown: Uint8Array; tirePressureState: TirePressureState | undefined; mediaState: MediaState | undefined; mediaDetailState: @@ -3123,6 +3127,7 @@ function createBaseVehicleData(): VehicleData { chargeScheduleState: undefined, preconditioningScheduleState: undefined, sohState: undefined, + unknown: new Uint8Array(0), tirePressureState: undefined, mediaState: undefined, mediaDetailState: undefined, @@ -3182,6 +3187,9 @@ export const VehicleData: MessageFns = { if (message.sohState !== undefined) { SohState.encode(message.sohState, writer.uint32(138).fork()).join(); } + if (message.unknown.length !== 0) { + writer.uint32(146).bytes(message.unknown); + } if (message.tirePressureState !== undefined) { TirePressureState.encode(message.tirePressureState, writer.uint32(154).fork()).join(); } @@ -3340,6 +3348,14 @@ export const VehicleData: MessageFns = { message.sohState = SohState.decode(reader, reader.uint32()); continue; } + case 18: { + if (tag !== 146) { + break; + } + + message.unknown = reader.bytes(); + continue; + } case 19: { if (tag !== 154) { break; @@ -3469,6 +3485,7 @@ export const VehicleData: MessageFns = { ? PreconditioningScheduleState.fromJSON(object.preconditioningScheduleState) : undefined, sohState: isSet(object.sohState) ? SohState.fromJSON(object.sohState) : undefined, + unknown: isSet(object.unknown) ? bytesFromBase64(object.unknown) : new Uint8Array(0), tirePressureState: isSet(object.tirePressureState) ? TirePressureState.fromJSON(object.tirePressureState) : undefined, @@ -3542,6 +3559,9 @@ export const VehicleData: MessageFns = { if (message.sohState !== undefined) { obj.sohState = SohState.toJSON(message.sohState); } + if (message.unknown !== undefined) { + obj.unknown = base64FromBytes(message.unknown); + } if (message.tirePressureState !== undefined) { obj.tirePressureState = TirePressureState.toJSON(message.tirePressureState); } @@ -3625,6 +3645,7 @@ export const VehicleData: MessageFns = { message.sohState = (object.sohState !== undefined && object.sohState !== null) ? SohState.fromPartial(object.sohState) : undefined; + message.unknown = object.unknown ?? new Uint8Array(0); message.tirePressureState = (object.tirePressureState !== undefined && object.tirePressureState !== null) ? TirePressureState.fromPartial(object.tirePressureState) : undefined; diff --git a/proto/command/vehicle.proto b/proto/command/vehicle.proto index 8fd8abb..854c3b6 100644 --- a/proto/command/vehicle.proto +++ b/proto/command/vehicle.proto @@ -30,6 +30,7 @@ message VehicleData { ChargeScheduleState charge_schedule_state = 15; PreconditioningScheduleState preconditioning_schedule_state = 16; SohState soh_state = 17; // TESLEMETRY-EXT (app-4.58.6) + bytes unknown = 18; // opaque, undecoded payload observed on live vehicleDataSubscription pushes // TESLEMETRY-EXT (from our own observations and contributions from the community) TirePressureState tire_pressure_state = 19; MediaState media_state = 20; MediaDetailState media_detail_state = 21; From 3092f848823428d01b2706729d503e84722c3524 Mon Sep 17 00:00:00 2001 From: Brett Adams Date: Fri, 24 Jul 2026 07:50:18 +1000 Subject: [PATCH 2/2] Refine comment for unknown field in vehicle.proto Removed redundant comment detail from unknown field. --- proto/command/vehicle.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/command/vehicle.proto b/proto/command/vehicle.proto index 854c3b6..699cff2 100644 --- a/proto/command/vehicle.proto +++ b/proto/command/vehicle.proto @@ -30,7 +30,7 @@ message VehicleData { ChargeScheduleState charge_schedule_state = 15; PreconditioningScheduleState preconditioning_schedule_state = 16; SohState soh_state = 17; // TESLEMETRY-EXT (app-4.58.6) - bytes unknown = 18; // opaque, undecoded payload observed on live vehicleDataSubscription pushes // TESLEMETRY-EXT (from our own observations and contributions from the community) + bytes unknown = 18; // opaque, undecoded payload observed on live vehicleDataSubscription pushes // TESLEMETRY-EXT TirePressureState tire_pressure_state = 19; MediaState media_state = 20; MediaDetailState media_detail_state = 21;