trcc-linux 9.8.6__tar.gz → 9.8.7__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 (1025) hide show
  1. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/PKG-INFO +1 -1
  2. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/pyproject.toml +1 -1
  3. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/__version__.py +1 -1
  4. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/device/__init__.py +2 -1
  5. trcc_linux-9.8.7/src/trcc/adapters/device/ali_lcd.py +141 -0
  6. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/_udev.py +1 -0
  7. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/linux.py +15 -0
  8. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/commands/__init__.py +2 -0
  9. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/commands/theme.py +79 -0
  10. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/models.py +2 -1
  11. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/protocol.py +23 -13
  12. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/registry.py +5 -4
  13. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/variants.py +2 -1
  14. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/display.py +8 -3
  15. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/main.py +26 -3
  16. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/cli/display.py +25 -2
  17. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/cli/theme.py +11 -2
  18. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/__init__.py +25 -21
  19. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/lcd_handler.py +9 -8
  20. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qapp.py +31 -0
  21. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/__init__.py +2 -2
  22. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/app.py +23 -22
  23. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/mock_platform.py +14 -0
  24. trcc_linux-9.8.7/tests/test_ali_lcd.py +157 -0
  25. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_api_routes.py +25 -2
  26. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_bulk_lcd_geometry.py +33 -0
  27. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_cli_commands.py +50 -0
  28. trcc_linux-9.8.7/tests/test_restore_device_state.py +117 -0
  29. trcc_linux-9.8.7/tests/test_ui_parity.py +170 -0
  30. trcc_linux-9.8.7/tests/test_widescreen_rotation.py +52 -0
  31. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/.gitignore +0 -0
  32. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/LICENSE +0 -0
  33. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/README.md +0 -0
  34. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/__init__.py +0 -0
  35. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/__main__.py +0 -0
  36. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/_boot.py +0 -0
  37. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/_entry.py +0 -0
  38. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/__init__.py +0 -0
  39. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/device/_pyusb_find.py +0 -0
  40. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/device/bulk_lcd.py +0 -0
  41. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/device/hid_lcd.py +0 -0
  42. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/device/led.py +0 -0
  43. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/device/ly_lcd.py +0 -0
  44. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/device/scsi_lcd.py +0 -0
  45. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/device/transport.py +0 -0
  46. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/device/usb_bot_scsi.py +0 -0
  47. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/diagnostics/__init__.py +0 -0
  48. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/diagnostics/adapter.py +0 -0
  49. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/diagnostics/debug_report.py +0 -0
  50. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/diagnostics/doctor.py +0 -0
  51. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/diagnostics/health.py +0 -0
  52. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/infra/__init__.py +0 -0
  53. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/infra/logging.py +0 -0
  54. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/infra/network.py +0 -0
  55. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/infra/send_scheduler.py +0 -0
  56. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/infra/sysinfo_config.py +0 -0
  57. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/render/__init__.py +0 -0
  58. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/render/qt.py +0 -0
  59. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/repo/__init__.py +0 -0
  60. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/repo/data_install.py +0 -0
  61. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/repo/github_releases.py +0 -0
  62. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/repo/http.py +0 -0
  63. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/screencast/__init__.py +0 -0
  64. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/screencast/qt.py +0 -0
  65. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/__init__.py +0 -0
  66. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/_hwinfo.py +0 -0
  67. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/_lhm.py +0 -0
  68. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/_macos_hid.py +0 -0
  69. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/_msacpi.py +0 -0
  70. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/_powermetrics.py +0 -0
  71. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/_smc.py +0 -0
  72. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/_sysctl.py +0 -0
  73. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/_wmi_gpu.py +0 -0
  74. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/aggregator.py +0 -0
  75. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/bsd.py +0 -0
  76. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/chain.py +0 -0
  77. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/gpu_detect.py +0 -0
  78. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/hwmon.py +0 -0
  79. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/macos.py +0 -0
  80. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/nvml.py +0 -0
  81. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/psutil_sources.py +0 -0
  82. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/sensors/windows.py +0 -0
  83. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/__init__.py +0 -0
  84. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/_autostart.py +0 -0
  85. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/_devd.py +0 -0
  86. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/_elevate.py +0 -0
  87. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/_hotplug.py +0 -0
  88. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/_imc_timings.py +0 -0
  89. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/_macos_setup.py +0 -0
  90. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/_selinux.py +0 -0
  91. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/_windows_wmi.py +0 -0
  92. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/_winusb.py +0 -0
  93. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/bsd.py +0 -0
  94. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/macos.py +0 -0
  95. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/spd.py +0 -0
  96. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/system/windows.py +0 -0
  97. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/theme/__init__.py +0 -0
  98. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/adapters/theme/cloud.py +0 -0
  99. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/app.py +0 -0
  100. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/LibreHardwareMonitor.config +0 -0
  101. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/com.github.lexonight1.trcc.policy +0 -0
  102. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/fonts/MSYH.TTC +0 -0
  103. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
  104. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/fonts/README.md +0 -0
  105. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/icons/app.ico +0 -0
  106. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/icons/trcc.png +0 -0
  107. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/icons/trcc_128x128.png +0 -0
  108. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/icons/trcc_16x16.png +0 -0
  109. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/icons/trcc_24x24.png +0 -0
  110. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/icons/trcc_256x256.png +0 -0
  111. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/icons/trcc_32x32.png +0 -0
  112. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/icons/trcc_48x48.png +0 -0
  113. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/icons/trcc_64x64.png +0 -0
  114. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/trcc-imc +0 -0
  115. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/trcc-linux.desktop +0 -0
  116. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/assets/trcc-quirk-fix.service +0 -0
  117. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/__init__.py +0 -0
  118. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/_colors.py +0 -0
  119. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/_safe.py +0 -0
  120. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/_version.py +0 -0
  121. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/commands/_base.py +0 -0
  122. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/commands/_helpers.py +0 -0
  123. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/commands/device.py +0 -0
  124. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/commands/led.py +0 -0
  125. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/commands/system.py +0 -0
  126. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/device_recovery.py +0 -0
  127. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/diagnostics.py +0 -0
  128. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/errors.py +0 -0
  129. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/events.py +0 -0
  130. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/geometry.py +0 -0
  131. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/i18n.py +0 -0
  132. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/led_models.py +0 -0
  133. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/led_protocol.py +0 -0
  134. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/ports.py +0 -0
  135. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/core/results.py +0 -0
  136. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/daemon.py +0 -0
  137. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/data/trcc_usb.te +0 -0
  138. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ipc.py +0 -0
  139. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/proxy.py +0 -0
  140. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/__init__.py +0 -0
  141. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/_ansi.py +0 -0
  142. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/_clock.py +0 -0
  143. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/_dc.py +0 -0
  144. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/audio.py +0 -0
  145. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/cloud_theme.py +0 -0
  146. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/data_install.py +0 -0
  147. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/device_sender.py +0 -0
  148. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/display.py +0 -0
  149. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/first_run.py +0 -0
  150. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/led_animation_loop.py +0 -0
  151. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/led_effects.py +0 -0
  152. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/led_segment.py +0 -0
  153. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/media.py +0 -0
  154. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/metrics_loop.py +0 -0
  155. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/metrics_personalize.py +0 -0
  156. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/migration.py +0 -0
  157. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/overlay.py +0 -0
  158. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/quickstart.py +0 -0
  159. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/settings.py +0 -0
  160. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/slideshow.py +0 -0
  161. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/theme.py +0 -0
  162. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/video_cache.py +0 -0
  163. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/services/video_export.py +0 -0
  164. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/__init__.py +0 -0
  165. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/_errors.py +0 -0
  166. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/__init__.py +0 -0
  167. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/_shared.py +0 -0
  168. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/config.py +0 -0
  169. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/devices.py +0 -0
  170. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/led.py +0 -0
  171. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/schemas.py +0 -0
  172. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/system.py +0 -0
  173. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/theme.py +0 -0
  174. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/api/trcc.py +0 -0
  175. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/cli/__init__.py +0 -0
  176. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/cli/_ctx.py +0 -0
  177. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/cli/config.py +0 -0
  178. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/cli/device.py +0 -0
  179. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/cli/led.py +0 -0
  180. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/cli/main.py +0 -0
  181. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/cli/shell.py +0 -0
  182. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/cli/system.py +0 -0
  183. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/_ui_state.py +0 -0
  184. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/240240.gif +0 -0
  185. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/240320.gif +0 -0
  186. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/320240.gif +0 -0
  187. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/320320.gif +0 -0
  188. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AK120 Digital.png +0 -0
  189. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AK120 Digitala.png +0 -0
  190. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AK120_Digital.png +0 -0
  191. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AK120_Digitala.png +0 -0
  192. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AS120 VISION.png +0 -0
  193. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AS120 VISIONa.png +0 -0
  194. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AS120_VISION.png +0 -0
  195. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AS120_VISIONa.png +0 -0
  196. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AX120 DIGITAL.png +0 -0
  197. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AX120 DIGITALa.png +0 -0
  198. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AX120_DIGITAL.png +0 -0
  199. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1AX120_DIGITALa.png +0 -0
  200. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1BA120 VISION.png +0 -0
  201. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1BA120 VISIONa.png +0 -0
  202. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1BA120_VISION.png +0 -0
  203. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1BA120_VISIONa.png +0 -0
  204. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1CORE VISION.png +0 -0
  205. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1CORE VISIONa.png +0 -0
  206. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1CORE_VISION.png +0 -0
  207. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1CORE_VISIONa.png +0 -0
  208. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1CZ1.png +0 -0
  209. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1CZ1a.png +0 -0
  210. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1CZ2.png +0 -0
  211. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1CZ2a.png +0 -0
  212. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1CZTV.png +0 -0
  213. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1CZTVa.png +0 -0
  214. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1ELITE VISION.png +0 -0
  215. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1ELITE VISIONa.png +0 -0
  216. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1ELITE_VISION.png +0 -0
  217. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1ELITE_VISIONa.png +0 -0
  218. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PRO.png +0 -0
  219. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PROa.png +0 -0
  220. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PRO.png +0 -0
  221. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PROa.png +0 -0
  222. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN VISION V2.png +0 -0
  223. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN VISION V2a.png +0 -0
  224. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PRO.png +0 -0
  225. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PROa.png +0 -0
  226. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SE.png +0 -0
  227. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SEa.png +0 -0
  228. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME.png +0 -0
  229. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN WARFRAMEa.png +0 -0
  230. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PRO.png +0 -0
  231. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PROa.png +0 -0
  232. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PRO.png +0 -0
  233. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PROa.png +0 -0
  234. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2.png +0 -0
  235. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2a.png +0 -0
  236. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME.png +0 -0
  237. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PRO.png +0 -0
  238. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PROa.png +0 -0
  239. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SE.png +0 -0
  240. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SEa.png +0 -0
  241. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAMEa.png +0 -0
  242. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1GRAND VISION.png +0 -0
  243. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1GRAND VISIONa.png +0 -0
  244. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1GRAND_VISION.png +0 -0
  245. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1GRAND_VISIONa.png +0 -0
  246. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITAL.png +0 -0
  247. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITALa.png +0 -0
  248. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1HYPER VISION.png +0 -0
  249. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1HYPER VISIONa.png +0 -0
  250. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1HYPER_VISION.png +0 -0
  251. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1HYPER_VISIONa.png +0 -0
  252. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1KVMALEDC6.png +0 -0
  253. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1KVMALEDC6a.png +0 -0
  254. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC1.png +0 -0
  255. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC10.png +0 -0
  256. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC10a.png +0 -0
  257. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC13.png +0 -0
  258. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC13a.png +0 -0
  259. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC15.png +0 -0
  260. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC15a.png +0 -0
  261. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC1a.png +0 -0
  262. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC2.png +0 -0
  263. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC2JD.png +0 -0
  264. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC2JDa.png +0 -0
  265. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC2a.png +0 -0
  266. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC3.png +0 -0
  267. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC3a.png +0 -0
  268. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC5.png +0 -0
  269. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC5a.png +0 -0
  270. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC7.png +0 -0
  271. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC7a.png +0 -0
  272. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC8.png +0 -0
  273. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC8a.png +0 -0
  274. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC9.png +0 -0
  275. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LC9a.png +0 -0
  276. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD10.png +0 -0
  277. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD10a.png +0 -0
  278. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD11.png +0 -0
  279. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD11a.png +0 -0
  280. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD6.png +0 -0
  281. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD6a.png +0 -0
  282. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD7.png +0 -0
  283. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD7a.png +0 -0
  284. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD8.png +0 -0
  285. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD8a.png +0 -0
  286. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD9.png +0 -0
  287. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LD9a.png +0 -0
  288. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF014.png +0 -0
  289. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF014a.png +0 -0
  290. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF10.png +0 -0
  291. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF10V.png +0 -0
  292. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF10Va.png +0 -0
  293. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF10a.png +0 -0
  294. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF11.png +0 -0
  295. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF11a.png +0 -0
  296. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF12.png +0 -0
  297. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF12a.png +0 -0
  298. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF13.png +0 -0
  299. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF13a.png +0 -0
  300. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF14.png +0 -0
  301. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF14a.png +0 -0
  302. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF15.png +0 -0
  303. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF15a.png +0 -0
  304. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF16.png +0 -0
  305. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF167.png +0 -0
  306. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF16a.png +0 -0
  307. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF17a.png +0 -0
  308. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF18.png +0 -0
  309. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF18a.png +0 -0
  310. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF19.png +0 -0
  311. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF19a.png +0 -0
  312. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF20.png +0 -0
  313. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF20a.png +0 -0
  314. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF21.png +0 -0
  315. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF21a.png +0 -0
  316. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF22.png +0 -0
  317. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF22a.png +0 -0
  318. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF25.png +0 -0
  319. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF25a.png +0 -0
  320. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF8.png +0 -0
  321. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LF8a.png +0 -0
  322. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM16SE.png +0 -0
  323. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM16SEa.png +0 -0
  324. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM19SE.png +0 -0
  325. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM19SEa.png +0 -0
  326. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM22.png +0 -0
  327. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM22a.png +0 -0
  328. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM24.png +0 -0
  329. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM24a.png +0 -0
  330. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM26.png +0 -0
  331. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM26a.png +0 -0
  332. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM27.png +0 -0
  333. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM27a.png +0 -0
  334. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM30.png +0 -0
  335. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1LM30a.png +0 -0
  336. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Mjolnir VISION PRO.png +0 -0
  337. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Mjolnir VISION PROa.png +0 -0
  338. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Mjolnir VISION.png +0 -0
  339. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Mjolnir VISIONa.png +0 -0
  340. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Mjolnir_VISION.png +0 -0
  341. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PRO.png +0 -0
  342. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PROa.png +0 -0
  343. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Mjolnir_VISIONa.png +0 -0
  344. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1PA120 DIGITAL.png +0 -0
  345. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1PA120 DIGITALa.png +0 -0
  346. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1PA120_DIGITAL.png +0 -0
  347. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1PA120_DIGITALa.png +0 -0
  348. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1PC1.png +0 -0
  349. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1PC1a.png +0 -0
  350. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1RK120 DIGITAL.png +0 -0
  351. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1RK120 DIGITALa.png +0 -0
  352. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1RK120_DIGITAL.png +0 -0
  353. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1RK120_DIGITALa.png +0 -0
  354. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1RP130 VISION.png +0 -0
  355. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1RP130 VISIONa.png +0 -0
  356. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1RP130_VISION.png +0 -0
  357. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1RP130_VISIONa.png +0 -0
  358. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1RX1.png +0 -0
  359. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1RX1a.png +0 -0
  360. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Stream Vision.png +0 -0
  361. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Stream Visiona.png +0 -0
  362. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Stream_Vision.png +0 -0
  363. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/A1Stream_Visiona.png +0 -0
  364. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/about_dropdown.png +0 -0
  365. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/about_dropdown_bg.png +0 -0
  366. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/about_dropdown_select.png +0 -0
  367. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/about_update.png +0 -0
  368. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/about_update_overlay.png +0 -0
  369. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_about_bg.png +0 -0
  370. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_brightness_0.png +0 -0
  371. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_brightness_1.png +0 -0
  372. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_brightness_2.png +0 -0
  373. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_brightness_3.png +0 -0
  374. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_export.png +0 -0
  375. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_form_bg.png +0 -0
  376. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_help.png +0 -0
  377. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_import.png +0 -0
  378. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_main_bg.png +0 -0
  379. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_power.png +0 -0
  380. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_power_hover.png +0 -0
  381. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_save.png +0 -0
  382. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_sysinfo_bg.png +0 -0
  383. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_tab_cloud.png +0 -0
  384. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_tab_cloud_active.png +0 -0
  385. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_tab_local.png +0 -0
  386. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_tab_local_active.png +0 -0
  387. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_tab_mask.png +0 -0
  388. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_tab_mask_active.png +0 -0
  389. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_tab_mask_lower.png +0 -0
  390. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_tab_settings.png +0 -0
  391. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_tab_settings_active.png +0 -0
  392. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_theme_base_bg.png +0 -0
  393. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_theme_gallery_bg.png +0 -0
  394. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/app_theme_settings_bg.png +0 -0
  395. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/carousel_1.png +0 -0
  396. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/carousel_2.png +0 -0
  397. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/carousel_3.png +0 -0
  398. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/carousel_4.png +0 -0
  399. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/carousel_5.png +0 -0
  400. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/carousel_6.png +0 -0
  401. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/carousel_btn.png +0 -0
  402. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/carousel_btn_active.png +0 -0
  403. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/carousel_select_frame.png +0 -0
  404. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/color_panel_eyedropper.png +0 -0
  405. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/color_panel_picker.png +0 -0
  406. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/color_panel_selector_ring.png +0 -0
  407. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/color_panel_slider_thumb.png +0 -0
  408. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/color_wheel_knob.png +0 -0
  409. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/color_wheel_knob_0.png +0 -0
  410. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/color_wheel_toggle_hover.png +0 -0
  411. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/color_wheel_toggle_off.png +0 -0
  412. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/color_wheel_toggle_on.png +0 -0
  413. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_12h.png +0 -0
  414. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_24h.png +0 -0
  415. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_border.png +0 -0
  416. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_border_active.png +0 -0
  417. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_crop.png +0 -0
  418. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_date_dm.png +0 -0
  419. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_date_dmy.png +0 -0
  420. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_date_md.png +0 -0
  421. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_date_ymd.png +0 -0
  422. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_digit_font.png +0 -0
  423. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_fit_height.png +0 -0
  424. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_fit_width.png +0 -0
  425. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_function.png +0 -0
  426. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_function_active.png +0 -0
  427. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_icon.png +0 -0
  428. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_icon_gif.png +0 -0
  429. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_icon_image.png +0 -0
  430. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_icon_livestream.png +0 -0
  431. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_icon_mask.png +0 -0
  432. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_icon_network.png +0 -0
  433. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_icon_video.png +0 -0
  434. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m1.png +0 -0
  435. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m1_active.png +0 -0
  436. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m2.png +0 -0
  437. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m2_active.png +0 -0
  438. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m3.png +0 -0
  439. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m3_active.png +0 -0
  440. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m4.png +0 -0
  441. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m4_active.png +0 -0
  442. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m5.png +0 -0
  443. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m5_active.png +0 -0
  444. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m6.png +0 -0
  445. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_m6_active.png +0 -0
  446. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_minus.png +0 -0
  447. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_network_btn.png +0 -0
  448. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_plus.png +0 -0
  449. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_rotate.png +0 -0
  450. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_slider_thumb.png +0 -0
  451. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_text_font.png +0 -0
  452. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_unit_c.png +0 -0
  453. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/display_mode_unit_f.png +0 -0
  454. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/frozen_warframe_ultra.png +0 -0
  455. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/frozen_warframe_ultra_active.png +0 -0
  456. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_110x480.png +0 -0
  457. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_116x480.png +0 -0
  458. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_1280x480.png +0 -0
  459. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_160x480.png +0 -0
  460. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_180x400.png +0 -0
  461. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_180x480.png +0 -0
  462. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_240x240.png +0 -0
  463. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_240x320.png +0 -0
  464. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_240x400.png +0 -0
  465. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_240x427.png +0 -0
  466. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_270x480.png +0 -0
  467. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_320x240.png +0 -0
  468. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_320x320.png +0 -0
  469. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_320x86.png +0 -0
  470. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_360x360.png +0 -0
  471. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_400x180.png +0 -0
  472. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_400x240.png +0 -0
  473. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_427x240.png +0 -0
  474. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_480x110.png +0 -0
  475. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_480x116.png +0 -0
  476. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_480x160.png +0 -0
  477. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_480x180.png +0 -0
  478. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_480x270.png +0 -0
  479. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_480x480.png +0 -0
  480. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/image_cut_86x320.png +0 -0
  481. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_aggregate.png +0 -0
  482. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_aggregate_active.png +0 -0
  483. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_cz1.png +0 -0
  484. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_kvma.png +0 -0
  485. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_lc1.png +0 -0
  486. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_lc2.png +0 -0
  487. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_lf10.png +0 -0
  488. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_lf11.png +0 -0
  489. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_lf12.png +0 -0
  490. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_lf13.png +0 -0
  491. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_lf15.png +0 -0
  492. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_lf8.png +0 -0
  493. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_rgb_lf13.png +0 -0
  494. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_segment.png +0 -0
  495. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_bg_segment_4zone.png +0 -0
  496. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_dropdown.png +0 -0
  497. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_dropdown_2.png +0 -0
  498. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_dropdown_highlight.png +0 -0
  499. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_dropdown_highlight_2.png +0 -0
  500. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_dropdown_menu.png +0 -0
  501. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_dropdown_menu_2.png +0 -0
  502. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_external.png +0 -0
  503. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_external_active.png +0 -0
  504. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_helmet_1.png +0 -0
  505. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_helmet_2.png +0 -0
  506. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_helmet_3.png +0 -0
  507. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_helmet_4.png +0 -0
  508. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_helmet_5.png +0 -0
  509. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bar_1.png +0 -0
  510. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bar_2.png +0 -0
  511. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bar_3.png +0 -0
  512. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bar_4.png +0 -0
  513. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bar_5.png +0 -0
  514. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bar_6.png +0 -0
  515. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bg_1.png +0 -0
  516. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bg_2.png +0 -0
  517. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bg_3.png +0 -0
  518. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bg_4.png +0 -0
  519. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bg_5.png +0 -0
  520. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bg_5_active.png +0 -0
  521. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_meter_bg_6.png +0 -0
  522. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_1.png +0 -0
  523. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_10.png +0 -0
  524. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_10_active.png +0 -0
  525. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_11.png +0 -0
  526. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_11_active.png +0 -0
  527. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_12.png +0 -0
  528. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_12_active.png +0 -0
  529. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_1_active.png +0 -0
  530. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_2.png +0 -0
  531. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_2_active.png +0 -0
  532. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_3.png +0 -0
  533. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_3_active.png +0 -0
  534. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_4.png +0 -0
  535. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_4_active.png +0 -0
  536. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_5.png +0 -0
  537. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_5_active.png +0 -0
  538. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_6.png +0 -0
  539. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_6_active.png +0 -0
  540. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_7.png +0 -0
  541. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_7_active.png +0 -0
  542. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_8.png +0 -0
  543. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_8_active.png +0 -0
  544. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_9.png +0 -0
  545. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_mode_9_active.png +0 -0
  546. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_power.png +0 -0
  547. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_power_active.png +0 -0
  548. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preset_blue.png +0 -0
  549. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preset_cyan.png +0 -0
  550. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preset_green.png +0 -0
  551. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preset_orange.png +0 -0
  552. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preset_purple.png +0 -0
  553. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preset_red.png +0 -0
  554. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preset_white.png +0 -0
  555. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preset_yellow.png +0 -0
  556. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_ak120.png +0 -0
  557. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_ax120.png +0 -0
  558. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_cz1.png +0 -0
  559. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_frozen_horizon_pro.png +0 -0
  560. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_frozen_magic_pro.png +0 -0
  561. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_lc1.png +0 -0
  562. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_lc2.png +0 -0
  563. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_lf10.png +0 -0
  564. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_lf11.png +0 -0
  565. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_lf12.png +0 -0
  566. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_lf13.png +0 -0
  567. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_lf15.png +0 -0
  568. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_lf8.png +0 -0
  569. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_pa120.png +0 -0
  570. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_preview_pa120_space.png +0 -0
  571. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_show_1.png +0 -0
  572. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_show_1_active.png +0 -0
  573. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_show_2.png +0 -0
  574. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_show_2_active.png +0 -0
  575. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_show_3.png +0 -0
  576. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_show_3_active.png +0 -0
  577. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_slider_thumb.png +0 -0
  578. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_btn_1.png +0 -0
  579. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_btn_1_active.png +0 -0
  580. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_btn_2.png +0 -0
  581. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_btn_2_active.png +0 -0
  582. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_btn_3.png +0 -0
  583. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_btn_3_active.png +0 -0
  584. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_btn_4.png +0 -0
  585. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_btn_4_active.png +0 -0
  586. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_1.png +0 -0
  587. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_1_active.png +0 -0
  588. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_2.png +0 -0
  589. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_2_active.png +0 -0
  590. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_3.png +0 -0
  591. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_3_active.png +0 -0
  592. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_4.png +0 -0
  593. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_4_active.png +0 -0
  594. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_5.png +0 -0
  595. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_5_active.png +0 -0
  596. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_6.png +0 -0
  597. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/led_zone_mode_6_active.png +0 -0
  598. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_sysinfo.png +0 -0
  599. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_en.png +0 -0
  600. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_tc.png +0 -0
  601. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_sysinfo_en.png +0 -0
  602. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_sysinfo_tc.png +0 -0
  603. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_text.png +0 -0
  604. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_text_en.png +0 -0
  605. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_text_tc.png +0 -0
  606. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_time.png +0 -0
  607. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_time_en.png +0 -0
  608. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_label_time_tc.png +0 -0
  609. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_mode_date.png +0 -0
  610. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_mode_hardware.png +0 -0
  611. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_mode_text.png +0 -0
  612. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_mode_time.png +0 -0
  613. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_mode_weekday.png +0 -0
  614. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/overlay_select.png +0 -0
  615. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_110x480.png +0 -0
  616. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_116x480.png +0 -0
  617. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_160x480.png +0 -0
  618. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_180x400.png +0 -0
  619. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_180x480.png +0 -0
  620. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_240x240.png +0 -0
  621. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_240x320.png +0 -0
  622. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_240x400.png +0 -0
  623. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_240x427.png +0 -0
  624. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_270x480.png +0 -0
  625. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_320x240.png +0 -0
  626. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_320x320.png +0 -0
  627. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_320x320_round.png +0 -0
  628. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_320x86.png +0 -0
  629. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_360x360_round.png +0 -0
  630. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_400x180.png +0 -0
  631. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_400x240.png +0 -0
  632. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_427x240.png +0 -0
  633. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_480x110.png +0 -0
  634. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_480x116.png +0 -0
  635. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_480x160.png +0 -0
  636. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_480x180.png +0 -0
  637. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_480x270.png +0 -0
  638. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_480x480.png +0 -0
  639. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_480x480_round.png +0 -0
  640. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_86x320.png +0 -0
  641. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_animation.png +0 -0
  642. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_btn.png +0 -0
  643. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_btn_active.png +0 -0
  644. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_pause.png +0 -0
  645. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_play.png +0 -0
  646. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_player_control_bg.png +0 -0
  647. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_1280x480.png +0 -0
  648. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_1920x440.png +0 -0
  649. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_1920x462.png +0 -0
  650. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_320x960.png +0 -0
  651. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_360x800.png +0 -0
  652. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_440x1920.png +0 -0
  653. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_462x1920.png +0 -0
  654. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_480x1280.png +0 -0
  655. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_480x800.png +0 -0
  656. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_480x854.png +0 -0
  657. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_540x960.png +0 -0
  658. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_800x360.png +0 -0
  659. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_800x480.png +0 -0
  660. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_854x480.png +0 -0
  661. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_960x320.png +0 -0
  662. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_popup_960x540.png +0 -0
  663. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_res_240x240.png +0 -0
  664. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_res_240x320.png +0 -0
  665. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_res_320x240.png +0 -0
  666. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_res_320x320.png +0 -0
  667. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_round_mask_320x320.png +0 -0
  668. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_round_mask_360x360.png +0 -0
  669. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_round_mask_480x480.png +0 -0
  670. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_video_controls_bg.png +0 -0
  671. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/preview_video_controls_bg_alt.png +0 -0
  672. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/screen_led_deco_1.png +0 -0
  673. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/screen_led_deco_2.png +0 -0
  674. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/screen_led_deco_3.png +0 -0
  675. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/screen_led_deco_4.png +0 -0
  676. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/screen_led_deco_cz1.png +0 -0
  677. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/secondary_screen_bg.png +0 -0
  678. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/secondary_screen_bg_d.png +0 -0
  679. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/secondary_screen_bg_e.png +0 -0
  680. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/secondary_screen_bg_en.png +0 -0
  681. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/secondary_screen_bg_f.png +0 -0
  682. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/secondary_screen_bg_h.png +0 -0
  683. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/secondary_screen_bg_p.png +0 -0
  684. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/secondary_screen_bg_r.png +0 -0
  685. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/secondary_screen_bg_tc.png +0 -0
  686. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/secondary_screen_bg_x.png +0 -0
  687. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_content.png +0 -0
  688. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_content_btn.png +0 -0
  689. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_content_mask.png +0 -0
  690. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_date.png +0 -0
  691. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_date_1.png +0 -0
  692. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_icon.png +0 -0
  693. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_link_1.png +0 -0
  694. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_text.png +0 -0
  695. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_text_1.png +0 -0
  696. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_time.png +0 -0
  697. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_time_1.png +0 -0
  698. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_weekday.png +0 -0
  699. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_add_weekday_1.png +0 -0
  700. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_anim_sync.png +0 -0
  701. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_background.png +0 -0
  702. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_brightness.png +0 -0
  703. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_keyboard_sync_1.png +0 -0
  704. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_keyboard_sync_2.png +0 -0
  705. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_keyboard_sync_3.png +0 -0
  706. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_module.png +0 -0
  707. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_overlay.png +0 -0
  708. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_overlay_add_bg.png +0 -0
  709. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_overlay_color_bg.png +0 -0
  710. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_overlay_grid_bg.png +0 -0
  711. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_overlay_table_bg.png +0 -0
  712. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/settings_params.png +0 -0
  713. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_brightness_bar.png +0 -0
  714. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_checkbox_off.png +0 -0
  715. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_checkbox_on.png +0 -0
  716. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_clip_a.png +0 -0
  717. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_clip_b.png +0 -0
  718. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_close.png +0 -0
  719. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_close_2.png +0 -0
  720. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_dropdown.png +0 -0
  721. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_dropdown_bg_2x.png +0 -0
  722. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_dropdown_bg_4x.png +0 -0
  723. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_dropdown_highlight.png +0 -0
  724. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_loading_animation.png +0 -0
  725. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_progress_bar.png +0 -0
  726. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_round_close.png +0 -0
  727. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_round_confirm.png +0 -0
  728. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_scrollbar_bg.png +0 -0
  729. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_scrollbar_thumb.png +0 -0
  730. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_shortcut_size_slider.png +0 -0
  731. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_thread_multi.png +0 -0
  732. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_thread_single.png +0 -0
  733. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_toggle_off.png +0 -0
  734. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shared_toggle_on.png +0 -0
  735. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shortcuts_panel.png +0 -0
  736. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shortcuts_panel_d.png +0 -0
  737. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shortcuts_panel_e.png +0 -0
  738. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shortcuts_panel_en.png +0 -0
  739. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shortcuts_panel_f.png +0 -0
  740. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shortcuts_panel_p.png +0 -0
  741. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shortcuts_panel_r.png +0 -0
  742. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shortcuts_panel_tc.png +0 -0
  743. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/shortcuts_panel_x.png +0 -0
  744. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sidebar_about.png +0 -0
  745. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sidebar_about_active.png +0 -0
  746. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sidebar_about_bg.png +0 -0
  747. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sidebar_bg.png +0 -0
  748. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sidebar_no_device.png +0 -0
  749. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sidebar_sensor.png +0 -0
  750. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sidebar_sensor_active.png +0 -0
  751. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sidebar_splash.png +0 -0
  752. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sidebar_sysinfo_bg.png +0 -0
  753. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_a.png +0 -0
  754. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_a_180.png +0 -0
  755. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_a_270.png +0 -0
  756. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_a_90.png +0 -0
  757. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_b.png +0 -0
  758. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_b_180.png +0 -0
  759. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_b_270.png +0 -0
  760. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_b_90.png +0 -0
  761. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_c.png +0 -0
  762. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_c_180.png +0 -0
  763. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_c_270.png +0 -0
  764. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/split_overlay_c_90.png +0 -0
  765. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_add_group.png +0 -0
  766. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_cpu.png +0 -0
  767. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_custom.png +0 -0
  768. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_dram.png +0 -0
  769. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_fan.png +0 -0
  770. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_gpu.png +0 -0
  771. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_hdd.png +0 -0
  772. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_net.png +0 -0
  773. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_next_page.png +0 -0
  774. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_prev_page.png +0 -0
  775. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_scrollbar.png +0 -0
  776. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/sysinfo_select.png +0 -0
  777. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_browser_filter.png +0 -0
  778. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_browser_filter_active.png +0 -0
  779. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_cloud_label.png +0 -0
  780. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_cloud_label_d.png +0 -0
  781. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_cloud_label_e.png +0 -0
  782. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_cloud_label_en.png +0 -0
  783. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_cloud_label_f.png +0 -0
  784. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_cloud_label_h.png +0 -0
  785. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_cloud_label_p.png +0 -0
  786. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_cloud_label_r.png +0 -0
  787. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_cloud_label_tc.png +0 -0
  788. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_cloud_label_x.png +0 -0
  789. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_local_carousel.png +0 -0
  790. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_local_carousel_active.png +0 -0
  791. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_local_export_all.png +0 -0
  792. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_local_multi_select.png +0 -0
  793. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_local_multi_select_active.png +0 -0
  794. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_local_select_frame.png +0 -0
  795. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_local_select_frame_active.png +0 -0
  796. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/theme_mask_label.png +0 -0
  797. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_110x480.png +0 -0
  798. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_116x480.png +0 -0
  799. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_1280x480.png +0 -0
  800. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_160x480.png +0 -0
  801. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_180x400.png +0 -0
  802. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_180x480.png +0 -0
  803. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_240x240.png +0 -0
  804. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_240x320.png +0 -0
  805. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_240x400.png +0 -0
  806. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_240x427.png +0 -0
  807. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_270x480.png +0 -0
  808. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_320x240.png +0 -0
  809. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_320x320.png +0 -0
  810. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_320x86.png +0 -0
  811. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_360x360.png +0 -0
  812. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_400x180.png +0 -0
  813. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_400x240.png +0 -0
  814. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_427x240.png +0 -0
  815. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_480x110.png +0 -0
  816. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_480x116.png +0 -0
  817. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_480x160.png +0 -0
  818. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_480x180.png +0 -0
  819. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_480x270.png +0 -0
  820. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_480x480.png +0 -0
  821. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_86x320.png +0 -0
  822. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_bg.png +0 -0
  823. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets/video_cut_bg_alt.png +0 -0
  824. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/assets.py +0 -0
  825. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/base.py +0 -0
  826. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/base_handler.py +0 -0
  827. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/bus_bridge.py +0 -0
  828. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/color_and_add_panels.py +0 -0
  829. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/constants.py +0 -0
  830. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/display_mode_panels.py +0 -0
  831. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/eyedropper.py +0 -0
  832. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/led_handler.py +0 -0
  833. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/overlay_element.py +0 -0
  834. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/overlay_grid.py +0 -0
  835. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/pipewire_capture.py +0 -0
  836. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/screen_capture.py +0 -0
  837. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/splash.py +0 -0
  838. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/trcc_app.py +0 -0
  839. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_about.py +0 -0
  840. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_activity_sidebar.py +0 -0
  841. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_color_wheel.py +0 -0
  842. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_device.py +0 -0
  843. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_image_cut.py +0 -0
  844. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_info_module.py +0 -0
  845. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_led_control.py +0 -0
  846. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_preview.py +0 -0
  847. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_screen_led.py +0 -0
  848. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_sensor_picker.py +0 -0
  849. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_system_info.py +0 -0
  850. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_theme_local.py +0 -0
  851. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_theme_mask.py +0 -0
  852. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_theme_setting.py +0 -0
  853. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_theme_web.py +0 -0
  854. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/gui/uc_video_cut.py +0 -0
  855. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/__init__.py +0 -0
  856. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/device_presentation.py +0 -0
  857. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/lcd_panel.py +0 -0
  858. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/lcd_presentation_model.py +0 -0
  859. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/led_display.py +0 -0
  860. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/led_metrics_format.py +0 -0
  861. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/led_panel.py +0 -0
  862. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/led_zone_model.py +0 -0
  863. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/overlay_model.py +0 -0
  864. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/overlay_serialization.py +0 -0
  865. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/preview_geometry.py +0 -0
  866. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/sensor_display.py +0 -0
  867. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/slideshow_model.py +0 -0
  868. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/presentation/theme_directories.py +0 -0
  869. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/assets.py +0 -0
  870. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/base.py +0 -0
  871. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/bus_bridge.py +0 -0
  872. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/color_wheel.py +0 -0
  873. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/device_picker.py +0 -0
  874. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/eyedropper.py +0 -0
  875. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/image_crop.py +0 -0
  876. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/__init__.py +0 -0
  877. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/about_panel.py +0 -0
  878. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/cloud_theme_browser.py +0 -0
  879. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/configuration_panel.py +0 -0
  880. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/device_panel.py +0 -0
  881. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/display_panel.py +0 -0
  882. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/led/__init__.py +0 -0
  883. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/led/_base.py +0 -0
  884. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/led/advanced_tab.py +0 -0
  885. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/led/color_tab.py +0 -0
  886. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/led/mode_tab.py +0 -0
  887. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/led/segment_tab.py +0 -0
  888. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/led/zone_tab.py +0 -0
  889. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/led_panel.py +0 -0
  890. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/local_theme_browser.py +0 -0
  891. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/mask_browser.py +0 -0
  892. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/overlay_editor.py +0 -0
  893. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/preview_panel.py +0 -0
  894. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/screencast_panel.py +0 -0
  895. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/sidebar.py +0 -0
  896. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/status_panel.py +0 -0
  897. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/panels/system_panel.py +0 -0
  898. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/region_overlay.py +0 -0
  899. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/screen_overlay.py +0 -0
  900. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/sensor_picker.py +0 -0
  901. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/splash.py +0 -0
  902. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/src/trcc/ui/qtgui/video_crop.py +0 -0
  903. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/__init__.py +0 -0
  904. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/adapters/infra/__init__.py +0 -0
  905. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/adapters/infra/test_sysinfo_config_fan_map.py +0 -0
  906. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/adapters/system/test_elevate.py +0 -0
  907. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/adapters/system/test_imc_timings.py +0 -0
  908. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/adapters/system/test_linux_imc.py +0 -0
  909. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/adapters/system/test_spd.py +0 -0
  910. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/adapters/system/test_windows_mem_disk.py +0 -0
  911. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/adapters/system/test_windows_permissions.py +0 -0
  912. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/adapters/system/test_windows_wmi_seam.py +0 -0
  913. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/conftest.py +0 -0
  914. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_app_senders.py +0 -0
  915. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_architecture_boundaries.py +0 -0
  916. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_autostart.py +0 -0
  917. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_autostart_macos.py +0 -0
  918. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_autostart_windows.py +0 -0
  919. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_backend_finish.py +0 -0
  920. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_boot_animation_command.py +0 -0
  921. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_boot_animation_device.py +0 -0
  922. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_clock.py +0 -0
  923. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_cloud_themes.py +0 -0
  924. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_commands.py +0 -0
  925. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_connect_failure_hints.py +0 -0
  926. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_connection_issues.py +0 -0
  927. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_control_center.py +0 -0
  928. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_daemon.py +0 -0
  929. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_data_install.py +0 -0
  930. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_dc_codec.py +0 -0
  931. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_dc_reader.py +0 -0
  932. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_device_catalog_smoke.py +0 -0
  933. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_device_recovery.py +0 -0
  934. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_device_sender.py +0 -0
  935. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_device_surface_matrix.py +0 -0
  936. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_diagnose_parse_report.py +0 -0
  937. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_diagnostics.py +0 -0
  938. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_display_rotation.py +0 -0
  939. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_display_tweaks.py +0 -0
  940. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_first_run_and_migration.py +0 -0
  941. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_geometry.py +0 -0
  942. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_gpu_extras_install.py +0 -0
  943. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_gpu_preference.py +0 -0
  944. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_gui_empty_state.py +0 -0
  945. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_gui_entry_exit.py +0 -0
  946. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_gui_panels.py +0 -0
  947. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_gui_raise_existing.py +0 -0
  948. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_hid_lcd_geometry.py +0 -0
  949. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_hotplug.py +0 -0
  950. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_hotplug_bsd.py +0 -0
  951. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_hotplug_polling.py +0 -0
  952. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_hotplug_windows.py +0 -0
  953. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_i18n.py +0 -0
  954. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_integration_pipeline.py +0 -0
  955. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_ipc_server.py +0 -0
  956. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_ipc_windows_fallback.py +0 -0
  957. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_ipc_wire.py +0 -0
  958. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_lcd_panel_model.py +0 -0
  959. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_led_animation_loop.py +0 -0
  960. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_led_assets.py +0 -0
  961. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_led_display_model.py +0 -0
  962. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_led_effects.py +0 -0
  963. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_led_handler_requires_app.py +0 -0
  964. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_led_panel_model.py +0 -0
  965. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_led_pm_registry.py +0 -0
  966. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_led_remap.py +0 -0
  967. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_led_send.py +0 -0
  968. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_led_settings_commands.py +0 -0
  969. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_library_migration.py +0 -0
  970. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_ly_lcd_geometry.py +0 -0
  971. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_manpages.py +0 -0
  972. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_mask_commands.py +0 -0
  973. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_mask_rendering.py +0 -0
  974. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_metrics_personalize.py +0 -0
  975. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_mock_reply_override.py +0 -0
  976. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_models.py +0 -0
  977. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_orientation_cloud_background.py +0 -0
  978. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_orientation_reload.py +0 -0
  979. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_overlay_clock.py +0 -0
  980. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_overlay_element_id.py +0 -0
  981. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_overlay_grid_adapter.py +0 -0
  982. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_overlay_metric_unit.py +0 -0
  983. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_overlay_resolve.py +0 -0
  984. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_overlay_show_unit.py +0 -0
  985. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_packaging_entrypoints.py +0 -0
  986. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_platform_hw_probes.py +0 -0
  987. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_pyusb_find_seam.py +0 -0
  988. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_quickstart.py +0 -0
  989. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_render_led.py +0 -0
  990. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_run_setup_order.py +0 -0
  991. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_scsi_lcd_geometry.py +0 -0
  992. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_selinux_install.py +0 -0
  993. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_send_color.py +0 -0
  994. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_sensor_chain.py +0 -0
  995. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_sensors.py +0 -0
  996. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_sensors_bsd.py +0 -0
  997. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_sensors_lhm_subprocess.py +0 -0
  998. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_sensors_macos.py +0 -0
  999. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_sensors_nvml.py +0 -0
  1000. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_sensors_windows.py +0 -0
  1001. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_settings_migration.py +0 -0
  1002. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_shell.py +0 -0
  1003. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_system_commands.py +0 -0
  1004. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_system_resume.py +0 -0
  1005. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_theme_persistence.py +0 -0
  1006. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_theme_service.py +0 -0
  1007. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_transports.py +0 -0
  1008. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_udev.py +0 -0
  1009. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_ui_surfaces_smoke.py +0 -0
  1010. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_variant_presentation_audit.py +0 -0
  1011. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_video_cache.py +0 -0
  1012. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_video_playback.py +0 -0
  1013. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_wire_rotation.py +0 -0
  1014. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/test_wmi_gpu_fallback.py +0 -0
  1015. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/ui/presentation/test_device_presentation.py +0 -0
  1016. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/ui/presentation/test_lcd_presentation_model.py +0 -0
  1017. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/ui/presentation/test_led_metrics_format.py +0 -0
  1018. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/ui/presentation/test_led_zone_model.py +0 -0
  1019. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/ui/presentation/test_overlay_model.py +0 -0
  1020. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/ui/presentation/test_overlay_view_binding.py +0 -0
  1021. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/ui/presentation/test_preview_geometry.py +0 -0
  1022. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/ui/presentation/test_sensor_display.py +0 -0
  1023. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/ui/presentation/test_slideshow_model.py +0 -0
  1024. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/tests/ui/presentation/test_theme_directories.py +0 -0
  1025. {trcc_linux-9.8.6 → trcc_linux-9.8.7}/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.7
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
@@ -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.7"
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.7"
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
@@ -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",
@@ -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.
@@ -20,6 +20,7 @@ class Wire(str, Enum):
20
20
  SCSI = "scsi"
