diff --git a/cdn/gameassets/ZwiftAndroid_ver_cur.xml b/cdn/gameassets/ZwiftAndroid_ver_cur.xml
index e64899c..6be67ce 100644
--- a/cdn/gameassets/ZwiftAndroid_ver_cur.xml
+++ b/cdn/gameassets/ZwiftAndroid_ver_cur.xml
@@ -1 +1 @@
-
+
diff --git a/cdn/gameassets/Zwift_Updates_Root/ZwiftMac_ver_cur.xml b/cdn/gameassets/Zwift_Updates_Root/ZwiftMac_ver_cur.xml
index 7db0661..53dc7d7 100644
--- a/cdn/gameassets/Zwift_Updates_Root/ZwiftMac_ver_cur.xml
+++ b/cdn/gameassets/Zwift_Updates_Root/ZwiftMac_ver_cur.xml
@@ -1 +1 @@
-
+
diff --git a/cdn/gameassets/Zwift_Updates_Root/Zwift_ver_cur.xml b/cdn/gameassets/Zwift_Updates_Root/Zwift_ver_cur.xml
index 72a607b..8015a7d 100644
--- a/cdn/gameassets/Zwift_Updates_Root/Zwift_ver_cur.xml
+++ b/cdn/gameassets/Zwift_Updates_Root/Zwift_ver_cur.xml
@@ -1 +1 @@
-
+
diff --git a/data/entitlements.txt b/data/entitlements.txt
index 15d9213..8f8be4e 100644
--- a/data/entitlements.txt
+++ b/data/entitlements.txt
@@ -1 +1 @@
-{"first": 1687, "last": 2104}
\ No newline at end of file
+{"first": 1687, "last": 2123}
\ No newline at end of file
diff --git a/data/events.txt b/data/events.txt
index 294aaa5..095ddfd 100644
--- a/data/events.txt
+++ b/data/events.txt
@@ -27,13 +27,6 @@
"course": 14,
"sport": 0
},
- {
- "name": "France - Peaky Pav\u00c3\u00a9",
- "route": 941280950,
- "distance": 30809.2,
- "course": 14,
- "sport": 0
- },
{
"name": "France Classic Fondo",
"route": 2136907048,
@@ -55,12 +48,19 @@
"course": 16,
"sport": 0
},
+ {
+ "name": "Gravel Mountain - Red Rock Loop Reverse",
+ "route": 1437969615,
+ "distance": 5281.2,
+ "course": 16,
+ "sport": 0
+ },
{
"name": "Gravel Mountain - Red Rock Run",
"route": 967374265,
"distance": 5398.0,
"course": 16,
- "sport": 0
+ "sport": 1
},
{
"name": "InnsbruckConti",
@@ -125,13 +125,6 @@
"course": 7,
"sport": 0
},
- {
- "name": "Makuri Islands - Kaze Kicker",
- "route": 2833089100,
- "distance": 17279.4,
- "course": 13,
- "sport": 0
- },
{
"name": "Makuri Islands - Liminal Loop",
"route": 334944296,
@@ -167,13 +160,6 @@
"course": 8,
"sport": 0
},
- {
- "name": "New York - Hudson Hustle",
- "route": 750613981,
- "distance": 20374.8,
- "course": 8,
- "sport": 0
- },
{
"name": "New York - LaGuardia Loop",
"route": 2422779354,
@@ -223,13 +209,6 @@
"course": 2,
"sport": 0
},
- {
- "name": "Richmond - Cobbled Crown",
- "route": 2244765560,
- "distance": 24305.3,
- "course": 2,
- "sport": 0
- },
{
"name": "Scotland - Glasgow Crit Six",
"route": 79243399,
@@ -244,13 +223,6 @@
"course": 17,
"sport": 0
},
- {
- "name": "Scotland - The Epiloch",
- "route": 3486338362,
- "distance": 11104.8,
- "course": 17,
- "sport": 0
- },
{
"name": "Watopia - Big Loop Reverse",
"route": 4107844490,
@@ -356,13 +328,6 @@
"course": 6,
"sport": 0
},
- {
- "name": "Watopia - Three Step Sisters",
- "route": 3536020075,
- "distance": 38053.1,
- "course": 6,
- "sport": 0
- },
{
"name": "Watopia - Volcano Climb After Party",
"route": 387309391,
diff --git a/data/start_lines.txt b/data/start_lines.txt
index ae4f2da..27e51eb 100644
--- a/data/start_lines.txt
+++ b/data/start_lines.txt
@@ -139,6 +139,11 @@
"road": 0,
"time": 655000
},
+ "1437969615": {
+ "name": "Gravel Mountain - Red Rock Loop Reverse",
+ "road": 0,
+ "time": 535000
+ },
"967374265": {
"name": "Gravel Mountain - Red Rock Run",
"road": 0,
diff --git a/data/variants.txt b/data/variants.txt
index a091ff2..d3d8f5b 100644
--- a/data/variants.txt
+++ b/data/variants.txt
@@ -223,10 +223,6 @@
"name": "game_1_101_zp_request_full_response",
"values": {}
},
- {
- "name": "game_1_102_draft_slope_fix",
- "value": true
- },
{
"name": "game_1_102_split_zp_set_messages",
"value": true
@@ -277,8 +273,7 @@
"value": true
},
{
- "name": "game_1_105_zui_logout_earlier",
- "values": {}
+ "name": "game_1_105_zui_logout_earlier"
},
{
"name": "game_1_106_zml_rnl",
@@ -298,7 +293,8 @@
"name": "game_1_108_challenge_poster_cards"
},
{
- "name": "game_1_108_data_collection_consent"
+ "name": "game_1_108_data_collection_consent",
+ "value": true
},
{
"name": "game_1_108_known_devices_v2",
@@ -347,6 +343,9 @@
{
"name": "game_1_110_auto_pairing_fixes"
},
+ {
+ "name": "game_1_110_customizable_workout_hud"
+ },
{
"name": "game_1_110_disable_sensor_relay_on_ble"
},
@@ -363,6 +362,14 @@
{
"name": "game_1_110_square_integration"
},
+ {
+ "name": "game_1_110_trial_banner",
+ "values": {}
+ },
+ {
+ "name": "game_1_111_personalize_experience",
+ "values": {}
+ },
{
"name": "game_1_15_assert_disable_abort",
"value": true,
@@ -380,8 +387,7 @@
}
},
{
- "name": "game_1_18_holiday_mode",
- "value": true
+ "name": "game_1_18_holiday_mode"
},
{
"name": "game_1_20_home_screen",
@@ -850,7 +856,18 @@
}
},
{
- "name": "game_1_53_zui_tp"
+ "name": "game_1_53_zui_tp",
+ "value": true,
+ "values": {
+ "fields": {
+ "disk_cache_max_size_bytes": {
+ "varintValue": "104857600"
+ },
+ "memory_cache_max_size_bytes": {
+ "varintValue": "104857600"
+ }
+ }
+ }
},
{
"name": "game_1_54_m0b1",
@@ -1131,7 +1148,7 @@
"values": {
"fields": {
"challenge_carousel_id": {
- "stringValue": "prod_1_108_minimum"
+ "stringValue": "prod_home_challenge_carousel"
}
}
}
@@ -1159,11 +1176,6 @@
"value": true,
"values": {}
},
- {
- "name": "game_1_74_sku_enhance",
- "value": true,
- "values": {}
- },
{
"name": "game_1_74_zp_manual_calibration",
"values": {}
@@ -1522,10 +1534,6 @@
"name": "game_1_91_center_hud_onroute_update",
"value": true
},
- {
- "name": "game_1_91_nav_bar_social_tab",
- "value": true
- },
{
"name": "game_1_91_publish_climb_portal_complete",
"value": true
@@ -1899,10 +1907,6 @@
{
"name": "game_default_deco"
},
- {
- "name": "game_disable_ant_plus_msg_queue",
- "values": {}
- },
{
"name": "game_disable_cached_subgroup_protobuf",
"value": true,
@@ -2254,7 +2258,7 @@
"values": {
"fields": {
"version": {
- "stringValue": "1.110.0"
+ "stringValue": "1.111.0"
}
}
}
@@ -2281,11 +2285,6 @@
}
}
},
- {
- "name": "game_settings_service",
- "value": true,
- "values": {}
- },
{
"name": "game_show_about_menu",
"value": true,
@@ -2519,6 +2518,23 @@
"name": "noesis_dlc",
"value": true
},
+ {
+ "name": "outdoor_accumulator_quest_widget_settings",
+ "value": true,
+ "values": {
+ "fields": {
+ "hide_secondary_widget_when_not_setup": {
+ "boolValue": false
+ },
+ "qr_code_data_id": {
+ "stringValue": "zc_connections"
+ },
+ "qr_code_state_enabled": {
+ "boolValue": true
+ }
+ }
+ }
+ },
{
"name": "progress_report",
"value": true
diff --git a/protobuf/user_storage.proto b/protobuf/user_storage.proto
index 124e4eb..97bb017 100644
--- a/protobuf/user_storage.proto
+++ b/protobuf/user_storage.proto
@@ -9,6 +9,7 @@ message Attributes {
optional GarageItemLastSelected garage_last_selected = 23;
optional BikeProgress bike_progress = 24;
optional SpecialEventSeen special_event_seen = 25;
+ optional DataCollectionConsent data_collection_consent = 29;
}
message GameSettings {
@@ -57,3 +58,9 @@ message BikeUpgrade {
optional uint32 level = 2;
optional uint32 price = 3;
}
+
+message DataCollectionConsent {
+ optional string device = 1;
+ optional int32 consent = 2;
+ optional uint64 time = 3;
+}
diff --git a/protobuf/user_storage_pb2.py b/protobuf/user_storage_pb2.py
index 3c40e97..f0337e6 100644
--- a/protobuf/user_storage_pb2.py
+++ b/protobuf/user_storage_pb2.py
@@ -13,7 +13,7 @@ _sym_db = _symbol_database.Default()
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12user_storage.proto\".\n\x0bUserStorage\x12\x1f\n\nattributes\x18\x02 \x03(\x0b\x32\x0b.Attributes\"\xbe\x01\n\nAttributes\x12$\n\rgame_settings\x18\x16 \x01(\x0b\x32\r.GameSettings\x12\x35\n\x14garage_last_selected\x18\x17 \x01(\x0b\x32\x17.GarageItemLastSelected\x12$\n\rbike_progress\x18\x18 \x01(\x0b\x32\r.BikeProgress\x12-\n\x12special_event_seen\x18\x19 \x01(\x0b\x32\x11.SpecialEventSeen\"\xb4\x02\n\x0cGameSettings\x12\n\n\x02\x66\x32\x18\x02 \x01(\x02\x12\x1c\n\x14minimal_leaderboards\x18\x03 \x01(\x05\x12\x19\n\x11power_meter_slot0\x18\x04 \x01(\x05\x12\x19\n\x11power_meter_slot1\x18\x05 \x01(\x05\x12\x19\n\x11power_meter_slot2\x18\x06 \x01(\x05\x12\x19\n\x11power_meter_slot3\x18\x07 \x01(\x05\x12\x1f\n\x17\x63limb_graph_sensitivity\x18\t \x01(\x05\x12\x1a\n\x12screen_shake_scale\x18\n \x01(\x02\x12\x1d\n\x15streaks_flair_visuals\x18\x0b \x01(\x05\x12\x18\n\x10ride_stats_slot0\x18\r \x01(\x05\x12\x18\n\x10ride_stats_slot1\x18\x0e \x01(\x05\"9\n\x16GarageItemLastSelected\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\x0c\n\x04time\x18\x02 \x01(\x04\"3\n\x10SpecialEventSeen\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\x0c\n\x04time\x18\x02 \x01(\x04\"\xbf\x02\n\x0c\x42ikeProgress\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\r\x12\x16\n\x0elevel_distance\x18\x03 \x01(\x02\x12\x16\n\x0etotal_distance\x18\x04 \x01(\x02\x12\x17\n\x0flevel_elevation\x18\x05 \x01(\x02\x12\x17\n\x0ftotal_elevation\x18\x06 \x01(\x02\x12\x19\n\x11level_moving_time\x18\x07 \x01(\x02\x12\x19\n\x11total_moving_time\x18\x08 \x01(\x02\x12\x14\n\x0clast_upgrade\x18\n \x01(\x04\x12\x0c\n\x04time\x18\x0b \x01(\x04\x12#\n\rbike_upgrades\x18\x0c \x03(\x0b\x32\x0c.BikeUpgrade\x12\x0b\n\x03\x66\x31\x34\x18\x0e \x01(\r\x12\x12\n\npercentage\x18\x0f \x01(\x02\x12\x0b\n\x03\x66\x31\x36\x18\x10 \x01(\r\"9\n\x0b\x42ikeUpgrade\x12\x0c\n\x04time\x18\x01 \x01(\x04\x12\r\n\x05level\x18\x02 \x01(\r\x12\r\n\x05price\x18\x03 \x01(\r')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12user_storage.proto\".\n\x0bUserStorage\x12\x1f\n\nattributes\x18\x02 \x03(\x0b\x32\x0b.Attributes\"\xf7\x01\n\nAttributes\x12$\n\rgame_settings\x18\x16 \x01(\x0b\x32\r.GameSettings\x12\x35\n\x14garage_last_selected\x18\x17 \x01(\x0b\x32\x17.GarageItemLastSelected\x12$\n\rbike_progress\x18\x18 \x01(\x0b\x32\r.BikeProgress\x12-\n\x12special_event_seen\x18\x19 \x01(\x0b\x32\x11.SpecialEventSeen\x12\x37\n\x17\x64\x61ta_collection_consent\x18\x1d \x01(\x0b\x32\x16.DataCollectionConsent\"\xb4\x02\n\x0cGameSettings\x12\n\n\x02\x66\x32\x18\x02 \x01(\x02\x12\x1c\n\x14minimal_leaderboards\x18\x03 \x01(\x05\x12\x19\n\x11power_meter_slot0\x18\x04 \x01(\x05\x12\x19\n\x11power_meter_slot1\x18\x05 \x01(\x05\x12\x19\n\x11power_meter_slot2\x18\x06 \x01(\x05\x12\x19\n\x11power_meter_slot3\x18\x07 \x01(\x05\x12\x1f\n\x17\x63limb_graph_sensitivity\x18\t \x01(\x05\x12\x1a\n\x12screen_shake_scale\x18\n \x01(\x02\x12\x1d\n\x15streaks_flair_visuals\x18\x0b \x01(\x05\x12\x18\n\x10ride_stats_slot0\x18\r \x01(\x05\x12\x18\n\x10ride_stats_slot1\x18\x0e \x01(\x05\"9\n\x16GarageItemLastSelected\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\x0c\n\x04time\x18\x02 \x01(\x04\"3\n\x10SpecialEventSeen\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\x0c\n\x04time\x18\x02 \x01(\x04\"\xbf\x02\n\x0c\x42ikeProgress\x12\x11\n\tsignature\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\r\x12\x16\n\x0elevel_distance\x18\x03 \x01(\x02\x12\x16\n\x0etotal_distance\x18\x04 \x01(\x02\x12\x17\n\x0flevel_elevation\x18\x05 \x01(\x02\x12\x17\n\x0ftotal_elevation\x18\x06 \x01(\x02\x12\x19\n\x11level_moving_time\x18\x07 \x01(\x02\x12\x19\n\x11total_moving_time\x18\x08 \x01(\x02\x12\x14\n\x0clast_upgrade\x18\n \x01(\x04\x12\x0c\n\x04time\x18\x0b \x01(\x04\x12#\n\rbike_upgrades\x18\x0c \x03(\x0b\x32\x0c.BikeUpgrade\x12\x0b\n\x03\x66\x31\x34\x18\x0e \x01(\r\x12\x12\n\npercentage\x18\x0f \x01(\x02\x12\x0b\n\x03\x66\x31\x36\x18\x10 \x01(\r\"9\n\x0b\x42ikeUpgrade\x12\x0c\n\x04time\x18\x01 \x01(\x04\x12\r\n\x05level\x18\x02 \x01(\r\x12\r\n\x05price\x18\x03 \x01(\r\"F\n\x15\x44\x61taCollectionConsent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0f\n\x07\x63onsent\x18\x02 \x01(\x05\x12\x0c\n\x04time\x18\x03 \x01(\x04')
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'user_storage_pb2', globals())
@@ -23,15 +23,17 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_USERSTORAGE._serialized_start=22
_USERSTORAGE._serialized_end=68
_ATTRIBUTES._serialized_start=71
- _ATTRIBUTES._serialized_end=261
- _GAMESETTINGS._serialized_start=264
- _GAMESETTINGS._serialized_end=572
- _GARAGEITEMLASTSELECTED._serialized_start=574
- _GARAGEITEMLASTSELECTED._serialized_end=631
- _SPECIALEVENTSEEN._serialized_start=633
- _SPECIALEVENTSEEN._serialized_end=684
- _BIKEPROGRESS._serialized_start=687
- _BIKEPROGRESS._serialized_end=1006
- _BIKEUPGRADE._serialized_start=1008
- _BIKEUPGRADE._serialized_end=1065
+ _ATTRIBUTES._serialized_end=318
+ _GAMESETTINGS._serialized_start=321
+ _GAMESETTINGS._serialized_end=629
+ _GARAGEITEMLASTSELECTED._serialized_start=631
+ _GARAGEITEMLASTSELECTED._serialized_end=688
+ _SPECIALEVENTSEEN._serialized_start=690
+ _SPECIALEVENTSEEN._serialized_end=741
+ _BIKEPROGRESS._serialized_start=744
+ _BIKEPROGRESS._serialized_end=1063
+ _BIKEUPGRADE._serialized_start=1065
+ _BIKEUPGRADE._serialized_end=1122
+ _DATACOLLECTIONCONSENT._serialized_start=1124
+ _DATACOLLECTIONCONSENT._serialized_end=1194
# @@protoc_insertion_point(module_scope)