trcc-linux 9.8.6__tar.gz → 9.8.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1026) hide show
  1. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/PKG-INFO +8 -7
  2. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/README.md +7 -6
  3. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/pyproject.toml +1 -1
  4. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/__version__.py +1 -1
  5. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/device/__init__.py +2 -1
  6. trcc_linux-9.8.8/src/trcc/adapters/device/ali_lcd.py +141 -0
  7. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/device/led.py +27 -11
  8. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/_udev.py +1 -0
  9. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/linux.py +15 -0
  10. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/commands/__init__.py +2 -0
  11. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/commands/device.py +21 -10
  12. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/commands/theme.py +79 -0
  13. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/geometry.py +17 -13
  14. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/led_models.py +12 -0
  15. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/led_protocol.py +62 -0
  16. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/models.py +3 -1
  17. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/protocol.py +33 -17
  18. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/registry.py +5 -4
  19. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/variants.py +2 -1
  20. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/led_segment.py +87 -0
  21. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/display.py +8 -3
  22. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/main.py +26 -3
  23. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/cli/display.py +25 -2
  24. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/cli/theme.py +11 -2
  25. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/__init__.py +25 -21
  26. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/lcd_handler.py +58 -10
  27. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_led_control.py +3 -1
  28. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_screen_led.py +31 -0
  29. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/led_display.py +2 -0
  30. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/theme_directories.py +27 -0
  31. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qapp.py +31 -0
  32. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/__init__.py +2 -2
  33. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/app.py +23 -22
  34. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/mock_platform.py +14 -0
  35. trcc_linux-9.8.8/tests/test_ali_lcd.py +157 -0
  36. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_api_routes.py +25 -2
  37. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_bulk_lcd_geometry.py +33 -0
  38. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_cli_commands.py +50 -0
  39. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_display_rotation.py +94 -18
  40. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_geometry.py +13 -11
  41. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_led_pm_registry.py +113 -0
  42. trcc_linux-9.8.8/tests/test_led_segment.py +119 -0
  43. trcc_linux-9.8.8/tests/test_restore_device_state.py +117 -0
  44. trcc_linux-9.8.8/tests/test_ui_parity.py +170 -0
  45. trcc_linux-9.8.8/tests/test_widescreen_rotation.py +66 -0
  46. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_theme_directories.py +58 -0
  47. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/.gitignore +0 -0
  48. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/LICENSE +0 -0
  49. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/__init__.py +0 -0
  50. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/__main__.py +0 -0
  51. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/_boot.py +0 -0
  52. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/_entry.py +0 -0
  53. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/__init__.py +0 -0
  54. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/device/_pyusb_find.py +0 -0
  55. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/device/bulk_lcd.py +0 -0
  56. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/device/hid_lcd.py +0 -0
  57. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/device/ly_lcd.py +0 -0
  58. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/device/scsi_lcd.py +0 -0
  59. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/device/transport.py +0 -0
  60. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/device/usb_bot_scsi.py +0 -0
  61. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/diagnostics/__init__.py +0 -0
  62. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/diagnostics/adapter.py +0 -0
  63. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/diagnostics/debug_report.py +0 -0
  64. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/diagnostics/doctor.py +0 -0
  65. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/diagnostics/health.py +0 -0
  66. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/infra/__init__.py +0 -0
  67. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/infra/logging.py +0 -0
  68. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/infra/network.py +0 -0
  69. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/infra/send_scheduler.py +0 -0
  70. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/infra/sysinfo_config.py +0 -0
  71. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/render/__init__.py +0 -0
  72. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/render/qt.py +0 -0
  73. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/repo/__init__.py +0 -0
  74. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/repo/data_install.py +0 -0
  75. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/repo/github_releases.py +0 -0
  76. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/repo/http.py +0 -0
  77. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/screencast/__init__.py +0 -0
  78. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/screencast/qt.py +0 -0
  79. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/__init__.py +0 -0
  80. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_hwinfo.py +0 -0
  81. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_lhm.py +0 -0
  82. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_macos_hid.py +0 -0
  83. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_msacpi.py +0 -0
  84. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_powermetrics.py +0 -0
  85. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_smc.py +0 -0
  86. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_sysctl.py +0 -0
  87. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_wmi_gpu.py +0 -0
  88. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/aggregator.py +0 -0
  89. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/bsd.py +0 -0
  90. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/chain.py +0 -0
  91. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/gpu_detect.py +0 -0
  92. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/hwmon.py +0 -0
  93. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/macos.py +0 -0
  94. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/nvml.py +0 -0
  95. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/psutil_sources.py +0 -0
  96. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/windows.py +0 -0
  97. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/__init__.py +0 -0
  98. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/_autostart.py +0 -0
  99. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/_devd.py +0 -0
  100. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/_elevate.py +0 -0
  101. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/_hotplug.py +0 -0
  102. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/_imc_timings.py +0 -0
  103. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/_macos_setup.py +0 -0
  104. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/_selinux.py +0 -0
  105. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/_windows_wmi.py +0 -0
  106. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/_winusb.py +0 -0
  107. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/bsd.py +0 -0
  108. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/macos.py +0 -0
  109. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/spd.py +0 -0
  110. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/system/windows.py +0 -0
  111. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/theme/__init__.py +0 -0
  112. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/adapters/theme/cloud.py +0 -0
  113. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/app.py +0 -0
  114. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/LibreHardwareMonitor.config +0 -0
  115. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/com.github.lexonight1.trcc.policy +0 -0
  116. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/fonts/MSYH.TTC +0 -0
  117. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
  118. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/fonts/README.md +0 -0
  119. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/icons/app.ico +0 -0
  120. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc.png +0 -0
  121. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_128x128.png +0 -0
  122. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_16x16.png +0 -0
  123. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_24x24.png +0 -0
  124. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_256x256.png +0 -0
  125. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_32x32.png +0 -0
  126. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_48x48.png +0 -0
  127. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_64x64.png +0 -0
  128. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/trcc-imc +0 -0
  129. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/trcc-linux.desktop +0 -0
  130. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/assets/trcc-quirk-fix.service +0 -0
  131. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/__init__.py +0 -0
  132. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/_colors.py +0 -0
  133. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/_safe.py +0 -0
  134. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/_version.py +0 -0
  135. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/commands/_base.py +0 -0
  136. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/commands/_helpers.py +0 -0
  137. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/commands/led.py +0 -0
  138. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/commands/system.py +0 -0
  139. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/device_recovery.py +0 -0
  140. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/diagnostics.py +0 -0
  141. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/errors.py +0 -0
  142. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/events.py +0 -0
  143. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/i18n.py +0 -0
  144. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/ports.py +0 -0
  145. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/core/results.py +0 -0
  146. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/daemon.py +0 -0
  147. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/data/trcc_usb.te +0 -0
  148. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ipc.py +0 -0
  149. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/proxy.py +0 -0
  150. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/__init__.py +0 -0
  151. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/_ansi.py +0 -0
  152. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/_clock.py +0 -0
  153. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/_dc.py +0 -0
  154. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/audio.py +0 -0
  155. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/cloud_theme.py +0 -0
  156. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/data_install.py +0 -0
  157. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/device_sender.py +0 -0
  158. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/display.py +0 -0
  159. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/first_run.py +0 -0
  160. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/led_animation_loop.py +0 -0
  161. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/led_effects.py +0 -0
  162. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/media.py +0 -0
  163. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/metrics_loop.py +0 -0
  164. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/metrics_personalize.py +0 -0
  165. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/migration.py +0 -0
  166. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/overlay.py +0 -0
  167. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/quickstart.py +0 -0
  168. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/settings.py +0 -0
  169. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/slideshow.py +0 -0
  170. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/theme.py +0 -0
  171. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/video_cache.py +0 -0
  172. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/services/video_export.py +0 -0
  173. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/__init__.py +0 -0
  174. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/_errors.py +0 -0
  175. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/__init__.py +0 -0
  176. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/_shared.py +0 -0
  177. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/config.py +0 -0
  178. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/devices.py +0 -0
  179. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/led.py +0 -0
  180. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/schemas.py +0 -0
  181. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/system.py +0 -0
  182. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/theme.py +0 -0
  183. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/api/trcc.py +0 -0
  184. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/cli/__init__.py +0 -0
  185. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/cli/_ctx.py +0 -0
  186. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/cli/config.py +0 -0
  187. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/cli/device.py +0 -0
  188. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/cli/led.py +0 -0
  189. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/cli/main.py +0 -0
  190. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/cli/shell.py +0 -0
  191. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/cli/system.py +0 -0
  192. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/_ui_state.py +0 -0
  193. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/240240.gif +0 -0
  194. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/240320.gif +0 -0
  195. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/320240.gif +0 -0
  196. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/320320.gif +0 -0
  197. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AK120 Digital.png +0 -0
  198. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AK120 Digitala.png +0 -0
  199. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AK120_Digital.png +0 -0
  200. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AK120_Digitala.png +0 -0
  201. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AS120 VISION.png +0 -0
  202. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AS120 VISIONa.png +0 -0
  203. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AS120_VISION.png +0 -0
  204. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AS120_VISIONa.png +0 -0
  205. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AX120 DIGITAL.png +0 -0
  206. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AX120 DIGITALa.png +0 -0
  207. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AX120_DIGITAL.png +0 -0
  208. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AX120_DIGITALa.png +0 -0
  209. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1BA120 VISION.png +0 -0
  210. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1BA120 VISIONa.png +0 -0
  211. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1BA120_VISION.png +0 -0
  212. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1BA120_VISIONa.png +0 -0
  213. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CORE VISION.png +0 -0
  214. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CORE VISIONa.png +0 -0
  215. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CORE_VISION.png +0 -0
  216. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CORE_VISIONa.png +0 -0
  217. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZ1.png +0 -0
  218. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZ1a.png +0 -0
  219. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZ2.png +0 -0
  220. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZ2a.png +0 -0
  221. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZTV.png +0 -0
  222. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZTVa.png +0 -0
  223. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1ELITE VISION.png +0 -0
  224. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1ELITE VISIONa.png +0 -0
  225. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1ELITE_VISION.png +0 -0
  226. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1ELITE_VISIONa.png +0 -0
  227. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PRO.png +0 -0
  228. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PROa.png +0 -0
  229. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PRO.png +0 -0
  230. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PROa.png +0 -0
  231. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN VISION V2.png +0 -0
  232. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN VISION V2a.png +0 -0
  233. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PRO.png +0 -0
  234. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PROa.png +0 -0
  235. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SE.png +0 -0
  236. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SEa.png +0 -0
  237. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME.png +0 -0
  238. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAMEa.png +0 -0
  239. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PRO.png +0 -0
  240. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PROa.png +0 -0
  241. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PRO.png +0 -0
  242. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PROa.png +0 -0
  243. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2.png +0 -0
  244. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2a.png +0 -0
  245. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME.png +0 -0
  246. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PRO.png +0 -0
  247. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PROa.png +0 -0
  248. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SE.png +0 -0
  249. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SEa.png +0 -0
  250. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAMEa.png +0 -0
  251. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1GRAND VISION.png +0 -0
  252. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1GRAND VISIONa.png +0 -0
  253. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1GRAND_VISION.png +0 -0
  254. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1GRAND_VISIONa.png +0 -0
  255. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITAL.png +0 -0
  256. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITALa.png +0 -0
  257. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HYPER VISION.png +0 -0
  258. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HYPER VISIONa.png +0 -0
  259. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HYPER_VISION.png +0 -0
  260. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HYPER_VISIONa.png +0 -0
  261. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1KVMALEDC6.png +0 -0
  262. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1KVMALEDC6a.png +0 -0
  263. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC1.png +0 -0
  264. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC10.png +0 -0
  265. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC10a.png +0 -0
  266. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC13.png +0 -0
  267. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC13a.png +0 -0
  268. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC15.png +0 -0
  269. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC15a.png +0 -0
  270. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC1a.png +0 -0
  271. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC2.png +0 -0
  272. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC2JD.png +0 -0
  273. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC2JDa.png +0 -0
  274. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC2a.png +0 -0
  275. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC3.png +0 -0
  276. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC3a.png +0 -0
  277. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC5.png +0 -0
  278. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC5a.png +0 -0
  279. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC7.png +0 -0
  280. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC7a.png +0 -0
  281. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC8.png +0 -0
  282. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC8a.png +0 -0
  283. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC9.png +0 -0
  284. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC9a.png +0 -0
  285. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD10.png +0 -0
  286. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD10a.png +0 -0
  287. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD11.png +0 -0
  288. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD11a.png +0 -0
  289. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD6.png +0 -0
  290. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD6a.png +0 -0
  291. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD7.png +0 -0
  292. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD7a.png +0 -0
  293. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD8.png +0 -0
  294. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD8a.png +0 -0
  295. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD9.png +0 -0
  296. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD9a.png +0 -0
  297. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF014.png +0 -0
  298. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF014a.png +0 -0
  299. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF10.png +0 -0
  300. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF10V.png +0 -0
  301. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF10Va.png +0 -0
  302. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF10a.png +0 -0
  303. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF11.png +0 -0
  304. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF11a.png +0 -0
  305. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF12.png +0 -0
  306. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF12a.png +0 -0
  307. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF13.png +0 -0
  308. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF13a.png +0 -0
  309. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF14.png +0 -0
  310. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF14a.png +0 -0
  311. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF15.png +0 -0
  312. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF15a.png +0 -0
  313. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF16.png +0 -0
  314. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF167.png +0 -0
  315. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF16a.png +0 -0
  316. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF17a.png +0 -0
  317. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF18.png +0 -0
  318. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF18a.png +0 -0
  319. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF19.png +0 -0
  320. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF19a.png +0 -0
  321. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF20.png +0 -0
  322. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF20a.png +0 -0
  323. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF21.png +0 -0
  324. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF21a.png +0 -0
  325. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF22.png +0 -0
  326. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF22a.png +0 -0
  327. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF25.png +0 -0
  328. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF25a.png +0 -0
  329. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF8.png +0 -0
  330. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF8a.png +0 -0
  331. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM16SE.png +0 -0
  332. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM16SEa.png +0 -0
  333. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM19SE.png +0 -0
  334. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM19SEa.png +0 -0
  335. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM22.png +0 -0
  336. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM22a.png +0 -0
  337. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM24.png +0 -0
  338. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM24a.png +0 -0
  339. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM26.png +0 -0
  340. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM26a.png +0 -0
  341. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM27.png +0 -0
  342. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM27a.png +0 -0
  343. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM30.png +0 -0
  344. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM30a.png +0 -0
  345. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir VISION PRO.png +0 -0
  346. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir VISION PROa.png +0 -0
  347. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir VISION.png +0 -0
  348. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir VISIONa.png +0 -0
  349. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir_VISION.png +0 -0
  350. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PRO.png +0 -0
  351. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PROa.png +0 -0
  352. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir_VISIONa.png +0 -0
  353. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PA120 DIGITAL.png +0 -0
  354. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PA120 DIGITALa.png +0 -0
  355. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PA120_DIGITAL.png +0 -0
  356. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PA120_DIGITALa.png +0 -0
  357. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PC1.png +0 -0
  358. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PC1a.png +0 -0
  359. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RK120 DIGITAL.png +0 -0
  360. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RK120 DIGITALa.png +0 -0
  361. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RK120_DIGITAL.png +0 -0
  362. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RK120_DIGITALa.png +0 -0
  363. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RP130 VISION.png +0 -0
  364. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RP130 VISIONa.png +0 -0
  365. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RP130_VISION.png +0 -0
  366. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RP130_VISIONa.png +0 -0
  367. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RX1.png +0 -0
  368. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RX1a.png +0 -0
  369. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Stream Vision.png +0 -0
  370. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Stream Visiona.png +0 -0
  371. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Stream_Vision.png +0 -0
  372. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Stream_Visiona.png +0 -0
  373. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/about_dropdown.png +0 -0
  374. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/about_dropdown_bg.png +0 -0
  375. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/about_dropdown_select.png +0 -0
  376. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/about_update.png +0 -0
  377. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/about_update_overlay.png +0 -0
  378. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_about_bg.png +0 -0
  379. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_brightness_0.png +0 -0
  380. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_brightness_1.png +0 -0
  381. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_brightness_2.png +0 -0
  382. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_brightness_3.png +0 -0
  383. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_export.png +0 -0
  384. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_form_bg.png +0 -0
  385. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_help.png +0 -0
  386. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_import.png +0 -0
  387. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_main_bg.png +0 -0
  388. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_power.png +0 -0
  389. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_power_hover.png +0 -0
  390. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_save.png +0 -0
  391. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_sysinfo_bg.png +0 -0
  392. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_cloud.png +0 -0
  393. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_cloud_active.png +0 -0
  394. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_local.png +0 -0
  395. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_local_active.png +0 -0
  396. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_mask.png +0 -0
  397. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_mask_active.png +0 -0
  398. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_mask_lower.png +0 -0
  399. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_settings.png +0 -0
  400. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_settings_active.png +0 -0
  401. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_theme_base_bg.png +0 -0
  402. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_theme_gallery_bg.png +0 -0
  403. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_theme_settings_bg.png +0 -0
  404. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_1.png +0 -0
  405. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_2.png +0 -0
  406. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_3.png +0 -0
  407. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_4.png +0 -0
  408. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_5.png +0 -0
  409. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_6.png +0 -0
  410. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_btn.png +0 -0
  411. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_btn_active.png +0 -0
  412. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_select_frame.png +0 -0
  413. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_panel_eyedropper.png +0 -0
  414. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_panel_picker.png +0 -0
  415. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_panel_selector_ring.png +0 -0
  416. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_panel_slider_thumb.png +0 -0
  417. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_wheel_knob.png +0 -0
  418. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_wheel_knob_0.png +0 -0
  419. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_wheel_toggle_hover.png +0 -0
  420. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_wheel_toggle_off.png +0 -0
  421. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_wheel_toggle_on.png +0 -0
  422. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_12h.png +0 -0
  423. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_24h.png +0 -0
  424. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_border.png +0 -0
  425. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_border_active.png +0 -0
  426. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_crop.png +0 -0
  427. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_date_dm.png +0 -0
  428. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_date_dmy.png +0 -0
  429. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_date_md.png +0 -0
  430. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_date_ymd.png +0 -0
  431. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_digit_font.png +0 -0
  432. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_fit_height.png +0 -0
  433. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_fit_width.png +0 -0
  434. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_function.png +0 -0
  435. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_function_active.png +0 -0
  436. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon.png +0 -0
  437. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_gif.png +0 -0
  438. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_image.png +0 -0
  439. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_livestream.png +0 -0
  440. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_mask.png +0 -0
  441. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_network.png +0 -0
  442. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_video.png +0 -0
  443. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m1.png +0 -0
  444. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m1_active.png +0 -0
  445. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m2.png +0 -0
  446. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m2_active.png +0 -0
  447. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m3.png +0 -0
  448. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m3_active.png +0 -0
  449. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m4.png +0 -0
  450. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m4_active.png +0 -0
  451. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m5.png +0 -0
  452. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m5_active.png +0 -0
  453. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m6.png +0 -0
  454. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m6_active.png +0 -0
  455. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_minus.png +0 -0
  456. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_network_btn.png +0 -0
  457. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_plus.png +0 -0
  458. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_rotate.png +0 -0
  459. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_slider_thumb.png +0 -0
  460. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_text_font.png +0 -0
  461. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_unit_c.png +0 -0
  462. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_unit_f.png +0 -0
  463. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/frozen_warframe_ultra.png +0 -0
  464. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/frozen_warframe_ultra_active.png +0 -0
  465. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_110x480.png +0 -0
  466. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_116x480.png +0 -0
  467. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_1280x480.png +0 -0
  468. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_160x480.png +0 -0
  469. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_180x400.png +0 -0
  470. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_180x480.png +0 -0
  471. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_240x240.png +0 -0
  472. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_240x320.png +0 -0
  473. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_240x400.png +0 -0
  474. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_240x427.png +0 -0
  475. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_270x480.png +0 -0
  476. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_320x240.png +0 -0
  477. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_320x320.png +0 -0
  478. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_320x86.png +0 -0
  479. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_360x360.png +0 -0
  480. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_400x180.png +0 -0
  481. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_400x240.png +0 -0
  482. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_427x240.png +0 -0
  483. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x110.png +0 -0
  484. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x116.png +0 -0
  485. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x160.png +0 -0
  486. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x180.png +0 -0
  487. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x270.png +0 -0
  488. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x480.png +0 -0
  489. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_86x320.png +0 -0
  490. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_aggregate.png +0 -0
  491. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_aggregate_active.png +0 -0
  492. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_cz1.png +0 -0
  493. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_kvma.png +0 -0
  494. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lc1.png +0 -0
  495. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lc2.png +0 -0
  496. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf10.png +0 -0
  497. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf11.png +0 -0
  498. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf12.png +0 -0
  499. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf13.png +0 -0
  500. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf15.png +0 -0
  501. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf8.png +0 -0
  502. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_rgb_lf13.png +0 -0
  503. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_segment.png +0 -0
  504. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_segment_4zone.png +0 -0
  505. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown.png +0 -0
  506. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown_2.png +0 -0
  507. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown_highlight.png +0 -0
  508. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown_highlight_2.png +0 -0
  509. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown_menu.png +0 -0
  510. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown_menu_2.png +0 -0
  511. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_external.png +0 -0
  512. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_external_active.png +0 -0
  513. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_helmet_1.png +0 -0
  514. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_helmet_2.png +0 -0
  515. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_helmet_3.png +0 -0
  516. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_helmet_4.png +0 -0
  517. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_helmet_5.png +0 -0
  518. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_1.png +0 -0
  519. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_2.png +0 -0
  520. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_3.png +0 -0
  521. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_4.png +0 -0
  522. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_5.png +0 -0
  523. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_6.png +0 -0
  524. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_1.png +0 -0
  525. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_2.png +0 -0
  526. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_3.png +0 -0
  527. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_4.png +0 -0
  528. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_5.png +0 -0
  529. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_5_active.png +0 -0
  530. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_6.png +0 -0
  531. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_1.png +0 -0
  532. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_10.png +0 -0
  533. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_10_active.png +0 -0
  534. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_11.png +0 -0
  535. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_11_active.png +0 -0
  536. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_12.png +0 -0
  537. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_12_active.png +0 -0
  538. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_1_active.png +0 -0
  539. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_2.png +0 -0
  540. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_2_active.png +0 -0
  541. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_3.png +0 -0
  542. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_3_active.png +0 -0
  543. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_4.png +0 -0
  544. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_4_active.png +0 -0
  545. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_5.png +0 -0
  546. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_5_active.png +0 -0
  547. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_6.png +0 -0
  548. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_6_active.png +0 -0
  549. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_7.png +0 -0
  550. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_7_active.png +0 -0
  551. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_8.png +0 -0
  552. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_8_active.png +0 -0
  553. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_9.png +0 -0
  554. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_9_active.png +0 -0
  555. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_power.png +0 -0
  556. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_power_active.png +0 -0
  557. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_blue.png +0 -0
  558. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_cyan.png +0 -0
  559. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_green.png +0 -0
  560. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_orange.png +0 -0
  561. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_purple.png +0 -0
  562. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_red.png +0 -0
  563. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_white.png +0 -0
  564. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_yellow.png +0 -0
  565. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_ak120.png +0 -0
  566. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_ax120.png +0 -0
  567. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_cz1.png +0 -0
  568. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_frozen_horizon_pro.png +0 -0
  569. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_frozen_magic_pro.png +0 -0
  570. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lc1.png +0 -0
  571. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lc2.png +0 -0
  572. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf10.png +0 -0
  573. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf11.png +0 -0
  574. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf12.png +0 -0
  575. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf13.png +0 -0
  576. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf15.png +0 -0
  577. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf8.png +0 -0
  578. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_pa120.png +0 -0
  579. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_pa120_space.png +0 -0
  580. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_1.png +0 -0
  581. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_1_active.png +0 -0
  582. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_2.png +0 -0
  583. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_2_active.png +0 -0
  584. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_3.png +0 -0
  585. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_3_active.png +0 -0
  586. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_slider_thumb.png +0 -0
  587. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_1.png +0 -0
  588. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_1_active.png +0 -0
  589. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_2.png +0 -0
  590. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_2_active.png +0 -0
  591. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_3.png +0 -0
  592. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_3_active.png +0 -0
  593. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_4.png +0 -0
  594. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_4_active.png +0 -0
  595. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_1.png +0 -0
  596. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_1_active.png +0 -0
  597. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_2.png +0 -0
  598. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_2_active.png +0 -0
  599. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_3.png +0 -0
  600. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_3_active.png +0 -0
  601. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_4.png +0 -0
  602. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_4_active.png +0 -0
  603. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_5.png +0 -0
  604. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_5_active.png +0 -0
  605. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_6.png +0 -0
  606. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_6_active.png +0 -0
  607. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_sysinfo.png +0 -0
  608. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_en.png +0 -0
  609. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_tc.png +0 -0
  610. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_sysinfo_en.png +0 -0
  611. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_sysinfo_tc.png +0 -0
  612. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_text.png +0 -0
  613. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_text_en.png +0 -0
  614. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_text_tc.png +0 -0
  615. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_time.png +0 -0
  616. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_time_en.png +0 -0
  617. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_time_tc.png +0 -0
  618. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_mode_date.png +0 -0
  619. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_mode_hardware.png +0 -0
  620. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_mode_text.png +0 -0
  621. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_mode_time.png +0 -0
  622. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_mode_weekday.png +0 -0
  623. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_select.png +0 -0
  624. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_110x480.png +0 -0
  625. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_116x480.png +0 -0
  626. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_160x480.png +0 -0
  627. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_180x400.png +0 -0
  628. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_180x480.png +0 -0
  629. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_240x240.png +0 -0
  630. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_240x320.png +0 -0
  631. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_240x400.png +0 -0
  632. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_240x427.png +0 -0
  633. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_270x480.png +0 -0
  634. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_320x240.png +0 -0
  635. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_320x320.png +0 -0
  636. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_320x320_round.png +0 -0
  637. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_320x86.png +0 -0
  638. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_360x360_round.png +0 -0
  639. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_400x180.png +0 -0
  640. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_400x240.png +0 -0
  641. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_427x240.png +0 -0
  642. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x110.png +0 -0
  643. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x116.png +0 -0
  644. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x160.png +0 -0
  645. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x180.png +0 -0
  646. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x270.png +0 -0
  647. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x480.png +0 -0
  648. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x480_round.png +0 -0
  649. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_86x320.png +0 -0
  650. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_animation.png +0 -0
  651. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_btn.png +0 -0
  652. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_btn_active.png +0 -0
  653. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_pause.png +0 -0
  654. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_play.png +0 -0
  655. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_player_control_bg.png +0 -0
  656. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_1280x480.png +0 -0
  657. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_1920x440.png +0 -0
  658. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_1920x462.png +0 -0
  659. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_320x960.png +0 -0
  660. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_360x800.png +0 -0
  661. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_440x1920.png +0 -0
  662. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_462x1920.png +0 -0
  663. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_480x1280.png +0 -0
  664. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_480x800.png +0 -0
  665. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_480x854.png +0 -0
  666. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_540x960.png +0 -0
  667. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_800x360.png +0 -0
  668. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_800x480.png +0 -0
  669. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_854x480.png +0 -0
  670. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_960x320.png +0 -0
  671. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_960x540.png +0 -0
  672. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_res_240x240.png +0 -0
  673. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_res_240x320.png +0 -0
  674. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_res_320x240.png +0 -0
  675. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_res_320x320.png +0 -0
  676. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_round_mask_320x320.png +0 -0
  677. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_round_mask_360x360.png +0 -0
  678. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_round_mask_480x480.png +0 -0
  679. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_video_controls_bg.png +0 -0
  680. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_video_controls_bg_alt.png +0 -0
  681. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/screen_led_deco_1.png +0 -0
  682. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/screen_led_deco_2.png +0 -0
  683. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/screen_led_deco_3.png +0 -0
  684. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/screen_led_deco_4.png +0 -0
  685. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/screen_led_deco_cz1.png +0 -0
  686. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg.png +0 -0
  687. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_d.png +0 -0
  688. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_e.png +0 -0
  689. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_en.png +0 -0
  690. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_f.png +0 -0
  691. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_h.png +0 -0
  692. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_p.png +0 -0
  693. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_r.png +0 -0
  694. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_tc.png +0 -0
  695. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_x.png +0 -0
  696. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_content.png +0 -0
  697. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_content_btn.png +0 -0
  698. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_content_mask.png +0 -0
  699. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_date.png +0 -0
  700. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_date_1.png +0 -0
  701. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_icon.png +0 -0
  702. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_link_1.png +0 -0
  703. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_text.png +0 -0
  704. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_text_1.png +0 -0
  705. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_time.png +0 -0
  706. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_time_1.png +0 -0
  707. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_weekday.png +0 -0
  708. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_weekday_1.png +0 -0
  709. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_anim_sync.png +0 -0
  710. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_background.png +0 -0
  711. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_brightness.png +0 -0
  712. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_keyboard_sync_1.png +0 -0
  713. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_keyboard_sync_2.png +0 -0
  714. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_keyboard_sync_3.png +0 -0
  715. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_module.png +0 -0
  716. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_overlay.png +0 -0
  717. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_overlay_add_bg.png +0 -0
  718. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_overlay_color_bg.png +0 -0
  719. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_overlay_grid_bg.png +0 -0
  720. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_overlay_table_bg.png +0 -0
  721. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_params.png +0 -0
  722. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_brightness_bar.png +0 -0
  723. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_checkbox_off.png +0 -0
  724. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_checkbox_on.png +0 -0
  725. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_clip_a.png +0 -0
  726. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_clip_b.png +0 -0
  727. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_close.png +0 -0
  728. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_close_2.png +0 -0
  729. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_dropdown.png +0 -0
  730. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_dropdown_bg_2x.png +0 -0
  731. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_dropdown_bg_4x.png +0 -0
  732. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_dropdown_highlight.png +0 -0
  733. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_loading_animation.png +0 -0
  734. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_progress_bar.png +0 -0
  735. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_round_close.png +0 -0
  736. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_round_confirm.png +0 -0
  737. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_scrollbar_bg.png +0 -0
  738. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_scrollbar_thumb.png +0 -0
  739. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_shortcut_size_slider.png +0 -0
  740. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_thread_multi.png +0 -0
  741. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_thread_single.png +0 -0
  742. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_toggle_off.png +0 -0
  743. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_toggle_on.png +0 -0
  744. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel.png +0 -0
  745. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_d.png +0 -0
  746. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_e.png +0 -0
  747. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_en.png +0 -0
  748. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_f.png +0 -0
  749. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_p.png +0 -0
  750. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_r.png +0 -0
  751. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_tc.png +0 -0
  752. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_x.png +0 -0
  753. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_about.png +0 -0
  754. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_about_active.png +0 -0
  755. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_about_bg.png +0 -0
  756. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_bg.png +0 -0
  757. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_no_device.png +0 -0
  758. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_sensor.png +0 -0
  759. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_sensor_active.png +0 -0
  760. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_splash.png +0 -0
  761. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_sysinfo_bg.png +0 -0
  762. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_a.png +0 -0
  763. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_a_180.png +0 -0
  764. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_a_270.png +0 -0
  765. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_a_90.png +0 -0
  766. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_b.png +0 -0
  767. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_b_180.png +0 -0
  768. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_b_270.png +0 -0
  769. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_b_90.png +0 -0
  770. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_c.png +0 -0
  771. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_c_180.png +0 -0
  772. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_c_270.png +0 -0
  773. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_c_90.png +0 -0
  774. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_add_group.png +0 -0
  775. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_cpu.png +0 -0
  776. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_custom.png +0 -0
  777. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_dram.png +0 -0
  778. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_fan.png +0 -0
  779. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_gpu.png +0 -0
  780. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_hdd.png +0 -0
  781. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_net.png +0 -0
  782. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_next_page.png +0 -0
  783. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_prev_page.png +0 -0
  784. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_scrollbar.png +0 -0
  785. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_select.png +0 -0
  786. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_browser_filter.png +0 -0
  787. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_browser_filter_active.png +0 -0
  788. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label.png +0 -0
  789. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_d.png +0 -0
  790. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_e.png +0 -0
  791. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_en.png +0 -0
  792. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_f.png +0 -0
  793. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_h.png +0 -0
  794. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_p.png +0 -0
  795. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_r.png +0 -0
  796. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_tc.png +0 -0
  797. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_x.png +0 -0
  798. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_carousel.png +0 -0
  799. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_carousel_active.png +0 -0
  800. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_export_all.png +0 -0
  801. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_multi_select.png +0 -0
  802. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_multi_select_active.png +0 -0
  803. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_select_frame.png +0 -0
  804. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_select_frame_active.png +0 -0
  805. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_mask_label.png +0 -0
  806. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_110x480.png +0 -0
  807. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_116x480.png +0 -0
  808. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_1280x480.png +0 -0
  809. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_160x480.png +0 -0
  810. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_180x400.png +0 -0
  811. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_180x480.png +0 -0
  812. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_240x240.png +0 -0
  813. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_240x320.png +0 -0
  814. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_240x400.png +0 -0
  815. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_240x427.png +0 -0
  816. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_270x480.png +0 -0
  817. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_320x240.png +0 -0
  818. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_320x320.png +0 -0
  819. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_320x86.png +0 -0
  820. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_360x360.png +0 -0
  821. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_400x180.png +0 -0
  822. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_400x240.png +0 -0
  823. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_427x240.png +0 -0
  824. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x110.png +0 -0
  825. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x116.png +0 -0
  826. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x160.png +0 -0
  827. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x180.png +0 -0
  828. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x270.png +0 -0
  829. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x480.png +0 -0
  830. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_86x320.png +0 -0
  831. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_bg.png +0 -0
  832. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_bg_alt.png +0 -0
  833. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets.py +0 -0
  834. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/base.py +0 -0
  835. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/base_handler.py +0 -0
  836. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/bus_bridge.py +0 -0
  837. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/color_and_add_panels.py +0 -0
  838. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/constants.py +0 -0
  839. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/display_mode_panels.py +0 -0
  840. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/eyedropper.py +0 -0
  841. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/led_handler.py +0 -0
  842. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/overlay_element.py +0 -0
  843. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/overlay_grid.py +0 -0
  844. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/pipewire_capture.py +0 -0
  845. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/screen_capture.py +0 -0
  846. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/splash.py +0 -0
  847. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/trcc_app.py +0 -0
  848. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_about.py +0 -0
  849. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_activity_sidebar.py +0 -0
  850. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_color_wheel.py +0 -0
  851. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_device.py +0 -0
  852. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_image_cut.py +0 -0
  853. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_info_module.py +0 -0
  854. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_preview.py +0 -0
  855. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_sensor_picker.py +0 -0
  856. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_system_info.py +0 -0
  857. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_theme_local.py +0 -0
  858. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_theme_mask.py +0 -0
  859. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_theme_setting.py +0 -0
  860. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_theme_web.py +0 -0
  861. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_video_cut.py +0 -0
  862. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/__init__.py +0 -0
  863. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/device_presentation.py +0 -0
  864. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/lcd_panel.py +0 -0
  865. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/lcd_presentation_model.py +0 -0
  866. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/led_metrics_format.py +0 -0
  867. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/led_panel.py +0 -0
  868. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/led_zone_model.py +0 -0
  869. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/overlay_model.py +0 -0
  870. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/overlay_serialization.py +0 -0
  871. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/preview_geometry.py +0 -0
  872. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/sensor_display.py +0 -0
  873. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/presentation/slideshow_model.py +0 -0
  874. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/assets.py +0 -0
  875. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/base.py +0 -0
  876. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/bus_bridge.py +0 -0
  877. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/color_wheel.py +0 -0
  878. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/device_picker.py +0 -0
  879. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/eyedropper.py +0 -0
  880. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/image_crop.py +0 -0
  881. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/__init__.py +0 -0
  882. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/about_panel.py +0 -0
  883. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/cloud_theme_browser.py +0 -0
  884. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/configuration_panel.py +0 -0
  885. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/device_panel.py +0 -0
  886. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/display_panel.py +0 -0
  887. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/__init__.py +0 -0
  888. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/_base.py +0 -0
  889. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/advanced_tab.py +0 -0
  890. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/color_tab.py +0 -0
  891. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/mode_tab.py +0 -0
  892. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/segment_tab.py +0 -0
  893. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/zone_tab.py +0 -0
  894. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led_panel.py +0 -0
  895. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/local_theme_browser.py +0 -0
  896. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/mask_browser.py +0 -0
  897. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/overlay_editor.py +0 -0
  898. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/preview_panel.py +0 -0
  899. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/screencast_panel.py +0 -0
  900. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/sidebar.py +0 -0
  901. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/status_panel.py +0 -0
  902. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/system_panel.py +0 -0
  903. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/region_overlay.py +0 -0
  904. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/screen_overlay.py +0 -0
  905. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/sensor_picker.py +0 -0
  906. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/splash.py +0 -0
  907. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/video_crop.py +0 -0
  908. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/__init__.py +0 -0
  909. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/adapters/infra/__init__.py +0 -0
  910. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/adapters/infra/test_sysinfo_config_fan_map.py +0 -0
  911. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/adapters/system/test_elevate.py +0 -0
  912. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/adapters/system/test_imc_timings.py +0 -0
  913. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/adapters/system/test_linux_imc.py +0 -0
  914. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/adapters/system/test_spd.py +0 -0
  915. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/adapters/system/test_windows_mem_disk.py +0 -0
  916. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/adapters/system/test_windows_permissions.py +0 -0
  917. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/adapters/system/test_windows_wmi_seam.py +0 -0
  918. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/conftest.py +0 -0
  919. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_app_senders.py +0 -0
  920. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_architecture_boundaries.py +0 -0
  921. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_autostart.py +0 -0
  922. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_autostart_macos.py +0 -0
  923. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_autostart_windows.py +0 -0
  924. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_backend_finish.py +0 -0
  925. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_boot_animation_command.py +0 -0
  926. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_boot_animation_device.py +0 -0
  927. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_clock.py +0 -0
  928. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_cloud_themes.py +0 -0
  929. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_commands.py +0 -0
  930. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_connect_failure_hints.py +0 -0
  931. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_connection_issues.py +0 -0
  932. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_control_center.py +0 -0
  933. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_daemon.py +0 -0
  934. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_data_install.py +0 -0
  935. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_dc_codec.py +0 -0
  936. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_dc_reader.py +0 -0
  937. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_device_catalog_smoke.py +0 -0
  938. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_device_recovery.py +0 -0
  939. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_device_sender.py +0 -0
  940. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_device_surface_matrix.py +0 -0
  941. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_diagnose_parse_report.py +0 -0
  942. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_diagnostics.py +0 -0
  943. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_display_tweaks.py +0 -0
  944. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_first_run_and_migration.py +0 -0
  945. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_gpu_extras_install.py +0 -0
  946. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_gpu_preference.py +0 -0
  947. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_gui_empty_state.py +0 -0
  948. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_gui_entry_exit.py +0 -0
  949. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_gui_panels.py +0 -0
  950. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_gui_raise_existing.py +0 -0
  951. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_hid_lcd_geometry.py +0 -0
  952. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_hotplug.py +0 -0
  953. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_hotplug_bsd.py +0 -0
  954. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_hotplug_polling.py +0 -0
  955. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_hotplug_windows.py +0 -0
  956. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_i18n.py +0 -0
  957. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_integration_pipeline.py +0 -0
  958. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_ipc_server.py +0 -0
  959. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_ipc_windows_fallback.py +0 -0
  960. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_ipc_wire.py +0 -0
  961. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_lcd_panel_model.py +0 -0
  962. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_led_animation_loop.py +0 -0
  963. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_led_assets.py +0 -0
  964. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_led_display_model.py +0 -0
  965. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_led_effects.py +0 -0
  966. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_led_handler_requires_app.py +0 -0
  967. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_led_panel_model.py +0 -0
  968. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_led_remap.py +0 -0
  969. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_led_send.py +0 -0
  970. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_led_settings_commands.py +0 -0
  971. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_library_migration.py +0 -0
  972. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_ly_lcd_geometry.py +0 -0
  973. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_manpages.py +0 -0
  974. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_mask_commands.py +0 -0
  975. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_mask_rendering.py +0 -0
  976. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_metrics_personalize.py +0 -0
  977. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_mock_reply_override.py +0 -0
  978. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_models.py +0 -0
  979. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_orientation_cloud_background.py +0 -0
  980. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_orientation_reload.py +0 -0
  981. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_overlay_clock.py +0 -0
  982. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_overlay_element_id.py +0 -0
  983. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_overlay_grid_adapter.py +0 -0
  984. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_overlay_metric_unit.py +0 -0
  985. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_overlay_resolve.py +0 -0
  986. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_overlay_show_unit.py +0 -0
  987. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_packaging_entrypoints.py +0 -0
  988. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_platform_hw_probes.py +0 -0
  989. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_pyusb_find_seam.py +0 -0
  990. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_quickstart.py +0 -0
  991. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_render_led.py +0 -0
  992. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_run_setup_order.py +0 -0
  993. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_scsi_lcd_geometry.py +0 -0
  994. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_selinux_install.py +0 -0
  995. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_send_color.py +0 -0
  996. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_sensor_chain.py +0 -0
  997. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_sensors.py +0 -0
  998. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_sensors_bsd.py +0 -0
  999. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_sensors_lhm_subprocess.py +0 -0
  1000. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_sensors_macos.py +0 -0
  1001. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_sensors_nvml.py +0 -0
  1002. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_sensors_windows.py +0 -0
  1003. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_settings_migration.py +0 -0
  1004. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_shell.py +0 -0
  1005. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_system_commands.py +0 -0
  1006. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_system_resume.py +0 -0
  1007. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_theme_persistence.py +0 -0
  1008. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_theme_service.py +0 -0
  1009. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_transports.py +0 -0
  1010. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_udev.py +0 -0
  1011. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_ui_surfaces_smoke.py +0 -0
  1012. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_variant_presentation_audit.py +0 -0
  1013. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_video_cache.py +0 -0
  1014. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_video_playback.py +0 -0
  1015. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_wire_rotation.py +0 -0
  1016. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/test_wmi_gpu_fallback.py +0 -0
  1017. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_device_presentation.py +0 -0
  1018. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_lcd_presentation_model.py +0 -0
  1019. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_led_metrics_format.py +0 -0
  1020. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_led_zone_model.py +0 -0
  1021. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_overlay_model.py +0 -0
  1022. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_overlay_view_binding.py +0 -0
  1023. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_preview_geometry.py +0 -0
  1024. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_sensor_display.py +0 -0
  1025. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_slideshow_model.py +0 -0
  1026. {trcc_linux-9.8.6 → trcc_linux-9.8.8}/tests/ui/presentation/test_theme_local_binding.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trcc-linux