21
21
  HID = "hid"
22
22
  BULK = "bulk"
23
+ BULK_ALI = "bulk_ali"
23
24
  LY = "ly"
24
25
  LED = "led"
25
26
 
@@ -28,7 +29,7 @@ class Wire(str, Enum):
28
29
  # Thermalright logo after ~2-3 s unless frames keep arriving. The per-device
29
30
  # send worker keepalive-resends the last frame for these. SCSI/HID latch;
30
31
  # LED has no screen. (Legacy ``run_static_loop`` covered exactly Bulk + LY.)
31
- VOLATILE_FRAME_WIRES: frozenset[Wire] = frozenset({Wire.BULK, Wire.LY})
32
+ VOLATILE_FRAME_WIRES: frozenset[Wire] = frozenset({Wire.BULK, Wire.BULK_ALI, Wire.LY})
32
33
 
33
34
 
34
35
  class Kind(str, Enum):
@@ -55,13 +55,17 @@ class DeviceProfile:
55
55
  # encode_pm_bases is the LIVE source for encode_baseline: a PM (PingMu)
56
56
  # keyed hardware-mount rotation (e.g. PM=6 → 180° for the FW360 Ultra).
57
57
  encode_pm_bases: tuple[tuple[int, int], ...] = () # ((pm, base), ...) LIVE
