trcc-linux 5.1.1__tar.gz → 5.2.0__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.
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/PKG-INFO +1 -1
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/pyproject.toml +1 -1
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/__version__.py +12 -1
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/hid.py +34 -20
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/scsi.py +176 -3
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/data_repository.py +7 -1
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/debug_report.py +26 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/system/sensors.py +15 -4
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/core/models.py +5 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/base.py +38 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/qt_app_mvc.py +36 -16
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/device.py +5 -4
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/display.py +11 -7
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/overlay.py +65 -10
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_debug_report.py +3 -2
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_device_lcd.py +11 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/.gitignore +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/LICENSE +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/README.md +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/__main__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/bulk.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/detector.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/factory.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/frame.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/lcd.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/led.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/led_kvm.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/device/led_segment.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/binary_reader.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/dc_config.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/dc_parser.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/dc_writer.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/doctor.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/font_resolver.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/media_player.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/theme_cloud.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/infra/theme_downloader.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/render/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/render/pil.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/system/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/system/config.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/system/hardware.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/adapters/system/info.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/api.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/fonts/MSYH.TTC +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/fonts/README.md +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/240240.gif +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/240320.gif +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/320240.gif +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/320320.gif +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/345/205/263/344/272/216.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/345/205/263/344/272/216d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/345/205/263/344/272/216e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/345/205/263/344/272/216en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/345/205/263/344/272/216f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/345/205/263/344/272/216p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/345/205/263/344/272/216r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/345/205/263/344/272/216tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/345/205/263/344/272/216x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/345/220/257/345/212/250/347/225/214/351/235/242.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/346/225/260/346/215/256/345/210/227/350/241/250.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A0/347/241/254/344/273/266/345/210/227/350/241/250.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AK120 Digital.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AK120 Digitala.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AK120_Digital.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AK120_Digitala.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AS120 VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AS120 VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AS120_VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AS120_VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AX120 DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AX120 DIGITALa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AX120_DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1AX120_DIGITALa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1BA120 VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1BA120 VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1BA120_VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1BA120_VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1CORE VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1CORE VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1CORE_VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1CORE_VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1CZ1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1CZ1a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1CZTV.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1CZTVa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1ELITE VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1ELITE VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1ELITE_VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1ELITE_VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN HORIZON PRO.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN HORIZON PROa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN MAGIC PRO.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN MAGIC PROa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN VISION V2.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN VISION V2a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN WARFRAME PRO.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN WARFRAME PROa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN WARFRAME SE.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN WARFRAME SEa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN WARFRAME.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN WARFRAMEa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_HORIZON_PRO.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_HORIZON_PROa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_MAGIC_PRO.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_MAGIC_PROa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_VISION_V2.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_VISION_V2a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_WARFRAME.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_WARFRAME_PRO.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_WARFRAME_PROa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_WARFRAME_SE.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_WARFRAME_SEa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1FROZEN_WARFRAMEa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1GRAND VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1GRAND VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1GRAND_VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1GRAND_VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1HR10 2280 PRO DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1HR10 2280 PRO DIGITALa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1HYPER VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1HYPER VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1HYPER_VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1HYPER_VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1KVMALEDC6.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1KVMALEDC6a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LC1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LC1a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LC2.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LC2JD.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LC2JDa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LC2a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LC3.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LC3a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LC5.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LC5a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF10.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF10a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF11.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF11a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF12.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF12a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF13.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF13a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF14.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF14a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF15.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF15a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF16.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF167.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF16a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF17a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF18.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF18a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF19.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF19a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF8.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LF8a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LM16SE.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LM16SEa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LM22.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LM22a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LM24.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LM24a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LM26.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LM26a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LM27.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1LM27a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Mjolnir VISION PRO.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Mjolnir VISION PROa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Mjolnir VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Mjolnir VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Mjolnir_VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Mjolnir_VISION_PRO.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Mjolnir_VISION_PROa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Mjolnir_VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1PA120 DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1PA120 DIGITALa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1PA120_DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1PA120_DIGITALa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1RK120 DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1RK120 DIGITALa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1RK120_DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1RK120_DIGITALa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1RP130 VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1RP130 VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1RP130_VISION.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1RP130_VISIONa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Stream Vision.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Stream Visiona.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Stream_Vision.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1Stream_Visiona.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1/344/274/240/346/204/237/345/231/250.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1/344/274/240/346/204/237/345/231/250a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1/345/205/263/344/272/216.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A1/345/205/263/344/272/216a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A2_update_overlay.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A2/344/270/213/346/213/211/346/241/206/345/272/225/345/233/276.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A2/344/270/213/346/213/211/346/241/206/351/200/211/346/213/251/346/235/241.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A2/344/270/213/346/213/211/351/200/211/346/213/251/346/241/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A2/347/253/213/345/215/263/346/233/264/346/226/260.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Acpu.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Adram.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Afan.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Agpu.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Ahdd.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Alogout/351/200/211/344/270/255.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Alogout/351/273/230/350/256/244.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Anet.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A/344/270/212/344/270/200/351/241/265a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A/344/270/213/344/270/200/351/241/265a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A/345/242/236/345/212/240/346/225/260/347/273/204.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A/346/225/260/346/215/256/351/200/211/346/213/251.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A/346/273/232/345/212/250/346/235/241.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/A/350/207/252/345/256/232/344/271/211.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0CZ1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0CZ1d.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0CZ1e.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0CZ1en.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0CZ1f.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0CZ1p.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0CZ1r.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0CZ1tc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0CZ1x.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0KVMA/347/201/257/346/216/247.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC1d.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC1e.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC1en.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC1f.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC1p.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC1r.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC1tc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC1x.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC2.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC2d.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC2e.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC2en.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC2f.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC2p.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC2r.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC2tc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LC2x.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF10.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF10d.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF10e.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF10en.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF10f.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF10p.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF10r.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF10tc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF10x.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF11.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF11d.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF11e.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF11en.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF11f.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF11p.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF11r.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF11tc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF11x.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF12.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF12d.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF12e.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF12en.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF12f.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF12p.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF12r.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF12tc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF12x.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF13.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF13d.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF13e.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF13en.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF13f.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF13p.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF13r.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF13tc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF13x.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF15.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF15d.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF15e.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF15en.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF15f.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF15p.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF15r.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF15tc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF15x.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF8.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF8d.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF8e.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF8en.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF8f.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF8p.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF8r.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF8tc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0LF8x.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0rgblf13.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D1/345/244/226/351/203/250/350/276/223/345/207/272.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D1/345/244/226/351/203/250/350/276/223/345/207/272a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D1/345/244/264/347/233/2241.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D1/345/244/264/347/233/2242.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D1/345/244/264/347/233/2243.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D1/345/244/264/347/233/2244.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D1/345/244/264/347/233/2245.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D1/347/201/257/345/205/211/350/201/232/345/220/210.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D1/347/201/257/345/205/211/350/201/232/345/220/210a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2111.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/21110.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/21110a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/21111.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/21111a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/21112.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/21112a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2111a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2112.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2112a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2113.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2113a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2114.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2114a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2115.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2115a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2116.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2116a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2117.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2117a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2118.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2118a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2119.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D2/347/201/257/345/205/2119a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/345/274/200/345/205/263.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/345/274/200/345/205/263a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/345/274/200/345/205/263b.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/346/227/213/351/222/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/346/227/213/351/222/2560.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/346/251/231.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/346/271/226.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/346/273/221/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2001.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2001a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2002.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2002a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2003.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2003a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/347/231/275.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/347/264/253.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/347/272/242.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/347/273/277.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/350/223/235.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D3/351/273/204.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/345/274/200/346/234/272.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/345/274/200/346/234/272a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/214/211/351/222/2561.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/214/211/351/222/2561a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/214/211/351/222/2562.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/214/211/351/222/2562a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/214/211/351/222/2563.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/214/211/351/222/2563a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/214/211/351/222/2564.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/214/211/351/222/2564a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2171.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2171a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2172.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2172a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2173.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2173a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2174.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2174a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2175.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2175a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2176.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D4/346/250/241/345/274/2176a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DAK120_DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DAX120_DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DCZ1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DFROZEN_HORIZON_PRO.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DFROZEN_MAGIC_PRO.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DLC1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DLC2.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DLF10.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DLF11.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DLF12.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DLF13.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DLF15.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DLF8.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DPA120 DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/DPA120_DIGITAL.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Dch1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Dch2.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Dch3.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Dch4.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/Dchcz1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D/344/270/213/346/213/211/346/241/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D/344/270/213/346/213/211/346/241/2062.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D/344/270/213/346/213/211/350/217/234/345/215/225.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D/344/270/213/346/213/211/350/217/234/345/215/2252.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D/344/270/213/346/213/211/351/253/230/344/272/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/D/344/270/213/346/213/211/351/253/230/344/272/2562.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/FROZEN_WARFRAME_Ultra.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/FROZEN_WARFRAME_Ultraa.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/206/205/345/256/271.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/206/205/345/256/271d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/206/205/345/256/271e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/206/205/345/256/271en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/206/205/345/256/271f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/206/205/345/256/271p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/206/205/345/256/271r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/206/205/345/256/271tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/206/205/345/256/271x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/212/250/347/224/273/350/201/224/345/212/250.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/242/236/345/212/240/345/206/205/345/256/271.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/242/236/345/212/240/345/206/205/345/256/271/351/201/256/347/275/251.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xy.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyd.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xye.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyen.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyf.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyp.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyr.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xytc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyx.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yx.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxd.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxe.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxen.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxf.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxp.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxr.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxtc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxx.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/346/250/241/345/235/227/350/256/276/347/275/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2501.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2502.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2503.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0CZTV.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0CZTVd.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0CZTVe.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0CZTVen.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0CZTVf.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0CZTVp.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0CZTVr.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0CZTVtc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0CZTVx.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0M1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0M2.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0M3.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0M4.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0M5.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0M5a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0M6.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/270/273/351/242/230/350/256/276/347/275/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217116480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217180400.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217180480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240320.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240400.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240427.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217270480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217320240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217320320.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217360360.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217400180.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217400240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217427240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480116.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480180.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480270.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/222/255/346/224/276.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/222/255/346/224/276/345/231/250/346/216/247/345/210/266.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/232/202/345/201/234.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217116480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217180400.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217180480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217240240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217240320.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217240400.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217240427.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217270480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217320240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217320320.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217360360.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217400180.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217400240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217427240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217480116.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217480180.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217480270.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/350/243/201/345/207/217480480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/2271280X480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/2271920X462.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227360X800.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227462X1920.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X1280.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X800.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X854.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227540X960.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227800X360.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227800X480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227854X480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227960X540.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P12H.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P1/347/263/273/347/273/237/344/277/241/346/201/257en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P1/347/263/273/347/273/237/344/277/241/346/201/257tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P240240.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P240320.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P24H.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P320240.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P320320.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PDM.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PDMY.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PL0.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PL1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PL2.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PL3.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM1.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM1a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM2.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM2a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM3.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM3a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM4.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM4a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM5.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM5a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM6.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PM6a.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PMD.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/PYMD.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/345/272/225/345/233/2762X.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/345/272/225/345/233/2764X.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/351/253/230/344/272/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/270/273/351/242/230/345/210/206/347/261/273/351/200/211/346/213/251.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/270/273/351/242/230/345/210/206/347/261/273/351/200/211/346/213/2510.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/256/276/347/275/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/256/276/347/275/256a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/275/256/346/222/255.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/275/256/346/222/255a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/272/221/347/253/257/344/270/273/351/242/230a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/272/221/347/253/257/350/203/214/346/231/257a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/344/277/235/345/255/230/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/205/263/351/227/255/346/214/211/351/222/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/205/263/351/227/255/346/214/211/351/222/2562.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/207/217.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/211/252/350/276/221/345/235/227a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/211/252/350/276/221/345/235/227b.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/212/237/350/203/275/351/200/211/346/213/251.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/212/237/350/203/275/351/200/211/346/213/251a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/212/240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/212/250/347/224/273.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/215/225/344/275/215/345/274/200/345/205/263.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/215/225/344/275/215/345/274/200/345/205/263a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/217/226/350/211/262.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/220/270/347/256/241.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/233/276/347/211/207.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/234/206/345/275/242/345/205/263/351/227/255.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/234/206/345/275/242/347/241/256/345/256/232.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/242/236/345/212/240/345/206/205/345/256/271.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/226/207/346/234/254.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/227/245/346/234/237.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/227/266/351/227/264.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/230/237/346/234/237.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/244/232/351/200/211.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/244/232/351/200/211a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/256/275/345/272/246/351/200/202/345/272/224.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/257/274/345/205/245.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/257/274/345/207/272.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/257/274/345/207/272/346/211/200/346/234/211/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/345/270/256/345/212/251.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/225/260/345/255/227/345/255/227/344/275/223.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/225/260/346/215/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/226/207/345/255/227/345/255/227/344/275/223.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/226/207/346/234/254.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/227/213/350/275/254.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/227/245/346/234/237.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/227/266/351/227/264.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/230/237/346/234/237.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/230/276/347/244/272/350/276/271/346/241/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/230/276/347/244/272/350/276/271/346/241/206A.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/234/254/345/234/260/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/234/254/345/234/260/344/270/273/351/242/230a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/273/221/345/212/250/345/205/263.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/273/221/345/212/250/345/274/200.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/273/221/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/273/232/345/212/250/346/235/241/345/272/225/345/233/276.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/346/273/232/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233180.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233270.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/23390.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a180.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a270.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a90.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b180.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b270.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b90.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/202/271/351/200/211/346/241/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/202/271/351/200/211/346/241/206A.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/216/257H1.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/216/257H2.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/216/257H3.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/216/257H4.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/216/257H5.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/216/257H6.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/233/264/346/222/255/350/247/206/351/242/221/350/275/275/345/205/245.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/275/221/347/273/234.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/347/275/221/347/273/234/346/214/211/351/222/256.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/222/231/346/235/277.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/243/201/345/207/217.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/247/206/351/242/221.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/275/256/346/222/255.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/275/256/346/222/2551.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/275/256/346/222/2552.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/275/256/346/222/2553.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/275/256/346/222/2554.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/275/256/346/222/2555.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/275/256/346/222/2556.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/275/256/346/222/255a.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/275/256/346/222/255/351/200/211/346/241/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/275/275/345/205/245/345/212/250/347/224/273.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/350/277/233/345/272/246/346/235/241.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/200/211/344/270/255.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/200/211/346/213/251/346/241/206M.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/200/211/346/213/251/346/241/206Ma.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210116X480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210180X400.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210180X480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210240X240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210240X320.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210240X400.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210240X427.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210270X480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210320X240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210320X320.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210320X320/345/234/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210360360/345/234/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210400X180.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210400X240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210427X240.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210480X116.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210480X180.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210480X270.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210480X480.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210480X480/345/234/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/212/250/347/224/273.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/234/206/345/275/242/351/201/256/347/275/251320320/345/234/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/234/206/345/275/242/351/201/256/347/275/251360360/345/234/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/234/206/345/275/242/351/201/256/347/275/251480480/345/234/206.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/234/350/211/262/346/273/221/345/212/250/345/235/227.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/242/234/350/211/262/351/200/211/346/213/251/345/234/210.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/P/351/253/230/345/272/246/351/200/202/345/272/224.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p0/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257d.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257e.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257en.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257f.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257p.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257r.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257tc.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257x.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/p/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/ucBoFangQiKongZhi1.BackgroundImage.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/ucBoFangQiKongZhi1_BackgroundImage.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/ucVideoCut1.BackgroundImage.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/ucVideoCut1_BackgroundImage.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/ucXiTongXianShi1.BackgroundImage.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/ucXiTongXianShiAdd1.BackgroundImage.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/ucXiTongXianShiColor1.BackgroundImage.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/gui/ucXiTongXianShiTable1.BackgroundImage.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/icons/app.ico +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/icons/trcc.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/icons/trcc_128x128.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/icons/trcc_16x16.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/icons/trcc_24x24.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/icons/trcc_256x256.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/icons/trcc_32x32.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/icons/trcc_48x48.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/assets/icons/trcc_64x64.png +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/cli/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/cli/__main__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/cli/_device.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/cli/_diag.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/cli/_display.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/cli/_led.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/cli/_system.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/cli/_theme.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/conf.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/core/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/core/controllers.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/data/trcc_usb.te +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/install/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/install/gui.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/assets.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/constants.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/eyedropper.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/pipewire_capture.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/screen_capture.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_about.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_activity_sidebar.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_color_wheel.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_device.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_image_cut.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_info_module.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_led_control.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_preview.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_screen_led.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_sensor_picker.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_system_info.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_theme_local.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_theme_mask.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_theme_setting.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_theme_web.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/qt_components/uc_video_cut.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/image.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/led.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/led_effects.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/media.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/renderer.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/system.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/src/trcc/services/theme.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/README.md +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/conftest.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/hid_testing/__init__.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/hid_testing/conftest.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/hid_testing/test_device_factory.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/hid_testing/test_device_hid.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/hid_testing/test_device_led.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/hid_testing/test_led_controller.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/run_tests.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_api.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_architecture.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_ax120_display.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_base_panel.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_cli.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_cloud_video.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_controllers.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_data_repository.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_dc_parser.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_dc_writer.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_device_bulk.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_device_detector.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_device_implementations.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_device_led_kvm.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_device_scsi.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_doctor.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_frame_device.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_integration.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_media_player.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_models.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_overlay_renderer.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_qt_base.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_qt_constants.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_qt_widgets.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_services.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_system_config.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_system_info.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_system_sensors.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_theme_cloud.py +0 -0
- {trcc_linux-5.1.1 → trcc_linux-5.2.0}/tests/test_theme_downloader.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trcc-linux
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.2.0
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""TRCC Linux version information."""
|
|
2
2
|
|
|
3
|
-
__version__ = "5.
|
|
3
|
+
__version__ = "5.2.0"
|
|
4
4
|
__version_info__ = tuple(int(x) for x in __version__.split("."))
|
|
5
5
|
|
|
6
6
|
# Version history:
|
|
@@ -266,3 +266,14 @@ __version_info__ = tuple(int(x) for x in __version__.split("."))
|
|
|
266
266
|
# extract LEDEffectEngine from LEDService (Strategy pattern), move
|
|
267
267
|
# HW info to adapters/system/hardware.py, shared test conftest.py.
|
|
268
268
|
# Net -3100 lines. 2286 tests.
|
|
269
|
+
# 5.1.2 - Fix SCSI SG_IO ioctl (was silently broken — ctypes bytearray bug
|
|
270
|
+
# caused every write to fork sg_raw subprocess). Pre-allocate ctypes
|
|
271
|
+
# buffers per chunk size. Cache shutil.which('sg_raw'). Cache
|
|
272
|
+
# psutil.cpu_freq (10s TTL). Slow sensor poll 2s→4s. CPU usage
|
|
273
|
+
# drops ~21%→15% (animated theme), ~7% (static). 2286 tests.
|
|
274
|
+
# 5.2.0 - HID Type 2 JPEG encoding for large-resolution devices: 1280x480
|
|
275
|
+
# (Trofeo Vision), 1600x720, 1920x462, 854x480, 960x540, 800x480,
|
|
276
|
+
# 360x360 (FanLCD). C# uses ImageToJpg() (mode 2) instead of
|
|
277
|
+
# ImageTo565() (mode 3) for these FBLs — header byte[6]=0x00 with
|
|
278
|
+
# actual width/height instead of hardcoded 240x320. Auto-detects
|
|
279
|
+
# JPEG by FF D8 magic bytes. Addresses #34/#35. 2286 tests.
|
|
@@ -349,36 +349,46 @@ class HidDeviceType2(HidDevice):
|
|
|
349
349
|
# -- Frame send -------------------------------------------------------
|
|
350
350
|
|
|
351
351
|
@staticmethod
|
|
352
|
-
def build_frame_packet(
|
|
352
|
+
def build_frame_packet(
|
|
353
|
+
image_data: bytes,
|
|
354
|
+
width: int = 240,
|
|
355
|
+
height: int = 320,
|
|
356
|
+
) -> bytes:
|
|
353
357
|
"""Build a frame packet from raw image data.
|
|
354
358
|
|
|
355
|
-
C# FormCZTV
|
|
359
|
+
C# FormCZTV has two encoding modes for HID Type 2:
|
|
360
|
+
|
|
361
|
+
**Mode 3** (RGB565, ``ImageTo565()``): hardcoded 240x320 header::
|
|
356
362
|
|
|
357
363
|
DA DB DC DD 02 00 01 00 F0 00 40 01 02 00 00 00 [len_LE32]
|
|
358
364
|
|
|
359
|
-
|
|
360
|
-
- [4] 02 — SSCRM_CMD_TYPE_PICTURE
|
|
361
|
-
- [6] 01 — mode flag
|
|
362
|
-
- [8:10] F0 00 — 240 (LE16, hardcoded in C#)
|
|
363
|
-
- [10:12] 40 01 — 320 (LE16, hardcoded in C#)
|
|
364
|
-
- [12] 02 — sub-flag
|
|
365
|
-
- [16:20] image data length (LE uint32)
|
|
365
|
+
**Mode 2** (JPEG, ``ImageToJpg()``): actual resolution in header::
|
|
366
366
|
|
|
367
|
-
|
|
368
|
-
boundary (C#: ``num2 / 512 * 512 + (num2 % 512 != 0 ? 512 : 0)``).
|
|
367
|
+
DA DB DC DD 02 00 00 00 WW WW HH HH 02 00 00 00 [len_LE32]
|
|
369
368
|
|
|
370
|
-
|
|
369
|
+
Differences: byte[6] = 0x01 (RGB565) vs 0x00 (JPEG),
|
|
370
|
+
bytes[8:12] = hardcoded 240x320 vs actual width/height.
|
|
371
|
+
|
|
372
|
+
JPEG is auto-detected by FF D8 magic bytes.
|
|
373
|
+
The total transfer length is 512-byte aligned.
|
|
371
374
|
"""
|
|
372
|
-
|
|
375
|
+
is_jpeg = len(image_data) >= 2 and image_data[0] == 0xFF and image_data[1] == 0xD8
|
|
376
|
+
|
|
373
377
|
header = bytearray([
|
|
374
378
|
0xDA, 0xDB, 0xDC, 0xDD, # magic
|
|
375
379
|
0x02, 0x00, # cmd_type = PICTURE
|
|
376
|
-
0x01, 0x00, # mode flag
|
|
377
|
-
0xF0, 0x00, # 240 (LE16, hardcoded)
|
|
378
|
-
0x40, 0x01, # 320 (LE16, hardcoded)
|
|
379
|
-
0x02, 0x00, 0x00, 0x00, # sub-flag
|
|
380
380
|
])
|
|
381
|
+
if is_jpeg:
|
|
382
|
+
# Mode 2: JPEG — byte[6]=0x00, actual resolution
|
|
383
|
+
header.extend(b'\x00\x00')
|
|
384
|
+
header.extend(struct.pack('<HH', width, height))
|
|
385
|
+
else:
|
|
386
|
+
# Mode 3: RGB565 — byte[6]=0x01, hardcoded 240x320
|
|
387
|
+
header.extend(b'\x01\x00')
|
|
388
|
+
header.extend(struct.pack('<HH', 240, 320))
|
|
389
|
+
header.extend([0x02, 0x00, 0x00, 0x00]) # sub-flag
|
|
381
390
|
header.extend(struct.pack('<I', len(image_data)))
|
|
391
|
+
|
|
382
392
|
raw = bytes(header) + image_data
|
|
383
393
|
padded_len = _ceil_to_512(len(raw))
|
|
384
394
|
return raw.ljust(padded_len, b'\x00')
|
|
@@ -390,9 +400,11 @@ class HidDeviceType2(HidDevice):
|
|
|
390
400
|
buffer in a single Transfer() call. pyusb splits into USB packets
|
|
391
401
|
internally — the device sees one logical transfer.
|
|
392
402
|
|
|
403
|
+
For JPEG-mode devices (FBL in JPEG_MODE_FBLS), the header includes
|
|
404
|
+
actual width/height. For RGB565 devices, header uses hardcoded 240x320.
|
|
405
|
+
|
|
393
406
|
Args:
|
|
394
|
-
image_data: Raw image bytes (
|
|
395
|
-
device expects).
|
|
407
|
+
image_data: Raw image bytes (RGB565 or JPEG depending on device).
|
|
396
408
|
|
|
397
409
|
Returns:
|
|
398
410
|
True if the transfer succeeded.
|
|
@@ -403,7 +415,9 @@ class HidDeviceType2(HidDevice):
|
|
|
403
415
|
if not self._initialized:
|
|
404
416
|
raise RuntimeError("Type 2 device not initialized — call handshake() first")
|
|
405
417
|
|
|
406
|
-
|
|
418
|
+
di = self.device_info
|
|
419
|
+
w, h = di.resolution if di is not None and di.resolution is not None else (240, 320)
|
|
420
|
+
packet = self.build_frame_packet(image_data, w, h)
|
|
407
421
|
|
|
408
422
|
# C# USBLCDNEW ThreadSendDeviceDataH: single Transfer() call
|
|
409
423
|
total = self.transport.write(EP_WRITE_02, packet, DEFAULT_TIMEOUT_MS)
|
|
@@ -7,10 +7,18 @@ This module provides those two functions.
|
|
|
7
7
|
SCSI send protocol is inlined here (from trcc_handshake_v2) so everything
|
|
8
8
|
lives in one place under src/trcc/. LCDDriver is used only for resolution
|
|
9
9
|
auto-detection during device discovery.
|
|
10
|
+
|
|
11
|
+
Performance: uses native SG_IO ioctl when available (no subprocess fork).
|
|
12
|
+
Falls back to sg_raw subprocess automatically on older kernels or permission
|
|
13
|
+
issues.
|
|
10
14
|
"""
|
|
15
|
+
from __future__ import annotations
|
|
11
16
|
|
|
12
17
|
import binascii
|
|
18
|
+
import ctypes
|
|
19
|
+
import fcntl
|
|
13
20
|
import logging
|
|
21
|
+
import os
|
|
14
22
|
import struct
|
|
15
23
|
import subprocess
|
|
16
24
|
import tempfile
|
|
@@ -24,6 +32,145 @@ from trcc.core.models import HandshakeResult, fbl_to_resolution
|
|
|
24
32
|
|
|
25
33
|
log = logging.getLogger(__name__)
|
|
26
34
|
|
|
35
|
+
# =========================================================================
|
|
36
|
+
# SG_IO ioctl — direct SCSI passthrough (no subprocess fork)
|
|
37
|
+
# =========================================================================
|
|
38
|
+
|
|
39
|
+
_SG_IO = 0x2285
|
|
40
|
+
_SG_DXFER_TO_DEV = -2
|
|
41
|
+
_SG_DXFER_FROM_DEV = -3
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class _SgIoHdr(ctypes.Structure):
|
|
45
|
+
"""Linux sg_io_hdr_t for SG_IO ioctl."""
|
|
46
|
+
|
|
47
|
+
_fields_ = [
|
|
48
|
+
('interface_id', ctypes.c_int),
|
|
49
|
+
('dxfer_direction', ctypes.c_int),
|
|
50
|
+
('cmd_len', ctypes.c_ubyte),
|
|
51
|
+
('mx_sb_len', ctypes.c_ubyte),
|
|
52
|
+
('iovec_count', ctypes.c_ushort),
|
|
53
|
+
('dxfer_len', ctypes.c_uint),
|
|
54
|
+
('dxferp', ctypes.c_void_p),
|
|
55
|
+
('cmdp', ctypes.c_void_p),
|
|
56
|
+
('sbp', ctypes.c_void_p),
|
|
57
|
+
('timeout', ctypes.c_uint),
|
|
58
|
+
('flags', ctypes.c_uint),
|
|
59
|
+
('pack_id', ctypes.c_int),
|
|
60
|
+
('usr_ptr', ctypes.c_void_p),
|
|
61
|
+
('status', ctypes.c_ubyte),
|
|
62
|
+
('masked_status', ctypes.c_ubyte),
|
|
63
|
+
('msg_status', ctypes.c_ubyte),
|
|
64
|
+
('sb_len_wr', ctypes.c_ubyte),
|
|
65
|
+
('host_status', ctypes.c_ushort),
|
|
66
|
+
('driver_status', ctypes.c_ushort),
|
|
67
|
+
('resid', ctypes.c_int),
|
|
68
|
+
('duration', ctypes.c_uint),
|
|
69
|
+
('info', ctypes.c_uint),
|
|
70
|
+
]
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
# Module state: None = untested, True/False = tested
|
|
74
|
+
_sg_io_available: bool | None = None
|
|
75
|
+
# Cached file descriptors per device path
|
|
76
|
+
_device_fds: dict[str, int] = {}
|
|
77
|
+
|
|
78
|
+
# Pre-allocated SG_IO buffers per data size (avoids ctypes alloc per write).
|
|
79
|
+
# Key: data length → (cdb_buf, data_buf, sense_buf, hdr, ioctl_buf)
|
|
80
|
+
_SG_HDR_SIZE = ctypes.sizeof(_SgIoHdr)
|
|
81
|
+
_write_bufs: dict[int, tuple] = {}
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
def _get_device_fd(dev: str) -> int:
|
|
85
|
+
"""Get or open a file descriptor for the SCSI generic device."""
|
|
86
|
+
fd = _device_fds.get(dev)
|
|
87
|
+
if fd is not None:
|
|
88
|
+
return fd
|
|
89
|
+
fd = os.open(dev, os.O_RDWR | os.O_NONBLOCK)
|
|
90
|
+
_device_fds[dev] = fd
|
|
91
|
+
return fd
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def _close_device_fd(dev: str) -> None:
|
|
95
|
+
"""Close and remove cached fd."""
|
|
96
|
+
fd = _device_fds.pop(dev, None)
|
|
97
|
+
if fd is not None:
|
|
98
|
+
try:
|
|
99
|
+
os.close(fd)
|
|
100
|
+
except OSError:
|
|
101
|
+
pass
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def _get_write_bufs(cdb_len: int, data_len: int) -> tuple:
|
|
105
|
+
"""Get or create pre-allocated ctypes buffers for a given data size."""
|
|
106
|
+
bufs = _write_bufs.get(data_len)
|
|
107
|
+
if bufs is not None:
|
|
108
|
+
return bufs
|
|
109
|
+
cdb_buf = (ctypes.c_ubyte * cdb_len)()
|
|
110
|
+
data_buf = (ctypes.c_ubyte * data_len)()
|
|
111
|
+
sense_buf = (ctypes.c_ubyte * 32)()
|
|
112
|
+
hdr = _SgIoHdr()
|
|
113
|
+
ioctl_buf = ctypes.create_string_buffer(_SG_HDR_SIZE)
|
|
114
|
+
# Pre-fill immutable header fields
|
|
115
|
+
hdr.interface_id = ord('S')
|
|
116
|
+
hdr.dxfer_direction = _SG_DXFER_TO_DEV
|
|
117
|
+
hdr.cmd_len = cdb_len
|
|
118
|
+
hdr.mx_sb_len = 32
|
|
119
|
+
hdr.dxfer_len = data_len
|
|
120
|
+
hdr.dxferp = ctypes.addressof(data_buf)
|
|
121
|
+
hdr.cmdp = ctypes.addressof(cdb_buf)
|
|
122
|
+
hdr.sbp = ctypes.addressof(sense_buf)
|
|
123
|
+
hdr.timeout = 10000
|
|
124
|
+
bufs = (cdb_buf, data_buf, sense_buf, hdr, ioctl_buf)
|
|
125
|
+
_write_bufs[data_len] = bufs
|
|
126
|
+
return bufs
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
def _sg_io_write(dev: str, cdb: bytes, data: bytes) -> bool:
|
|
130
|
+
"""SCSI write via SG_IO ioctl. No subprocess, no temp file."""
|
|
131
|
+
fd = _get_device_fd(dev)
|
|
132
|
+
|
|
133
|
+
cdb_buf, data_buf, _sense, hdr, ioctl_buf = _get_write_bufs(len(cdb), len(data))
|
|
134
|
+
# Copy payload into pre-allocated buffers
|
|
135
|
+
ctypes.memmove(cdb_buf, cdb, len(cdb))
|
|
136
|
+
ctypes.memmove(data_buf, data, len(data))
|
|
137
|
+
|
|
138
|
+
ctypes.memmove(ioctl_buf, ctypes.addressof(hdr), _SG_HDR_SIZE)
|
|
139
|
+
fcntl.ioctl(fd, _SG_IO, ioctl_buf)
|
|
140
|
+
ctypes.memmove(ctypes.addressof(hdr), ioctl_buf, _SG_HDR_SIZE)
|
|
141
|
+
|
|
142
|
+
return hdr.status == 0
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
def _sg_io_read(dev: str, cdb: bytes, length: int) -> bytes:
|
|
146
|
+
"""SCSI read via SG_IO ioctl. No subprocess."""
|
|
147
|
+
fd = _get_device_fd(dev)
|
|
148
|
+
|
|
149
|
+
cdb_buf = (ctypes.c_ubyte * len(cdb)).from_buffer_copy(cdb)
|
|
150
|
+
data_buf = (ctypes.c_ubyte * length)()
|
|
151
|
+
sense_buf = (ctypes.c_ubyte * 32)()
|
|
152
|
+
|
|
153
|
+
hdr = _SgIoHdr()
|
|
154
|
+
hdr.interface_id = ord('S')
|
|
155
|
+
hdr.dxfer_direction = _SG_DXFER_FROM_DEV
|
|
156
|
+
hdr.cmd_len = len(cdb)
|
|
157
|
+
hdr.mx_sb_len = 32
|
|
158
|
+
hdr.dxfer_len = length
|
|
159
|
+
hdr.dxferp = ctypes.addressof(data_buf)
|
|
160
|
+
hdr.cmdp = ctypes.addressof(cdb_buf)
|
|
161
|
+
hdr.sbp = ctypes.addressof(sense_buf)
|
|
162
|
+
hdr.timeout = 10000
|
|
163
|
+
|
|
164
|
+
buf = ctypes.create_string_buffer(ctypes.sizeof(hdr))
|
|
165
|
+
ctypes.memmove(buf, ctypes.addressof(hdr), ctypes.sizeof(hdr))
|
|
166
|
+
fcntl.ioctl(fd, _SG_IO, buf)
|
|
167
|
+
ctypes.memmove(ctypes.addressof(hdr), buf, ctypes.sizeof(hdr))
|
|
168
|
+
|
|
169
|
+
if hdr.status != 0:
|
|
170
|
+
return b''
|
|
171
|
+
actual = length - hdr.resid
|
|
172
|
+
return bytes(data_buf[:actual])
|
|
173
|
+
|
|
27
174
|
# Boot signature: device still initializing its display controller
|
|
28
175
|
_BOOT_SIGNATURE = b'\xa1\xa2\xa3\xa4'
|
|
29
176
|
_BOOT_WAIT_SECONDS = 3.0
|
|
@@ -103,7 +250,19 @@ class ScsiDevice(FrameDevice):
|
|
|
103
250
|
|
|
104
251
|
@staticmethod
|
|
105
252
|
def _scsi_read(dev: str, cdb: bytes, length: int) -> bytes:
|
|
106
|
-
"""Execute SCSI READ via sg_raw."""
|
|
253
|
+
"""Execute SCSI READ via SG_IO ioctl (or sg_raw fallback)."""
|
|
254
|
+
global _sg_io_available
|
|
255
|
+
if _sg_io_available is not False:
|
|
256
|
+
try:
|
|
257
|
+
result = _sg_io_read(dev, cdb, length)
|
|
258
|
+
_sg_io_available = True
|
|
259
|
+
return result
|
|
260
|
+
except OSError as e:
|
|
261
|
+
if _sg_io_available is None:
|
|
262
|
+
log.warning("SG_IO read failed (%s: %s), falling back to sg_raw",
|
|
263
|
+
type(e).__name__, e)
|
|
264
|
+
_sg_io_available = False
|
|
265
|
+
|
|
107
266
|
SysUtils.require_sg_raw()
|
|
108
267
|
cdb_hex = ' '.join(f'{b:02x}' for b in cdb)
|
|
109
268
|
cmd = ['sg_raw', '-r', str(length), dev] + cdb_hex.split()
|
|
@@ -112,9 +271,23 @@ class ScsiDevice(FrameDevice):
|
|
|
112
271
|
|
|
113
272
|
@staticmethod
|
|
114
273
|
def _scsi_write(dev: str, header: bytes, data: bytes) -> bool:
|
|
115
|
-
"""Execute SCSI WRITE via
|
|
274
|
+
"""Execute SCSI WRITE via SG_IO ioctl (or sg_raw fallback)."""
|
|
275
|
+
global _sg_io_available
|
|
276
|
+
cdb = header[:16]
|
|
277
|
+
|
|
278
|
+
if _sg_io_available is not False:
|
|
279
|
+
try:
|
|
280
|
+
ok = _sg_io_write(dev, cdb, data)
|
|
281
|
+
_sg_io_available = True
|
|
282
|
+
return ok
|
|
283
|
+
except OSError as e:
|
|
284
|
+
if _sg_io_available is None:
|
|
285
|
+
log.warning("SG_IO ioctl failed (%s: %s), falling back to sg_raw",
|
|
286
|
+
type(e).__name__, e)
|
|
287
|
+
_sg_io_available = False
|
|
288
|
+
|
|
116
289
|
SysUtils.require_sg_raw()
|
|
117
|
-
cdb_hex = ' '.join(f'{b:02x}' for b in
|
|
290
|
+
cdb_hex = ' '.join(f'{b:02x}' for b in cdb)
|
|
118
291
|
|
|
119
292
|
with tempfile.NamedTemporaryFile(delete=True) as f:
|
|
120
293
|
f.write(data)
|
|
@@ -84,10 +84,16 @@ class SysUtils:
|
|
|
84
84
|
return []
|
|
85
85
|
return [e for e in sorted(os.listdir(sysfs)) if e.startswith('sg')]
|
|
86
86
|
|
|
87
|
+
_sg_raw_path: str | None = None
|
|
88
|
+
_sg_raw_checked: bool = False
|
|
89
|
+
|
|
87
90
|
@staticmethod
|
|
88
91
|
def require_sg_raw() -> None:
|
|
89
92
|
"""Verify sg_raw is available; raise FileNotFoundError with install help if not."""
|
|
90
|
-
if not
|
|
93
|
+
if not SysUtils._sg_raw_checked:
|
|
94
|
+
SysUtils._sg_raw_path = shutil.which('sg_raw')
|
|
95
|
+
SysUtils._sg_raw_checked = True
|
|
96
|
+
if not SysUtils._sg_raw_path:
|
|
91
97
|
raise FileNotFoundError(SysUtils._SG_RAW_INSTALL_HELP)
|
|
92
98
|
|
|
93
99
|
@staticmethod
|
|
@@ -57,6 +57,7 @@ class DebugReport:
|
|
|
57
57
|
self._devices()
|
|
58
58
|
self._device_permissions()
|
|
59
59
|
self._handshakes()
|
|
60
|
+
self._process_usage()
|
|
60
61
|
self._config()
|
|
61
62
|
|
|
62
63
|
@property
|
|
@@ -245,6 +246,31 @@ class DebugReport:
|
|
|
245
246
|
except Exception as e:
|
|
246
247
|
sec.lines.append(f" Error: {e}")
|
|
247
248
|
|
|
249
|
+
def _process_usage(self) -> None:
|
|
250
|
+
sec = self._add("Process usage")
|
|
251
|
+
try:
|
|
252
|
+
result = subprocess.run(
|
|
253
|
+
["ps", "-eo", "pid,pcpu,pmem,rss,comm", "--no-headers"],
|
|
254
|
+
capture_output=True, text=True, timeout=5,
|
|
255
|
+
)
|
|
256
|
+
trcc_procs = [
|
|
257
|
+
line.strip() for line in result.stdout.splitlines()
|
|
258
|
+
if "trcc" in line.split()[-1]
|
|
259
|
+
]
|
|
260
|
+
if not trcc_procs:
|
|
261
|
+
sec.lines.append(" (no trcc process running)")
|
|
262
|
+
return
|
|
263
|
+
sec.lines.append(" PID %CPU %MEM RSS(MB) CMD")
|
|
264
|
+
for proc in trcc_procs:
|
|
265
|
+
parts = proc.split(None, 4)
|
|
266
|
+
if len(parts) >= 5:
|
|
267
|
+
pid, cpu, mem, rss, cmd = parts
|
|
268
|
+
rss_mb = f"{int(rss) / 1024:.0f}"
|
|
269
|
+
sec.lines.append(
|
|
270
|
+
f" {pid:>6} {cpu:>5} {mem:>4} {rss_mb:>7} {cmd}")
|
|
271
|
+
except Exception as e:
|
|
272
|
+
sec.lines.append(f" Error: {e}")
|
|
273
|
+
|
|
248
274
|
def _config(self) -> None:
|
|
249
275
|
sec = self._add("Config")
|
|
250
276
|
try:
|
|
@@ -177,7 +177,7 @@ class SensorEnumerator:
|
|
|
177
177
|
self._cached_readings = readings
|
|
178
178
|
except Exception:
|
|
179
179
|
log.debug("Sensor poll error", exc_info=True)
|
|
180
|
-
self._poll_stop.wait(
|
|
180
|
+
self._poll_stop.wait(4.0) # ~4s between reads (overlay ticks at 1s)
|
|
181
181
|
|
|
182
182
|
def _read_all_sync(self) -> dict[str, float]:
|
|
183
183
|
"""Read current values for ALL discovered sensors (blocking)."""
|
|
@@ -493,6 +493,10 @@ class SensorEnumerator:
|
|
|
493
493
|
except ValueError:
|
|
494
494
|
pass
|
|
495
495
|
|
|
496
|
+
_cpu_freq_cache: float = 0.0
|
|
497
|
+
_cpu_freq_time: float = 0.0
|
|
498
|
+
_CPU_FREQ_TTL: float = 10.0 # cpu_freq barely changes; cache 10s
|
|
499
|
+
|
|
496
500
|
def _read_psutil(self, readings: dict[str, float]):
|
|
497
501
|
"""Read psutil-based sensors."""
|
|
498
502
|
|
|
@@ -501,9 +505,16 @@ class SensorEnumerator:
|
|
|
501
505
|
except Exception:
|
|
502
506
|
pass
|
|
503
507
|
try:
|
|
504
|
-
|
|
505
|
-
if
|
|
506
|
-
|
|
508
|
+
now = time.monotonic()
|
|
509
|
+
if now - self._cpu_freq_time >= self._CPU_FREQ_TTL:
|
|
510
|
+
freq = psutil.cpu_freq()
|
|
511
|
+
if freq:
|
|
512
|
+
self._cpu_freq_cache = freq.current
|
|
513
|
+
else:
|
|
514
|
+
self._cpu_freq_cache = 0.0
|
|
515
|
+
self._cpu_freq_time = now
|
|
516
|
+
if self._cpu_freq_cache > 0:
|
|
517
|
+
readings['psutil:cpu_freq'] = self._cpu_freq_cache
|
|
507
518
|
except Exception:
|
|
508
519
|
pass
|
|
509
520
|
try:
|
|
@@ -1150,6 +1150,11 @@ FBL_TO_RESOLUTION: dict[int, tuple[int, int]] = {
|
|
|
1150
1150
|
224: (854, 480),
|
|
1151
1151
|
}
|
|
1152
1152
|
|
|
1153
|
+
# FBL values that trigger JPEG encoding for HID Type 2 (C# myDeviceMode == 2).
|
|
1154
|
+
# C# FormCZTV: these resolutions use ImageToJpg() instead of ImageTo565().
|
|
1155
|
+
# Header byte[6] = 0x00 (JPEG) vs 0x01 (RGB565), with actual width/height.
|
|
1156
|
+
JPEG_MODE_FBLS: frozenset[int] = frozenset({54, 114, 128, 192, 224})
|
|
1157
|
+
|
|
1153
1158
|
# Reverse lookup: resolution → PM/FBL (first match wins)
|
|
1154
1159
|
RESOLUTION_TO_PM: dict[tuple[int, int], int] = {
|
|
1155
1160
|
res: fbl for fbl, res in FBL_TO_RESOLUTION.items()
|
|
@@ -206,6 +206,21 @@ class ImageLabel(QLabel):
|
|
|
206
206
|
pixmap = pil_to_pixmap(pil_image)
|
|
207
207
|
self.setPixmap(pixmap)
|
|
208
208
|
|
|
209
|
+
def set_rgb565(self, data: bytes, width: int, height: int,
|
|
210
|
+
byte_order: str = '>'):
|
|
211
|
+
"""Set image from pre-converted RGB565 bytes.
|
|
212
|
+
|
|
213
|
+
Skips PIL→RGB888→QImage conversion — creates QPixmap directly from
|
|
214
|
+
the same RGB565 bytes sent to the LCD device.
|
|
215
|
+
"""
|
|
216
|
+
pixmap = rgb565_to_pixmap(data, width, height, byte_order)
|
|
217
|
+
if (width, height) != (self._width, self._height):
|
|
218
|
+
pixmap = pixmap.scaled(
|
|
219
|
+
self._width, self._height,
|
|
220
|
+
Qt.AspectRatioMode.IgnoreAspectRatio,
|
|
221
|
+
Qt.TransformationMode.SmoothTransformation)
|
|
222
|
+
self.setPixmap(pixmap)
|
|
223
|
+
|
|
209
224
|
def mousePressEvent(self, event):
|
|
210
225
|
"""Handle mouse click — start drag."""
|
|
211
226
|
self.clicked.emit()
|
|
@@ -289,6 +304,29 @@ def pil_to_pixmap(pil_image):
|
|
|
289
304
|
return QPixmap.fromImage(qimage)
|
|
290
305
|
|
|
291
306
|
|
|
307
|
+
def rgb565_to_pixmap(data: bytes, width: int, height: int,
|
|
308
|
+
byte_order: str = '>') -> QPixmap:
|
|
309
|
+
"""Create QPixmap from RGB565 bytes.
|
|
310
|
+
|
|
311
|
+
Qt Format_RGB16 expects native byte order (little-endian on x86).
|
|
312
|
+
Device byte order is swapped to native if needed.
|
|
313
|
+
"""
|
|
314
|
+
import sys
|
|
315
|
+
|
|
316
|
+
import numpy as np
|
|
317
|
+
|
|
318
|
+
if byte_order == '>' and sys.byteorder == 'little':
|
|
319
|
+
buf = np.frombuffer(data, dtype='>u2').astype('<u2').tobytes()
|
|
320
|
+
elif byte_order == '<' and sys.byteorder == 'big':
|
|
321
|
+
buf = np.frombuffer(data, dtype='<u2').astype('>u2').tobytes()
|
|
322
|
+
else:
|
|
323
|
+
buf = bytes(data)
|
|
324
|
+
|
|
325
|
+
qimage = QImage(buf, width, height, width * 2,
|
|
326
|
+
QImage.Format.Format_RGB16)
|
|
327
|
+
return QPixmap.fromImage(qimage)
|
|
328
|
+
|
|
329
|
+
|
|
292
330
|
def pixmap_to_pil(pixmap):
|
|
293
331
|
"""Convert QPixmap to PIL Image.
|
|
294
332
|
|
|
@@ -546,21 +546,29 @@ class TRCCMainWindowMVC(QMainWindow):
|
|
|
546
546
|
self._tray.show()
|
|
547
547
|
|
|
548
548
|
def _setup_sleep_monitor(self):
|
|
549
|
-
"""Listen for system suspend/resume via
|
|
549
|
+
"""Listen for system suspend/resume via QDBus (C# OnPowerModeChanged).
|
|
550
|
+
|
|
551
|
+
Uses Qt's native QDBusConnection instead of dbus-python + GLib main
|
|
552
|
+
loop. The old dbus-python approach called DBusGMainLoop() which
|
|
553
|
+
integrates the GLib event loop into the Qt event loop — a well-known
|
|
554
|
+
source of excessive CPU wakeups (~10-15% idle overhead).
|
|
555
|
+
"""
|
|
550
556
|
try:
|
|
551
|
-
import
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
557
|
+
from PySide6.QtDBus import QDBusConnection # pyright: ignore[reportMissingImports]
|
|
558
|
+
bus = QDBusConnection.systemBus()
|
|
559
|
+
if not bus.isConnected():
|
|
560
|
+
log.debug("Sleep monitor: QDBus system bus not connected")
|
|
561
|
+
return
|
|
562
|
+
bus.connect( # pyright: ignore[reportCallIssue]
|
|
563
|
+
'org.freedesktop.login1', # service
|
|
564
|
+
'/org/freedesktop/login1', # path
|
|
565
|
+
'org.freedesktop.login1.Manager', # interface
|
|
566
|
+
'PrepareForSleep', # signal
|
|
556
567
|
self._on_sleep_signal,
|
|
557
|
-
signal_name='PrepareForSleep',
|
|
558
|
-
dbus_interface='org.freedesktop.login1.Manager',
|
|
559
|
-
bus_name='org.freedesktop.login1',
|
|
560
568
|
)
|
|
561
|
-
log.info("Sleep monitor:
|
|
569
|
+
log.info("Sleep monitor: QDBus PrepareForSleep listener active")
|
|
562
570
|
except Exception:
|
|
563
|
-
log.debug("Sleep monitor:
|
|
571
|
+
log.debug("Sleep monitor: QDBus not available, skipping")
|
|
564
572
|
|
|
565
573
|
def _on_sleep_signal(self, sleeping: bool):
|
|
566
574
|
"""Handle suspend (sleeping=True) / resume (sleeping=False)."""
|
|
@@ -1253,7 +1261,7 @@ class TRCCMainWindowMVC(QMainWindow):
|
|
|
1253
1261
|
self.controller.overlay.enable(enabled)
|
|
1254
1262
|
if enabled:
|
|
1255
1263
|
self.uc_info_module.setVisible(True)
|
|
1256
|
-
self.uc_info_module.start_updates()
|
|
1264
|
+
self.uc_info_module.start_updates(3000)
|
|
1257
1265
|
self.start_metrics()
|
|
1258
1266
|
else:
|
|
1259
1267
|
self.uc_info_module.setVisible(False)
|
|
@@ -1717,7 +1725,7 @@ class TRCCMainWindowMVC(QMainWindow):
|
|
|
1717
1725
|
"""Toggle overlay display and info module visibility."""
|
|
1718
1726
|
self.uc_info_module.setVisible(enabled)
|
|
1719
1727
|
if enabled:
|
|
1720
|
-
self.uc_info_module.start_updates()
|
|
1728
|
+
self.uc_info_module.start_updates(3000)
|
|
1721
1729
|
self.start_metrics()
|
|
1722
1730
|
else:
|
|
1723
1731
|
self.uc_info_module.stop_updates()
|
|
@@ -2039,7 +2047,11 @@ class TRCCMainWindowMVC(QMainWindow):
|
|
|
2039
2047
|
# =========================================================================
|
|
2040
2048
|
|
|
2041
2049
|
def _on_device_poll(self):
|
|
2042
|
-
"""Poll for LCD and LED device connections.
|
|
2050
|
+
"""Poll for LCD and LED device connections.
|
|
2051
|
+
|
|
2052
|
+
Adaptive interval: 15s when a device is connected (hot-unplug detect),
|
|
2053
|
+
5s when searching for a device (faster initial connect).
|
|
2054
|
+
"""
|
|
2043
2055
|
try:
|
|
2044
2056
|
devices = find_lcd_devices()
|
|
2045
2057
|
|
|
@@ -2055,6 +2067,13 @@ class TRCCMainWindowMVC(QMainWindow):
|
|
|
2055
2067
|
else:
|
|
2056
2068
|
self.controller.devices.select_device(device)
|
|
2057
2069
|
self.uc_preview.set_status(f"Device: {device.path}")
|
|
2070
|
+
|
|
2071
|
+
# Adaptive poll: slow when connected, fast when searching
|
|
2072
|
+
has_device = bool(
|
|
2073
|
+
self.controller.devices.get_selected() or self._led.active)
|
|
2074
|
+
interval = 15000 if has_device else 5000
|
|
2075
|
+
if self._device_timer.interval() != interval:
|
|
2076
|
+
self._device_timer.start(interval)
|
|
2058
2077
|
except Exception as e:
|
|
2059
2078
|
log.error("Device poll error: %s", e)
|
|
2060
2079
|
|
|
@@ -2136,8 +2155,9 @@ class TRCCMainWindowMVC(QMainWindow):
|
|
|
2136
2155
|
(self.controller.current_image and self.controller.overlay.is_enabled())
|
|
2137
2156
|
or self._background_active
|
|
2138
2157
|
)
|
|
2139
|
-
if should_render:
|
|
2140
|
-
|
|
2158
|
+
if not should_render:
|
|
2159
|
+
return
|
|
2160
|
+
self._render_and_send(skip_if_video=True)
|
|
2141
2161
|
|
|
2142
2162
|
def start_metrics(self):
|
|
2143
2163
|
"""Start live metrics collection for overlay display."""
|
|
@@ -9,7 +9,7 @@ import logging
|
|
|
9
9
|
import threading
|
|
10
10
|
from typing import Any, Optional
|
|
11
11
|
|
|
12
|
-
from ..core.models import DeviceInfo, LCDDeviceConfig
|
|
12
|
+
from ..core.models import JPEG_MODE_FBLS, DeviceInfo, LCDDeviceConfig
|
|
13
13
|
|
|
14
14
|
log = logging.getLogger(__name__)
|
|
15
15
|
|
|
@@ -162,16 +162,17 @@ class DeviceService:
|
|
|
162
162
|
def send_pil(self, image: Any, width: int, height: int) -> bool:
|
|
163
163
|
"""Encode PIL Image for device and send.
|
|
164
164
|
|
|
165
|
-
Bulk devices use JPEG (C# ImageToJpg — no rotation)
|
|
166
|
-
SCSI/HID use RGB565 (C# ImageTo565 — non-square pre-rotation).
|
|
165
|
+
Bulk and HID JPEG-mode devices use JPEG (C# ImageToJpg — no rotation).
|
|
166
|
+
SCSI/HID (standard) use RGB565 (C# ImageTo565 — non-square pre-rotation).
|
|
167
167
|
"""
|
|
168
168
|
from .image import ImageService
|
|
169
169
|
|
|
170
170
|
device = self._selected
|
|
171
171
|
protocol = device.protocol if device else 'scsi'
|
|
172
172
|
resolution = device.resolution if device else (320, 320)
|
|
173
|
+
fbl = device.fbl_code if device else None
|
|
173
174
|
|
|
174
|
-
if protocol == 'bulk':
|
|
175
|
+
if protocol == 'bulk' or (protocol == 'hid' and fbl in JPEG_MODE_FBLS):
|
|
175
176
|
jpeg = ImageService.to_jpeg(image)
|
|
176
177
|
return self.send_rgb565(jpeg, width, height)
|
|
177
178
|
|