3
- Version: 9.8.6
3
+ Version: 9.8.8
4
4
  Summary: Linux implementation of Thermalright LCD Control Center
5
5
  Project-URL: Homepage, https://github.com/Lexonight1/thermalright-trcc-linux
6
6
  Project-URL: Documentation, https://github.com/Lexonight1/thermalright-trcc-linux#readme
@@ -126,7 +126,7 @@ Description-Content-Type: text/markdown
126
126
 
127
127
  Native Linux port of the Thermalright LCD Control Center (Windows TRCC 2.1.2). Control and customize the LCD displays and LED segment displays on Thermalright CPU coolers, AIO pump heads, and fan hubs — entirely from Linux.
128
128
 
129
- > **This project wouldn't exist without our testers.** I only own one device. Every supported device in this list works because someone plugged it in, ran `trcc report`, and told me what broke. 32 testers helped us go from "SCSI only" to full C# feature parity with 6 USB protocols, 16 FBL resolutions, and 12 LED styles. Open source at its best — see [Contributors](#contributors) below.
129
+ > **This project wouldn't exist without our testers.** I only own one device. Every supported device in this list works because someone plugged it in, ran `trcc report`, and told me what broke. 32 testers helped us go from "SCSI only" to full C# feature parity with 6 USB protocols, 16 FBL resolutions, and 13 LED styles. Open source at its best — see [Contributors](#contributors) below.
130
130
 