58
- # encode_base / encode_invert / encode_sub_bases are recorded-but-UNWIRED:
59
- # the C# unified per-resolution model (angle = base + direction*sign). Our
60
- # rotate-flag pipeline already covers widescreen rotation, so they are NOT
61
- # applied wiring them needs widescreen hardware verification.
58
+ # encode_base / encode_invert are LIVE for widescreen JPEG panels: wire_angle
59
+ # routes them to resolve_encode_angle = (encode_base orientation) [invert
60
+ # defaults True], the C# ImageToJpg per-resolution switch (854×480→base 0,
61
+ # 1600×720/1920×462→base 180). The C# base is FIXED per resolution and
62
+ # sub-INDEPENDENT (TRCC.decompiled.cs:65285+), so encode_sub_bases stays
63
+ # empty for every profile — folding sub into the base was a phantom that put
64
+ # widescreen 180° off at 90/270 (#203/#169). Kept for a future device only
65
+ # if the C# is ever found to vary the base by sub; do not populate blind.
62
66
  encode_base: int = 0
63
- encode_invert: bool = True # (unwired — see above)
64
- encode_sub_bases: tuple[tuple[int, int], ...] = () # ((sub, base), ...) unwired
67
+ encode_invert: bool = True
68
+ encode_sub_bases: tuple[tuple[int, int], ...] = () # ((sub, base), ...) — unused
65
69
 
66
70
  @property
67
71
  def resolution(self) -> tuple[int, int]:
@@ -94,16 +98,22 @@ FBL_PROFILES: dict[int, DeviceProfile] = {
94
98
  100: DeviceProfile(320, 320, big_endian=True),
95
99
  101: DeviceProfile(320, 320, big_endian=True),
96
100
  102: DeviceProfile(320, 320, big_endian=True),
101
+ # Widescreen encode base is FIXED per resolution, sub-INDEPENDENT — the C#
102
+ # ImageToJpg switch keys only on the resolution flag + user orientation
103
+ # (TRCC.decompiled.cs:65285+): is854x480/is960x540/is1280x480/is800x480 → 0,
104
+ # is1600x720/is1920x462 → 180. Every value is base + default encode_invert
105
+ # (=True) so resolve_encode_angle sends (base − orientation), matching the C#
106
+ # at EVERY sub. The old encode_sub_bases overrides (folding sub into base)
107
+ # + FBL 224's encode_invert=False were a phantom — no C# basis — and put the
108
+ # frame 180° off at 90/270 for the affected subs. (#203/#169)
97
109
  114: DeviceProfile(1600, 720, jpeg=True, rotate=True, widescreen=True,
98
- encode_base=180, encode_sub_bases=((3, 0),)),
99
- 128: DeviceProfile(1280, 480, jpeg=True, rotate=True, widescreen=True,
100
- encode_sub_bases=((2, 90),)),
110
+ encode_base=180),
111
+ 128: DeviceProfile(1280, 480, jpeg=True, rotate=True, widescreen=True),
101
112
  129: DeviceProfile(480, 480,
102
113
  encode_pm_bases=((6, 180),)), # alias for 72