131
131
  > Unofficial community project, not affiliated with Thermalright. Built with [Claude](https://claude.ai) (AI) for protocol reverse engineering and code generation, guided by human architecture decisions and logical assessment.
132
132
 
@@ -306,7 +306,7 @@ Set the angle to **90°** (or 270°) in the GUI, then open **Cloud Themes** —
306
306
  | **Media** | Video/GIF playback on LCD, video trimmer, image cropper, screen cast (X11 + Wayland), mic audio visualization |
307
307
  | **Overlay Editor** | Text, sensors, date/time overlays — font picker, dynamic scaling, color picker |
308
308
  | **Hardware Sensors** | 77+ sensors — CPU/GPU temp, fan speed, power, usage — customizable dashboard |
309
- | **LED Control** | 12 LED styles, zone carousel, breathing/rainbow/static/wave modes, per-zone color |
309
+ | **LED Control** | 13 LED styles, zone carousel, breathing/rainbow/static/wave modes, per-zone color |
310
310
  | **Display** | 16 resolutions (240x240 to 1920x462), 0/90/180/270 rotation, 3 brightness levels |
311
311
  | **Multi-device** | Per-device config, auto-detect, multi-device with device selection |
312
312
  | **Security** | udev rules, polkit policy, SELinux support, no root required after setup |
@@ -364,7 +364,7 @@ Run `lsusb` to find your USB ID (`xxxx:xxxx` after `ID`), then match it below.
364
364
  **HID LED devices** — RGB LED control:
365
365
  | USB ID | Devices |
366
366
  |--------|---------|
367
- | `0416:8001` | AX120 DIGITAL, PA120 DIGITAL, Peerless Assassin 120 DIGITAL ARGB White, Assassin X 120R Digital ARGB, Phantom Spirit 120 Digital EVO, HR10 2280 PRO Digital, and others (model auto-detected via handshake) |
367
+ | `0416:8001` | AX120 DIGITAL, PA120 DIGITAL, Peerless Assassin 120 DIGITAL ARGB White, Assassin X 120R Digital ARGB, Phantom Spirit 120 Digital EVO, HR10 2280 PRO Digital, Magic Qube, and others (model auto-detected via handshake) |
368
368
 
369
369
  > See the [full device list with protocol details](doc/REFERENCE_DEVICES.md) and the [Device Testing Guide](doc/GUIDE_DEVICE_TESTING.md) if you have an untested device.
370
370
 
@@ -409,20 +409,21 @@ If a probe goes `BAD`, that's the bug — fix in `src/`, re-run, see `PASS`. Eve
409
409
  | HID Type 3 | pyusb interrupt | TARAN ARMS |
410
410
  | Bulk | pyusb bulk | GrandVision 360, Mjolnir Vision 360, Wonder Vision Pro 360, Frozen Warframe Pro |
411
411
  | LY | pyusb bulk (chunked) | Trofeo Vision 9.16 LCD |
412
- | LED | pyusb HID | All LED segment display devices (12 styles) |
412
+ | LED | pyusb HID | All LED segment display devices (13 styles) |
413
413
 
414
414
  ## Code Contributors
415
415
 
416
416
  These folks didn't just report a problem — they opened the editor and sent a fix. On a solo project, a merged pull request is about the most generous thing you can do, and every one of these shipped to every user:
417
417
 
418
+ - **[@jphilipb](https://github.com/jphilipb)** — [#215](https://github.com/Lexonight1/thermalright-trcc-linux/pull/215): reverse-engineered and hardware-validated the Thermalright Magic Qube (65-LED segment display) — a device that doesn't even exist in the Windows app — and wired up full support from scratch.
418
419
  - **[@Hythera](https://github.com/Hythera)** — [#209](https://github.com/Lexonight1/thermalright-trcc-linux/pull/209): had the flake read its version straight from `pyproject.toml`, killing an entire place I used to have to bump by hand every release.
419
420
  - **[@elsiedotcafe](https://github.com/elsiedotcafe)** — [#123](https://github.com/Lexonight1/thermalright-trcc-linux/pull/123): pinned the PySide6 package to a stable source so the build stops breaking.
420
421
 
421
- Thank you both — genuinely. PRs are always welcome, and you'll land right here.
422
+ Thank you all — genuinely. PRs are always welcome, and you'll land right here.
422
423
 
423
424
  ## Contributors
424
425
 
425
- A huge thank you to every single person who filed an issue, pasted a `trcc report`, or just said "it doesn't work." You are the reason this project supports 6 USB protocols, 16 resolutions, and 12 LED styles from a single developer with one device. Every bug report, every test on hardware I don't own, every "hey this is broken" — that's open source at its best. You're not wasting your time. You're building something together.
426
+ A huge thank you to every single person who filed an issue, pasted a `trcc report`, or just said "it doesn't work." You are the reason this project supports 6 USB protocols, 16 resolutions, and 13 LED styles from a single developer with one device. Every bug report, every test on hardware I don't own, every "hey this is broken" — that's open source at its best. You're not wasting your time. You're building something together.
426
427
 
427
428
  Special thanks to everyone who has contributed invaluable reports to this project:
428
429
 
@@ -53,7 +53,7 @@
53
53
 
54
54
  Native Linux port of the Thermalright LCD Control Center (Windows TRCC 2.1.2). Control and customize the LCD displays and LED segment displays on Thermalright CPU coolers, AIO pump heads, and fan hubs — entirely from Linux.
55
55
 
56
- > **This project wouldn't exist without our testers.** I only own one device. Every supported device in this list works because someone plugged it in, ran `trcc report`, and told me what broke. 32 testers helped us go from "SCSI only" to full C# feature parity with 6 USB protocols, 16 FBL resolutions, and 12 LED styles. Open source at its best — see [Contributors](#contributors) below.
56
+ > **This project wouldn't exist without our testers.** I only own one device. Every supported device in this list works because someone plugged it in, ran `trcc report`, and told me what broke. 32 testers helped us go from "SCSI only" to full C# feature parity with 6 USB protocols, 16 FBL resolutions, and 13 LED styles. Open source at its best — see [Contributors](#contributors) below.
57
57
 
58
58
  > Unofficial community project, not affiliated with Thermalright. Built with [Claude](https://claude.ai) (AI) for protocol reverse engineering and code generation, guided by human architecture decisions and logical assessment.
59
59
 
@@ -233,7 +233,7 @@ Set the angle to **90°** (or 270°) in the GUI, then open **Cloud Themes** —
233
233
  | **Media** | Video/GIF playback on LCD, video trimmer, image cropper, screen cast (X11 + Wayland), mic audio visualization |
234
234
  | **Overlay Editor** | Text, sensors, date/time overlays — font picker, dynamic scaling, color picker |
235
235
  | **Hardware Sensors** | 77+ sensors — CPU/GPU temp, fan speed, power, usage — customizable dashboard |
236
- | **LED Control** | 12 LED styles, zone carousel, breathing/rainbow/static/wave modes, per-zone color |
236
+ | **LED Control** | 13 LED styles, zone carousel, breathing/rainbow/static/wave modes, per-zone color |
237
237
  | **Display** | 16 resolutions (240x240 to 1920x462), 0/90/180/270 rotation, 3 brightness levels |
238
238
  | **Multi-device** | Per-device config, auto-detect, multi-device with device selection |
239
239
  | **Security** | udev rules, polkit policy, SELinux support, no root required after setup |
@@ -291,7 +291,7 @@ Run `lsusb` to find your USB ID (`xxxx:xxxx` after `ID`), then match it below.
291
291
  **HID LED devices** — RGB LED control:
292
292
  | USB ID | Devices |
293
293
  |--------|---------|
294
- | `0416:8001` | AX120 DIGITAL, PA120 DIGITAL, Peerless Assassin 120 DIGITAL ARGB White, Assassin X 120R Digital ARGB, Phantom Spirit 120 Digital EVO, HR10 2280 PRO Digital, and others (model auto-detected via handshake) |
294
+ | `0416:8001` | AX120 DIGITAL, PA120 DIGITAL, Peerless Assassin 120 DIGITAL ARGB White, Assassin X 120R Digital ARGB, Phantom Spirit 120 Digital EVO, HR10 2280 PRO Digital, Magic Qube, and others (model auto-detected via handshake) |
295
295
 
296
296
  > See the [full device list with protocol details](doc/REFERENCE_DEVICES.md) and the [Device Testing Guide](doc/GUIDE_DEVICE_TESTING.md) if you have an untested device.
297
297
 
@@ -336,20 +336,21 @@ If a probe goes `BAD`, that's the bug — fix in `src/`, re-run, see `PASS`. Eve
336
336
  | HID Type 3 | pyusb interrupt | TARAN ARMS |
337
337
  | Bulk | pyusb bulk | GrandVision 360, Mjolnir Vision 360, Wonder Vision Pro 360, Frozen Warframe Pro |
338
338
  | LY | pyusb bulk (chunked) | Trofeo Vision 9.16 LCD |
339
- | LED | pyusb HID | All LED segment display devices (12 styles) |
339
+ | LED | pyusb HID | All LED segment display devices (13 styles) |
340
340
 
341
341
  ## Code Contributors
342
342
 
343
343
  These folks didn't just report a problem — they opened the editor and sent a fix. On a solo project, a merged pull request is about the most generous thing you can do, and every one of these shipped to every user:
344
344
 
345
+ - **[@jphilipb](https://github.com/jphilipb)** — [#215](https://github.com/Lexonight1/thermalright-trcc-linux/pull/215): reverse-engineered and hardware-validated the Thermalright Magic Qube (65-LED segment display) — a device that doesn't even exist in the Windows app — and wired up full support from scratch.
345
346
  - **[@Hythera](https://github.com/Hythera)** — [#209](https://github.com/Lexonight1/thermalright-trcc-linux/pull/209): had the flake read its version straight from `pyproject.toml`, killing an entire place I used to have to bump by hand every release.
346
347
  - **[@elsiedotcafe](https://github.com/elsiedotcafe)** — [#123](https://github.com/Lexonight1/thermalright-trcc-linux/pull/123): pinned the PySide6 package to a stable source so the build stops breaking.
347
348
 
348
- Thank you both — genuinely. PRs are always welcome, and you'll land right here.
349
+ Thank you all — genuinely. PRs are always welcome, and you'll land right here.
349
350
 
350
351
  ## Contributors
351
352
 
352
- A huge thank you to every single person who filed an issue, pasted a `trcc report`, or just said "it doesn't work." You are the reason this project supports 6 USB protocols, 16 resolutions, and 12 LED styles from a single developer with one device. Every bug report, every test on hardware I don't own, every "hey this is broken" — that's open source at its best. You're not wasting your time. You're building something together.
353
+ A huge thank you to every single person who filed an issue, pasted a `trcc report`, or just said "it doesn't work." You are the reason this project supports 6 USB protocols, 16 resolutions, and 13 LED styles from a single developer with one device. Every bug report, every test on hardware I don't own, every "hey this is broken" — that's open source at its best. You're not wasting your time. You're building something together.
353
354
 
354
355
  Special thanks to everyone who has contributed invaluable reports to this project:
355
356
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "trcc-linux"
7
- version = "9.8.6"
7
+ version = "9.8.8"
8
8
  description = "Linux implementation of Thermalright LCD Control Center"
9
9
  readme = "README.md"
10
10
  license = "GPL-3.0-or-later"
@@ -1,4 +1,4 @@
1
1
  """TRCC Linux version information. History in doc/CHANGELOG.md."""
2
2
 
3
- __version__ = "9.8.6"
3
+ __version__ = "9.8.8"
4
4
  __version_info__ = tuple(int(x) for x in __version__.split("."))
@@ -71,7 +71,8 @@ class DeviceFactory:
71
71
 
72
72
  # Side-effect imports: load each device module so its @register decorator
73
73
  # fires and populates the registry above. Anything that imports
74
- # ``trcc.adapters.device`` triggers all five.
74
+ # ``trcc.adapters.device`` triggers them all.
75
+ from . import ali_lcd as _ali_lcd # noqa: E402, F401
75
76
  from . import bulk_lcd as _bulk_lcd # noqa: E402, F401
76
77
  from . import hid_lcd as _hid_lcd # noqa: E402, F401
77
78
  from . import led as _led # noqa: E402, F401
@@ -0,0 +1,141 @@
1
+ """AliLcd — Device implementation for USBLCDNew "Ali" variant LCD hardware.
2
+
3
+ A DISTINCT bulk protocol from BulkLcd (GrandVision). The Ali device
4
+ (0416:5406, Elite Vision 360 ARGB) is driven by its own C# worker thread
5
+ ``ThreadSendDeviceDataALi`` (USBLCDNEW.decompiled.cs:548) — different write
6
+ endpoint, handshake, validation, and a fixed 320x320 RGB565 canvas. Sharing
7
+ BulkLcd would mean a wire-selecting branch inside one class; the C# itself
8
+ splits the two into separate threads, so we mirror that with a separate wire.
9
+
10
+ Handshake: write 16-byte request + 1024 zero pad → EP 0x02 (cs:571-577),
11
+ read 1024 → validate resp[0] in (101, 102) (cs:610).
12
+ Frame send: 16-byte header + 320x320 RGB565 (204800 B) → EP 0x02,
13
+ then read a 16-byte ack (cs:646-660). Fixed 204800-B buffer
14
+ (cs:628) — no PM/resolution table for this device.
15
+ """
16
+ from __future__ import annotations
17
+
18
+ import logging
19
+
20
+ from ...core.errors import HandshakeError, TransportError
21
+ from ...core.models import HandshakeResult, ProductInfo, Wire
22
+ from ...core.ports import BulkTransport, Device
23
+ from ...core.protocol import DeviceProfile
24
+ from . import DeviceFactory
25
+
26
+ log = logging.getLogger(__name__)
27
+
28
+
29
+ # ── Wire constants (line-cited to USBLCDNEW.decompiled.cs) ──────────────
30
+
31
+ _EP_WRITE = 0x02 # WriteEndpointID.Ep02 (cs:569) — NOT 0x01 (GrandVision)
32
+ _EP_READ = 0x81 # ReadEndpointID.Ep01 (cs:568)
33
+
34
+ # 16-byte handshake request + 1024-byte zero pad (cs:571-577).
35
+ _HANDSHAKE_REQUEST = bytes([
36
+ 0xF5, 0x00, 0x01, 0x00, 0xBC, 0xFF, 0xB6, 0xC8,
37
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
38
+ ]) + bytes(1024)
39
+
40
+ # 16-byte frame header (cs:646-650); bytes[12:16] LE = 0x032000 = 204800.
41
+ _FRAME_HEADER = bytes([
42
+ 0xF5, 0x01, 0x01, 0x00, 0xBC, 0xFF, 0xB6, 0xC8,
43
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00,
44
+ ])
45
+
46
+ _HANDSHAKE_READ_SIZE = 1024 # byte[1024] read buffer (cs:570)
47
+ _ACK_READ_SIZE = 16 # Read(first, 0, 16, ...) (cs:660)
48
+ _HANDSHAKE_TIMEOUT_MS = 1000
49
+ _WRITE_TIMEOUT_MS = 5000
50
+ _READ_TIMEOUT_MS = 1000
51
+
52
+ # Fixed 320x320 RGB565 — new byte[204800] = 320*320*2 (cs:628).
53
+ _WIDTH = 320
54
+ _HEIGHT = 320
55
+ _FRAME_BYTES = _WIDTH * _HEIGHT * 2
56
+ _VALID_IDENTITY = (101, 102) # resp[0] (cs:610)
57
+
58
+
59
+ @DeviceFactory.register(Wire.BULK_ALI)
60
+ class AliLcd(Device[BulkTransport]):
61
+ """USBLCDNew "Ali" bulk LCD (fixed 320x320 RGB565)."""
62
+
63
+ def __init__(self, info: ProductInfo, transport: BulkTransport) -> None:
64
+ super().__init__(info, transport)
65
+ # Fixed canvas — the C# hardcodes the 204800-B buffer, no PM table.
66
+ self._profile = DeviceProfile(_WIDTH, _HEIGHT, jpeg=False, big_endian=True)
67
+
68
+ @property
69
+ def profile(self) -> DeviceProfile | None:
70
+ """Fixed 320x320 RGB565 profile (no handshake-derived geometry)."""
71
+ return self._profile
72
+
73
+ # ── Device ABC ────────────────────────────────────────────────────
74
+
75
+ def connect(self) -> HandshakeResult:
76
+ log.info("AliLcd %s: opening transport", self.info.key)
77
+ if not self._transport.open():
78
+ log.error("AliLcd %s: transport open failed", self.info.key)
79
+ raise HandshakeError(f"Failed to open USB transport for {self.info.key}")
80
+
81
+ try:
82
+ self._transport.write(_EP_WRITE, _HANDSHAKE_REQUEST, _HANDSHAKE_TIMEOUT_MS)
83
+ resp = self._transport.read(_EP_READ, _HANDSHAKE_READ_SIZE, _HANDSHAKE_TIMEOUT_MS)
84
+ except TransportError as e:
85
+ log.error("AliLcd %s: handshake I/O failed: %s", self.info.key, e)
86
+ raise HandshakeError(f"AliLcd handshake I/O failed: {e}") from e
87
+
88
+ if len(resp) < 1 or resp[0] not in _VALID_IDENTITY:
89
+ log.error(
90
+ "AliLcd %s: handshake validation failed (len=%d, resp[0]=%s)",
91
+ self.info.key, len(resp), resp[0] if resp else "N/A",
92
+ )
93
+ raise HandshakeError(
94
+ f"AliLcd handshake validation failed "
95
+ f"(len={len(resp)}, resp[0]={resp[0] if resp else 'N/A'})"
96
+ )
97
+
98
+ model_id = resp[0] - 1 # obj3[0] = array[0] - 1 (cs:614)
99
+ result = HandshakeResult(
100
+ resolution=self._profile.resolution,
101
+ model_id=model_id,
102
+ pm_byte=resp[0],
103
+ fbl=self.info.fbl,
104
+ raw_response=bytes(resp[:64]),
105
+ )
106
+ self._handshake = result
107
+ log.info("AliLcd handshake OK: resp[0]=%d model_id=%d resolution=%s (RGB565)",
108
+ resp[0], model_id, result.resolution)
109
+ return result
110
+
111
+ def send(self, payload: bytes) -> bool:
112
+ if not self._transport.is_open or self._handshake is None:
113
+ log.error("AliLcd %s: send() called before connect()", self.info.key)
114
+ raise TransportError(
115
+ f"AliLcd {self.info.key} not connected — call connect() first"
116
+ )
117
+
118
+ if len(payload) != _FRAME_BYTES:
119
+ log.warning("AliLcd %s: payload is %d bytes, expected %d (320x320 RGB565)",
120
+ self.info.key, len(payload), _FRAME_BYTES)
121
+
122
+ frame = _FRAME_HEADER + payload
123
+ log.debug("AliLcd %s: sending %d-byte frame (RGB565, 320x320)",
124
+ self.info.key, len(frame))
125
+
126
+ def _write_frame() -> bool:
127
+ # C# writes the header+buffer in one transfer, then reads a 16-B ack
128
+ # (cs:653-660). One write call; PyUSB splits into USB packets.
129
+ self._transport.write(_EP_WRITE, frame, _WRITE_TIMEOUT_MS)
130
+ self._transport.read(_EP_READ, _ACK_READ_SIZE, _READ_TIMEOUT_MS)
131
+ return True
132
+
133
+ # Shared reconnect + recovery policy (base Device): one in-place
134
+ # close→open→handshake retry absorbs an intermittent NAK / heals a
135
+ # stale handle after resume, before escalating to the recovery tracker.
136
+ return self._send_with_recovery(_write_frame)
137
+
138
+ def disconnect(self) -> None:
139
+ log.info("AliLcd %s: disconnecting", self.info.key)
140
+ self._transport.close()
141
+ self._handshake = None
@@ -26,7 +26,13 @@ from ...core.errors import (
26
26
  UnsupportedOperationError,
27
27
  )
28
28
  from ...core.led_models import LedPayload
29
- from ...core.led_protocol import remap_led_colors, resolve_pm
29
+ from ...core.led_protocol import (
30
+ is_fingerprint_header,
31
+ remap_led_colors,
32
+ resolve_handshake,
33
+ resolve_model_name,
34
+ resolve_pm,
35
+ )
30
36
  from ...core.models import HandshakeResult, LedHandshakeResult, ProductInfo, Wire
31
37
  from ...core.ports import BulkTransport, Device
32
38
  from . import DeviceFactory
@@ -206,11 +212,15 @@ class Led(Device[BulkTransport]):
206
212
  time.sleep(_HANDSHAKE_RETRY_DELAY_S)
207
213
  continue
208
214
 
209
- # Windows DeviceDataReceived1 doesn't validate magic/cmd —
210
- # we warn on mismatch but accept.
211
- if resp[0:4] != _MAGIC:
212
- log.warning("Led handshake: unexpected magic %s", resp[0:4].hex())
213
- if len(resp) > 12 and resp[12] != 1:
215
+ # Windows DeviceDataReceived1 doesn't validate magic/cmd — we
216
+ # accept regardless. A recognised fingerprint header (e.g. the
217
+ # Magic Qube's DC DD AA 01) is expected, so only warn on a truly
218
+ # unknown magic / cmd byte.
219
+ header = bytes(resp[0:4])
220
+ recognised = is_fingerprint_header(header)
221
+ if header != _MAGIC and not recognised:
222
+ log.warning("Led handshake: unexpected magic %s", header.hex())
223
+ if len(resp) > 12 and resp[12] != 1 and not recognised:
214
224
  log.warning("Led handshake: unexpected cmd byte %d", resp[12])
215
225
 
216
226
  # PM and SUB extraction — matches Windows UCDevice.cs offsets:
@@ -218,10 +228,13 @@ class Led(Device[BulkTransport]):
218
228
  self._pm = resp[5]
219
229
  self._sub = resp[4]
220
230
 
221
- # PM byte → device style + readable model name. Falls back to
222
- # the registry's ``led_style`` / ``product`` when the firmware
223
- # reports a PM not in PmRegistry (e.g. a new SKU).
224
- entry = resolve_pm(self._pm, self._sub)
231
+ # Handshake → device style + readable model name. The header
232
+ # fingerprint wins first (some SKUs reuse a PM byte but ship a
233
+ # distinct handshake header e.g. the Magic Qube shares PM=208
234
+ # with CZ1 but answers with DC DD AA 01), then the PM registry.
235
+ # Falls back to the registry's ``led_style`` / ``product`` when
236
+ # the firmware reports a PM not in PmRegistry (e.g. a new SKU).
237
+ entry = resolve_handshake(header, self._pm, self._sub)
225
238
  if entry is not None:
226
239
  style = entry.style
227
240
  model_name = entry.model_name
@@ -278,7 +291,10 @@ class Led(Device[BulkTransport]):
278
291
  cached = _probe_cache_load(self.info.vid, self.info.pid)
279
292
  if cached is not None:
280
293
  cpm, csub, cname = cached
281
- entry = resolve_pm(cpm, csub)
294
+ # A fingerprint device (e.g. Magic Qube) shares its PM byte with
295
+ # another product, so recover it by cached model name first — the
296
+ # cache doesn't persist the handshake header — then by PM byte.
297
+ entry = resolve_model_name(cname) or resolve_pm(cpm, csub)
282
298
  log.warning(
283
299
  "Led handshake: live failed after %d retries — using "
284
300
  "disk cache (PM=%d SUB=%d model=%s, last_err=%s)",
@@ -69,6 +69,7 @@ _WIRE_SUBSYSTEMS: dict[Wire, tuple[str, ...]] = {
69
69
  Wire.HID: ("hidraw", "usb"),
70
70
  Wire.LED: ("hidraw", "usb"),
71
71
  Wire.BULK: ("usb",),
72
+ Wire.BULK_ALI: ("usb",),
72
73
  Wire.LY: ("usb",),
73
74
  }
74
75
 
@@ -13,6 +13,7 @@ Key pieces:
13
13
  from __future__ import annotations
14
14
 
15
15
  import ctypes
16
+ import errno
16
17
  import logging
17
18
  import os
18
19
  from pathlib import Path
@@ -219,6 +220,20 @@ class LinuxScsiTransport(ScsiTransport):
219
220
  return True
220
221
  except OSError as e:
221
222
  log.error("LinuxScsiTransport: open failed for %s: %s", self._path, e)
223
+ if e.errno == errno.EACCES:
224
+ # A resolved-but-unreadable node almost always means setup was
225
+ # never run: the /dev/sd* block fallback is root-only (the udev
226
+ # 0666 rule only covers scsi_generic), and even /dev/sg* is
227
+ # root-only until the setup rule lands. Name the remediation
228
+ # instead of a bare EACCES. (#217)
229
+ is_block = self._path.startswith("/dev/sd")
230
+ detail = ("this is a root-only block node (the sg kernel module "
231
+ "isn't loaded) — " if is_block else "")
232
+ log.warning(
233
+ "LinuxScsiTransport: permission denied on %s — %srun "
234
+ "`trcc system setup` then reboot to load sg and grant "
235
+ "0666 access without sudo (#217)", self._path, detail,
236
+ )
222
237
  return False
223
238
 
224
239
  def close(self) -> None:
@@ -127,6 +127,7 @@ from .theme import (
127
127
  LoadImage,
128
128
  LoadTheme,
129
129
  LoadVideo,
130
+ RestoreDeviceState,
130
131
  RestoreLastTheme,
131
132
  SaveTheme,
132
133
  UploadCustomMask,
@@ -190,6 +191,7 @@ __all__ = [
190
191
  "RenderDcStandalone",
191
192
  "RenderLed",
192
193
  "ResetDevice",
194
+ "RestoreDeviceState",
193
195
  "RestoreLastTheme",
194
196
  "RunDoctor",
195
197
  "RunHealthCheck",
@@ -191,18 +191,29 @@ class ConnectDevice(Command[ConnectResult]):
191
191
  override.button_image or "(cutout-only)",
192
192
  )
193
193
 
194
- # LED style: enrich ``led_style`` from the same handshake fingerprint.
195
- # The registry leaves it None ("resolved at runtime from PM byte"), so
196
- # without this the LED handler reads None and falls back to a default
197
- # style. resolve_pm lives in core, so this stays inside the hexagon.
194
+ # LED style: enrich ``led_style`` from the handshake. The registry
195
+ # leaves it None ("resolved at runtime"), so without this the LED
196
+ # handler reads None and falls back to a default style. Prefer the
197
+ # LED adapter's already-resolved style it honours the header
198
+ # fingerprint, so a Magic Qube (shares PM=208 with CZ1) isn't
199
+ # mis-tagged as CZ1 — and fall back to the header/PM registry from the
200
+ # raw handshake bytes. resolve_* live in core, so this stays inside
201
+ # the hexagon.
198
202
  if device.info.wire is Wire.LED and device.info.led_style is None:
199
- from ..led_protocol import resolve_pm
200
- led_entry = resolve_pm(handshake.pm_byte, handshake.sub_byte)
201
- if led_entry is not None and led_entry.style is not None:
202
- device.info = _dc_replace(device.info, led_style=led_entry.style)
203
+ led_hs = getattr(device, "led_handshake", None)
204
+ led_style = getattr(led_hs, "style", None)
205
+ if led_style is None:
206
+ from ..led_protocol import resolve_handshake
207
+ led_entry = resolve_handshake(
208
+ handshake.raw_response[:4],
209
+ handshake.pm_byte, handshake.sub_byte,
210
+ )
211
+ led_style = led_entry.style if led_entry is not None else None
212
+ if led_style is not None:
213
+ device.info = _dc_replace(device.info, led_style=led_style)
203
214
  log.info(
204
- "ConnectDevice %s: LED style PM=%d → %s",
205
- self.key, handshake.pm_byte, led_entry.style.value,
215
+ "ConnectDevice %s: LED style → %s",
216
+ self.key, led_style.value,
206
217
  )
207
218
 
208
219
  # Install theme/cloud/mask data for the HANDSHAKE-resolved resolution.
@@ -1533,6 +1533,85 @@ class RestoreLastTheme(Command[ThemeResult]):
1533
1533
  key=self.key, path=resolved, reset_overrides=False,
1534
1534
  ).execute(app)
1535
1535
 
1536
+ @dataclass(frozen=True, slots=True)
1537
+ class RestoreDeviceState(Command[ThemeResult]):
1538
+ """Ensure *key* has a renderable display state from persisted settings.
1539
+
1540
+ The shared "make this device show something" path every UI dispatches at
1541
+ its display-start entry — the GUI on connect, the CLI ``display play`` /
1542
+ ``keepalive`` before their loop, the API ``restore-theme`` endpoint.
1543
+ Idempotent: a no-op when a theme is already active (a daemon / GUI already
1544
+ primed it), so it's safe to dispatch unconditionally at each entry.
1545
+
1546
+ Order (mirrors the GUI connect-restore, minus GUI-only widget restore):
1547
+ 1. Active theme already loaded → done.
1548
+ 2. ``RestoreLastTheme`` — the persisted theme + its mask + overlays +
1549
+ bundled video (preserves the device's overrides).
1550
+ 3. No persisted theme → auto-load the first available theme
1551
+ (``ListThemes`` → ``LoadTheme``), matching the GUI first-install
1552
+ auto-load so a fresh device still shows something.
1553
+ 4. Replay the persisted ``background_path`` video override
1554
+ (``PlayVideo``) so a cloud / user video resumes on top of the theme.
1555
+
1556
+ Steps 2-3 render + send an immediate first frame, which also leaves a
1557
+ cached frame — so a keepalive resend has something to push (the terminal
1558
+ "No cached frame — render at least once first" gap this closes). (#150)
1559
+ """
1560
+ key: str
1561
+
1562
+ def execute(self, app: App) -> ThemeResult:
1563
+ log.info("RestoreDeviceState: key=%s", self.key)
1564
+ existing = app.active_themes.get(self.key)
1565
+ if existing is not None:
1566
+ log.info("RestoreDeviceState: %s already has an active theme — no-op",
1567
+ self.key)
1568
+ return ThemeResult(ok=True, key=self.key, theme_name=existing.name,
1569
+ theme_path=str(existing.path),
1570
+ message="Display state already active")
1571
+
1572
+ # 2. Persisted theme (reset_overrides=False preserves overlay/mask edits).
1573
+ RestoreLastTheme(key=self.key).execute(app)
1574
+
1575
+ # 3. Nothing persisted → first available theme (GUI first-install parity).
1576
+ # Resolve via the shared oriented resolver (device profile → native →
1577
+ # registry) so a rotate panel lists its portrait catalog, matching
1578
+ # where the GUI browser lists themes.
1579
+ if app.active_themes.get(self.key) is None:
1580
+ resolution = _resolve_oriented_resolution(app, self.key)
1581
+ if resolution is None:
1582
+ log.warning("RestoreDeviceState: %s — cannot resolve resolution "
1583
+ "to auto-load a theme", self.key)
1584
+ else:
1585
+ listing = ListThemes(resolution=resolution).execute(app)
1586
+ if listing.themes:
1587
+ first = Path(listing.themes[0].path)
1588
+ log.info("RestoreDeviceState: %s no persisted theme — "
1589
+ "auto-loading first theme %s", self.key, first)
1590
+ LoadTheme(key=self.key, path=first).execute(app)
1591
+
1592
+ theme = app.active_themes.get(self.key)
1593
+ if theme is None:
1594
+ log.warning("RestoreDeviceState: %s — no theme available to restore",
1595
+ self.key)
1596
+ return ThemeResult(
1597
+ ok=False, key=self.key,
1598
+ message=("No theme available for this device — install themes "
1599
+ "or load a theme first"),
1600
+ )
1601
+
1602
+ # 4. Resume the persisted cloud / user video background over the theme.
1603
+ bg = app.settings.for_device(self.key).background_path
1604
+ if bg:
1605
+ log.info("RestoreDeviceState: %s replaying persisted background %s",
1606
+ self.key, bg)
1607
+ PlayVideo(key=self.key, path=Path(bg)).execute(app)
1608
+
1609
+ return ThemeResult(
1610
+ ok=True, key=self.key, theme_name=theme.name,
1611
+ theme_path=str(theme.path),
1612
+ message=f"Display state restored ({theme.name})",
1613
+ )
1614
+
1536
1615
  @dataclass(frozen=True, slots=True)
1537
1616
  class ListCloudThemes(Command[CloudThemesListResult]):
1538
1617
  """List themes available in Thermalright's hosted catalog.
@@ -116,20 +116,24 @@ def plan_orientation(
116
116
  rotate_panel = profile.rotate and w != h and orientation in (90, 270)
117
117
  if rotate_panel and not content_is_portrait and not profile.widescreen:
118
118
  return OrientationPlan((w, h), False, orientation)
119
+ if rotate_panel and profile.widescreen:
120
+ # Widescreen JPEG panels (1600×720 etc.): compose on the transposed
121
+ # portrait canvas (720×1600), preview upright — but post_rotate=0. The
122
+ # WIRE rotation is owned entirely by resolve_encode_angle (via wire_angle),
123
+ # which the C# ``ImageToJpg`` applies to the whole composite to reach the
124
+ # device's fixed landscape dims: 0→180, 90→90, 180→0, 270→270. A
125
+ # post_rotate here would double-rotate on top of it (the pre-fix code
126
+ # returned 180 at 270 AND relied on portrait_content=True to suppress the
127
+ # wire rotate — which silently sent an unrotated 720×1600 portrait frame,
128
+ # #169). On-glass handedness still wants a reporter photo (#203/#169).
129
+ return OrientationPlan((h, w), True, 0)
119
130
  if rotate_panel:
120
- # Portrait content is composed on the transposed canvas with the
121
- # orientation baked into the pixels — but the asset is authored for 90.
122
- # 270 is 90 + a 180° flip, and 180° is dimension-preserving, so rotate
123
- # the WHOLE composite (bg + mask + text) as one unit and everything
124
- # stays true to the physical rotation instead of frozen at 90.
125
- # Widescreen JPEG panels keep post_rotate=0: their 90/270 send-unrotated
126
- # behaviour is hardware-verified (#169) and must not change.
127
- # 270 is 90 + a dimension-preserving 180° flip — applies to EVERY rotate
128
- # panel including widescreen (the C# decompile shows widescreen 854×480
129
- # rotates 90→270° / 270→90°, a 180° difference, not frozen). The flip
130
- # keeps the portrait-buffer dimensions (#169) and only re-orients the
131
- # content, so it's dimension-safe (no clip). On-glass handedness for
132
- # widescreen still wants a reporter photo (#203) to confirm.
131
+ # Non-widescreen portrait content: composed on the transposed canvas with
132
+ # the orientation baked into the pixels — but the asset is authored for
133
+ # 90. 270 is 90 + a dimension-preserving 180° flip, so rotate the WHOLE
134
+ # composite (bg + mask + text) as one unit and everything stays true to
135
+ # the physical rotation instead of frozen at 90. These panels take no
136
+ # wire rotation (portrait_content=True opts them out of wire_angle).
133
137
  post_rotate = 180 if orientation == 270 else 0
134
138
  return OrientationPlan((h, w), True, post_rotate)
135
139
  return OrientationPlan(oriented_resolution((w, h), orientation), False, 0)
@@ -200,6 +200,10 @@ LEGACY_STYLE_ID: dict[LedStyle, int] = {
200
200
  LedStyle.LF11: 10,
201
201
  LedStyle.LF15: 11,
202
202
  LedStyle.LF13: 12,
203
+ # Synthetic id for the Linux-added Magic Qube (no legacy C# style_id);
204
+ # continues the sequence so every LED_STYLES entry has an id. It shows
205
+ # plain sensor gauges (led_panel_for treats any non-LC1/LF11/LC2 id so).
206
+ LedStyle.MAGIC_QUBE: 13,
203
207
  }
204
208
 
205
209
  # Inverse lookup — legacy int → :class:`LedStyle` enum. Used by GUI
@@ -268,6 +272,13 @@ LED_STYLES: dict[LedStyle, LedStyleSpec] = {
268
272
  zone_assets=_ZONE_BTN_MODE56),
269
273
  LedStyle.LF13: LedStyleSpec(62, 62, 0, "LF13",
270
274
  "led_preview_lf13", "led_bg_lf13"),
275
+ # Magic Qube — 65 LEDs: two 7-seg digits (3 LEDs/segment, LED 0-41) + 4
276
+ # corner metric indicators (42-49) + a 15-LED contour border (50-64).
277
+ # Same 2-digit / 4-phase design as CZ1. Reuses the generic segment assets
278
+ # until dedicated art is added.
279
+ LedStyle.MAGIC_QUBE: LedStyleSpec(65, 14, 4, "MAGIC_QUBE",
280
+ "led_preview_cz1", "led_bg_segment",
281
+ zone_assets=_ZONE_BTN_N),
271
282
  }
272
283
 
273
284
 
@@ -302,6 +313,7 @@ ZONE_STYLE_ASSETS: dict[LedStyle, tuple[tuple[str, str], ...]] = {
302
313
  LedStyle.LF10: _ZONE_ASSETS_BTNN,
303
314
  LedStyle.CZ1: _ZONE_ASSETS_BTNN,
304
315
  LedStyle.LF11: _ZONE_ASSETS_BTNN,
316
+ LedStyle.MAGIC_QUBE: _ZONE_ASSETS_BTNN,
305
317
  }
306
318
 
307
319