103
114
  192: DeviceProfile(1920, 462, jpeg=True, rotate=True, widescreen=True,
104
- encode_base=180, encode_sub_bases=((2, 0), (3, 0), (4, 0))),
105
- 224: DeviceProfile(854, 480, jpeg=True, rotate=True, widescreen=True,
106
- encode_invert=False, encode_sub_bases=((2, 180),)),
115
+ encode_base=180),
116
+ 224: DeviceProfile(854, 480, jpeg=True, rotate=True, widescreen=True),
107
117
  }
108
118
  # fmt: on
109
119
 
@@ -334,7 +344,7 @@ def wire_angle(
334
344
 
335
345
  * non-widescreen rotate panels → :func:`wire_rotation` (``base − orient``)
336
346
  * widescreen JPEG rotate panels → :func:`resolve_encode_angle` (the
337
- hardware-verified #169 per-resolution encode table)
347
+ C#-source-verified per-resolution encode base, #203/#169)
338
348
  * squares / non-rotate panels → user orientation only (``360 − orient``)
339
349
 
340
350
  A portrait-content theme on a rotate panel is pre-rotated at compose time
@@ -51,10 +51,11 @@ ALL_DEVICES: dict[tuple[int, int], ProductInfo] = {
51
51
  vid=0x0416, pid=0x5406,
52
52
  vendor="Winbond",
53
53
  product="LCD Display",
54
- # Elite Vision 360 ARGB (#212): enumerates vendor-specific with two BULK
55
- # endpoints, never a /dev/sg* node — it is a BULK device, not SCSI. Its
56
- # PM/resolution table already lives in _BULK_VARIANTS (variants.py).
57
- wire=Wire.BULK, kind=Kind.LCD,
54
+ # Elite Vision 360 ARGB (#212): USBLCDNew "Ali" variant driven by its
55
+ # own C# worker (ThreadSendDeviceDataALi), a DISTINCT bulk protocol from
56
+ # GrandVision (write EP 0x02, F5-handshake, validate resp[0]∈{101,102},
57
+ # fixed 320x320 RGB565). Not PM-table-driven — see adapters/device/ali_lcd.py.
58
+ wire=Wire.BULK_ALI, kind=Kind.LCD,
58
59
  device_type=4, fbl=100,
59
60
  native_resolution=(320, 320),
60
61
  orientations=(0, 90, 180, 270),
@@ -159,7 +159,8 @@ _VARIANT_REGISTRY: dict[
159
159
  (0x87AD, 0x70DB): _BULK_VARIANTS,
160
160
  (0x87CD, 0x70DB): _BULK_VARIANTS,
161
161
  (0x0402, 0x3922): _BULK_VARIANTS,
162
- (0x0416, 0x5406): _BULK_VARIANTS,
162
+ # 0416:5406 (Elite Vision 360) is the Wire.BULK_ALI variant — fixed
163
+ # 320x320 RGB565, no PM table (see adapters/device/ali_lcd.py). (#212)
163
164
  }
164
165
 
165
166
 
@@ -36,7 +36,7 @@ from ...core.commands import (
36
36
  PauseVideo,
37
37
  PlayVideo,
38
38
  RenderAndSend,
39
- RestoreLastTheme,
39
+ RestoreDeviceState,
40
40
  SeekVideo,
41
41
  SendColor,
42
42
  SetBackgroundMode,
@@ -815,9 +815,14 @@ def tick(key: str, request: Request) -> RenderResponse:
815
815
 
816
816
  @router.post("/restore-theme", response_model=ThemeResponse)
817
817
  def restore_theme(key: str, request: Request) -> ThemeResponse:
818
- """Reload the device's persisted theme."""
818
+ """Restore the device's display state (persisted theme + background).
819
+
820
+ Dispatches the unified ``RestoreDeviceState`` — persisted theme, or the
821
+ first available theme when none is saved, then replays the persisted
822
+ background video — the same path the GUI/CLI use at their display entry.
823
+ """
819
824
  log.info("api POST /devices/{key}/display/restore-theme: key=%s", key)
820
- result = request.app.state.trcc.dispatch(RestoreLastTheme(key=key))
825
+ result = request.app.state.trcc.dispatch(RestoreDeviceState(key=key))
821
826
  http_error_if_failed(result)
822
827
  return to_theme_response(result)
823
828
 
@@ -21,6 +21,7 @@ from __future__ import annotations
21
21
  import hmac
22
22
  import logging
23
23
  import time
24
+ from typing import TYPE_CHECKING
24
25
 
25
26
  from fastapi import FastAPI, Request
26
27
  from fastapi.responses import JSONResponse
@@ -28,6 +29,9 @@ from fastapi.staticfiles import StaticFiles
28
29
 
29
30
  from ...__version__ import __version__
30
31
  from ...app import App
32
+
33
+ if TYPE_CHECKING:
34
+ from ...core.ports import Platform
31
35
  from . import config, devices, display, led, system, theme
32
36
  from . import trcc as _trcc_router
33
37
 
@@ -223,8 +227,27 @@ def build_app(trcc: App | None = None) -> FastAPI:
223
227
  return api
224
228
 
225
229
 
226
- def serve(host: str = "127.0.0.1", port: int = 8080) -> None:
227
- """Run the API with uvicorn (blocking)."""
230
+ def run(platform: Platform | None = None, *,
231
+ host: str = "127.0.0.1", port: int = 8080) -> int:
232
+ """Serve the REST API from an injected ``Platform`` (blocking). Returns the
233
+ exit code.
234
+
235
+ The unified UI-launch contract (see ``METHOD_UI.md``): the composition root
236
+ injects the ``Platform`` port; this UI composes its App from it (a headless
237
+ ``QtRenderer`` — the API renders preview frames but has no widgets) and
238
+ ``build_app`` wraps it in the ASGI surface. ``platform=None`` uses the host
239
+ platform; the dev mock injects a ``MockPlatform``.
240
+ """
228
241
  import uvicorn
229
242
 
230
- uvicorn.run(build_app(), host=host, port=port, log_level="info")
243
+ from ..._boot import trcc
244
+ from ...adapters.render.qt import QtRenderer
245
+
246
+ app = trcc(platform=platform, renderer=QtRenderer())
247
+ uvicorn.run(build_app(trcc=app), host=host, port=port, log_level="info")
248
+ return 0
249
+
250
+
251
+ def serve(host: str = "127.0.0.1", port: int = 8080) -> None:
252
+ """Back-compat entry — serve on the host platform (blocking)."""
253
+ run(host=host, port=port)
@@ -27,6 +27,7 @@ from ...core.commands import (
27
27
  PlayVideo,
28
28
  RenderAndSend,
29
29
  RenderDcStandalone,
30
+ RestoreDeviceState,
30
31
  RestoreLastTheme,
31
32
  SeekVideo,
32
33
  SendColor,
@@ -221,7 +222,14 @@ def load_image(
221
222
  of the same image are cheap (no re-copy).
222
223
  """
223
224
  log.info("cli display load-image: key=%s path=%s", key, path)
224
- dispatch_echo(LoadImage(key=key, path=path))
225
+ # LoadImage → LoadTheme renders on the wire; attach the device first so a
226
+ # fresh CLI process doesn't fail "not connected". Idempotent. (#150)
227
+ app_obj = get_app()
228
+ ensure_connected(app_obj, key)
229
+ result = app_obj.dispatch(LoadImage(key=key, path=path))
230
+ typer.echo(result.message)
231
+ if not result.ok:
232
+ raise typer.Exit(code=1)
225
233
 
226
234
 
227
235
  @app.command("load-video")
@@ -437,6 +445,13 @@ def play(
437
445
 
438
446
  app_obj = get_app()
439
447
  ensure_connected(app_obj, key) # once, before the loop (not per tick)
448
+ # Self-prime: a fresh CLI process holds no in-memory theme, so RenderAndSend
449
+ # would fail "No active theme". Restore the device's persisted display
450
+ # state (theme + background) the way the GUI does on connect. (#150)
451
+ restore = app_obj.dispatch(RestoreDeviceState(key=key))
452
+ if not restore.ok:
453
+ typer.echo(restore.message, err=True)
454
+ raise typer.Exit(code=1)
440
455
  tick_s = interval if interval is not None else app_obj.settings.app.refresh_interval_s
441
456
  tick_s = max(0.05, tick_s)
442
457
 
@@ -762,7 +777,15 @@ def keepalive(
762
777
  f"Keepalive on {key} every {interval:.3f}s "
763
778
  f"(metric refresh every {metric_interval:.1f}s, Ctrl-C to stop)…"
764
779
  )
765
- result = get_app().dispatch(KeepAliveLoop(
780
+ app_obj = get_app()
781
+ ensure_connected(app_obj, key)
782
+ # Self-prime persisted display state so a rendered frame exists to resend
783
+ # — closes the "No cached frame — render at least once first" gap. (#150)
784
+ restore = app_obj.dispatch(RestoreDeviceState(key=key))
785
+ if not restore.ok:
786
+ typer.echo(restore.message, err=True)
787
+ raise typer.Exit(code=1)
788
+ result = app_obj.dispatch(KeepAliveLoop(
766
789
  key=key, count=count,
767
790
  interval_s=interval, metric_interval_s=metric_interval,
768
791
  ))
@@ -22,7 +22,7 @@ from ...core.commands import (
22
22
  SaveTheme,
23
23
  UploadCustomMask,
24
24
  )
25
- from ._ctx import get_app
25
+ from ._ctx import ensure_connected, get_app
26
26
 
27
27
  log = logging.getLogger(__name__)
28
28
 
@@ -114,6 +114,10 @@ def create(
114
114
  key, name, background, mask, metric,
115
115
  )
116
116
  app_obj = get_app()
117
+ # This CLI process holds no attached devices; LoadImage → LoadTheme renders
118
+ # on the wire, so attach first or it fails "not connected". Idempotent when
119
+ # a daemon/GUI already owns the device. (#150)
120
+ ensure_connected(app_obj, key)
117
121
 
118
122
  bg_result = app_obj.dispatch(LoadImage(key=key, path=background))
119
123
  if not bg_result.ok:
@@ -292,7 +296,12 @@ def cloud_load(
292
296
  ) -> None:
293
297
  """Download a cloud theme and load it on a device."""
294
298
  log.info("cli theme cloud-load: key=%s theme_id=%s", key, theme_id)
295
- result = get_app().dispatch(LoadCloudTheme(key=key, theme_id=theme_id))
299
+ app_obj = get_app()
300
+ # LoadCloudTheme dispatches PlayVideo on the wire; this stateless CLI
301
+ # process must attach the device first or it fails "Not attached".
302
+ # Idempotent when a daemon/GUI already holds it. (#150)
303
+ ensure_connected(app_obj, key)
304
+ result = app_obj.dispatch(LoadCloudTheme(key=key, theme_id=theme_id))
296
305
  typer.echo(result.message)
297
306
  if result.theme_path:
298
307
  typer.echo(f" staged at: {result.theme_path}")