💻 Research
How to HKMC Gen5W Firmware Decryption?
How to HKMC Gen5W Firmware Decryption?
Overview
Last year, a tool was released that allowed users to extract HKMC(Hyundai KIA Motors Group) Gen5W firmware. (@galaxy4public)
https://github.com/galaxy4public/hkmcavn-tools
This tool is made to work with the firmware of Head Unit products designed by LGE.
Available Target
- (AU) 2022-23 Sportage
- (AU) 2021-23 IONIQ5
- …
Download Navigation Updater

Settings for Navigation Updater
By selecting the Hyundai or KIA brand from the main screen and entering a non-member login, you can view the settings screen below.

Go back to the screen and select the type of car and the year that you would like to download.
![[Figure 3] Settings for Vehicle Model](https://prod-files-secure.s3.us-west-2.amazonaws.com/ddfb90e3-766a-4fa2-b58c-bd09d4b4e865/59b01a68-f5cc-4363-b0cf-ccee8e0592f1/3.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466SJQFJNGQ%2F20260217%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260217T001651Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEHgaCXVzLXdlc3QtMiJGMEQCIHFd1XLT8xKnJ0QenygA5yVQcAvoxbC5wvlKVFtejjh6AiAWeWXNDIULRYALpG50RYUy5SmOlmVOSmOdpo8y7Oh89Sr%2FAwhAEAAaDDYzNzQyMzE4MzgwNSIMsfH2WF6JdMZ791l5KtwDc0BZGvUMqfSWxEUkC50bwesK5O98LH3hQBAdODRaEmqjzOHP7Psj237wNvOegPZVdVTlSq9FB%2Bif7NUwQ24eceCgee3zv0qp4lJ9cbn2WPwdkU1bPchAE6DTdia%2F5idjpw22GRgjKF6oaqNOTYCt1Lj8LK%2BwnVwwHH4OXcyMSmUP3Tm2wBrrTJTCVuC7OOtIjC7COoU8pCtId2Gmqiuq0uT3M4E8GdaueBxo98F6ST7fMQvOY0kFj7%2BeX4SQKay569SpRKEqmS1%2Bb6kgq0ZgQJ7Pzx%2BEmjjn7maqXMNYIvC%2BDkdiGiHVa6R2dc8WfuS2AV45F0z%2BSdJLekQME92XrwmVP7N2kmtPQHMe%2BoLjeSELpxUyFahq4xNl1U%2FffcyFCs0k6rLl9jap2yMATmz9te2YznYe4zQs4ULW0iVfZZMQ5QJK2U4%2BXVO66FLbnQQNnylWsRzvqrR4kjTHwpy9bo%2BkOhX%2Bob7W9cpjQLSudTTr4z%2FY2JtX1t%2FFCxh6%2Fr8Wu3uy5D%2FIKbcK77WH996LTAmNcjGi0Z0OEus4I3q8uh9yGogE4yR0H53PaONHKA2E81BfEIm4hmuNKLhLX4XDw%2FAfSxyZQu69RomZ5PsnZQ11W3%2FJtT0Ki%2FjPmD8wg8zOzAY6pgEhAj6KrEAydayi61l7l0UOXJQoRFFGA7qySH2hWDRrZS8GVTRpITbxmdUTf8HkKmq%2Btg5JUgfqZAONMCWbZLMhT5GmzI%2FQ4uF5nzjTnGOtVQHvwhYNgA4tL%2FOyrpQihlHqNQMT4eWOhYa%2BzeyAxVISfljFoHKY7CkSL0VS8Cwpl5huYynDUaYRImXYcvWFMUGAnEHF3ISKBrPYcrjRO7%2B1TJEocagZ&X-Amz-Signature=261ff29bdaf8fe6e7a44c84498f932495a298b9323f65e84164457e59482f3d1&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)
Select OK on the previous screen to advance to the next screen, where you can specify the path to download the firmware file.
This path can be set by you and can be any path that identify your location.
![[Figure 4] Settings for Download Location](https://prod-files-secure.s3.us-west-2.amazonaws.com/ddfb90e3-766a-4fa2-b58c-bd09d4b4e865/e2ff6247-16de-44dd-a214-6c08c842f274/4.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466SJQFJNGQ%2F20260217%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260217T001651Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEHgaCXVzLXdlc3QtMiJGMEQCIHFd1XLT8xKnJ0QenygA5yVQcAvoxbC5wvlKVFtejjh6AiAWeWXNDIULRYALpG50RYUy5SmOlmVOSmOdpo8y7Oh89Sr%2FAwhAEAAaDDYzNzQyMzE4MzgwNSIMsfH2WF6JdMZ791l5KtwDc0BZGvUMqfSWxEUkC50bwesK5O98LH3hQBAdODRaEmqjzOHP7Psj237wNvOegPZVdVTlSq9FB%2Bif7NUwQ24eceCgee3zv0qp4lJ9cbn2WPwdkU1bPchAE6DTdia%2F5idjpw22GRgjKF6oaqNOTYCt1Lj8LK%2BwnVwwHH4OXcyMSmUP3Tm2wBrrTJTCVuC7OOtIjC7COoU8pCtId2Gmqiuq0uT3M4E8GdaueBxo98F6ST7fMQvOY0kFj7%2BeX4SQKay569SpRKEqmS1%2Bb6kgq0ZgQJ7Pzx%2BEmjjn7maqXMNYIvC%2BDkdiGiHVa6R2dc8WfuS2AV45F0z%2BSdJLekQME92XrwmVP7N2kmtPQHMe%2BoLjeSELpxUyFahq4xNl1U%2FffcyFCs0k6rLl9jap2yMATmz9te2YznYe4zQs4ULW0iVfZZMQ5QJK2U4%2BXVO66FLbnQQNnylWsRzvqrR4kjTHwpy9bo%2BkOhX%2Bob7W9cpjQLSudTTr4z%2FY2JtX1t%2FFCxh6%2Fr8Wu3uy5D%2FIKbcK77WH996LTAmNcjGi0Z0OEus4I3q8uh9yGogE4yR0H53PaONHKA2E81BfEIm4hmuNKLhLX4XDw%2FAfSxyZQu69RomZ5PsnZQ11W3%2FJtT0Ki%2FjPmD8wg8zOzAY6pgEhAj6KrEAydayi61l7l0UOXJQoRFFGA7qySH2hWDRrZS8GVTRpITbxmdUTf8HkKmq%2Btg5JUgfqZAONMCWbZLMhT5GmzI%2FQ4uF5nzjTnGOtVQHvwhYNgA4tL%2FOyrpQihlHqNQMT4eWOhYa%2BzeyAxVISfljFoHKY7CkSL0VS8Cwpl5huYynDUaYRImXYcvWFMUGAnEHF3ISKBrPYcrjRO7%2B1TJEocagZ&X-Amz-Signature=8a95ef6b4eae5941d6d5e94f43971960977f89831da1da3901a2a5115ef41494&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)
Once the path is selected, a /Nau directory is created and the selected firmware is downloaded into the directory.
The download time is approximately 1-3 minutes, but may vary depending on the network speed in your country.
![[Figure 5] Downloading Firmware](https://prod-files-secure.s3.us-west-2.amazonaws.com/ddfb90e3-766a-4fa2-b58c-bd09d4b4e865/f7e6b580-eb10-491b-a192-479c5be0943f/5.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466SJQFJNGQ%2F20260217%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260217T001651Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEHgaCXVzLXdlc3QtMiJGMEQCIHFd1XLT8xKnJ0QenygA5yVQcAvoxbC5wvlKVFtejjh6AiAWeWXNDIULRYALpG50RYUy5SmOlmVOSmOdpo8y7Oh89Sr%2FAwhAEAAaDDYzNzQyMzE4MzgwNSIMsfH2WF6JdMZ791l5KtwDc0BZGvUMqfSWxEUkC50bwesK5O98LH3hQBAdODRaEmqjzOHP7Psj237wNvOegPZVdVTlSq9FB%2Bif7NUwQ24eceCgee3zv0qp4lJ9cbn2WPwdkU1bPchAE6DTdia%2F5idjpw22GRgjKF6oaqNOTYCt1Lj8LK%2BwnVwwHH4OXcyMSmUP3Tm2wBrrTJTCVuC7OOtIjC7COoU8pCtId2Gmqiuq0uT3M4E8GdaueBxo98F6ST7fMQvOY0kFj7%2BeX4SQKay569SpRKEqmS1%2Bb6kgq0ZgQJ7Pzx%2BEmjjn7maqXMNYIvC%2BDkdiGiHVa6R2dc8WfuS2AV45F0z%2BSdJLekQME92XrwmVP7N2kmtPQHMe%2BoLjeSELpxUyFahq4xNl1U%2FffcyFCs0k6rLl9jap2yMATmz9te2YznYe4zQs4ULW0iVfZZMQ5QJK2U4%2BXVO66FLbnQQNnylWsRzvqrR4kjTHwpy9bo%2BkOhX%2Bob7W9cpjQLSudTTr4z%2FY2JtX1t%2FFCxh6%2Fr8Wu3uy5D%2FIKbcK77WH996LTAmNcjGi0Z0OEus4I3q8uh9yGogE4yR0H53PaONHKA2E81BfEIm4hmuNKLhLX4XDw%2FAfSxyZQu69RomZ5PsnZQ11W3%2FJtT0Ki%2FjPmD8wg8zOzAY6pgEhAj6KrEAydayi61l7l0UOXJQoRFFGA7qySH2hWDRrZS8GVTRpITbxmdUTf8HkKmq%2Btg5JUgfqZAONMCWbZLMhT5GmzI%2FQ4uF5nzjTnGOtVQHvwhYNgA4tL%2FOyrpQihlHqNQMT4eWOhYa%2BzeyAxVISfljFoHKY7CkSL0VS8Cwpl5huYynDUaYRImXYcvWFMUGAnEHF3ISKBrPYcrjRO7%2B1TJEocagZ&X-Amz-Signature=97049483469ad6d5b56543df5258c50c2aed2781d2bb2f98394b900e6eef03c8&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)
Identifying firmware
When the firmware download is complete, a directory called Nau will be created in the path you specify, and within that directory will be a subdirectory

![[Figure 6, 7] Downloaded Firmware](https://prod-files-secure.s3.us-west-2.amazonaws.com/ddfb90e3-766a-4fa2-b58c-bd09d4b4e865/88357d71-f17a-44b6-b18f-9991d50debf7/7.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466SJQFJNGQ%2F20260217%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260217T001651Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEHgaCXVzLXdlc3QtMiJGMEQCIHFd1XLT8xKnJ0QenygA5yVQcAvoxbC5wvlKVFtejjh6AiAWeWXNDIULRYALpG50RYUy5SmOlmVOSmOdpo8y7Oh89Sr%2FAwhAEAAaDDYzNzQyMzE4MzgwNSIMsfH2WF6JdMZ791l5KtwDc0BZGvUMqfSWxEUkC50bwesK5O98LH3hQBAdODRaEmqjzOHP7Psj237wNvOegPZVdVTlSq9FB%2Bif7NUwQ24eceCgee3zv0qp4lJ9cbn2WPwdkU1bPchAE6DTdia%2F5idjpw22GRgjKF6oaqNOTYCt1Lj8LK%2BwnVwwHH4OXcyMSmUP3Tm2wBrrTJTCVuC7OOtIjC7COoU8pCtId2Gmqiuq0uT3M4E8GdaueBxo98F6ST7fMQvOY0kFj7%2BeX4SQKay569SpRKEqmS1%2Bb6kgq0ZgQJ7Pzx%2BEmjjn7maqXMNYIvC%2BDkdiGiHVa6R2dc8WfuS2AV45F0z%2BSdJLekQME92XrwmVP7N2kmtPQHMe%2BoLjeSELpxUyFahq4xNl1U%2FffcyFCs0k6rLl9jap2yMATmz9te2YznYe4zQs4ULW0iVfZZMQ5QJK2U4%2BXVO66FLbnQQNnylWsRzvqrR4kjTHwpy9bo%2BkOhX%2Bob7W9cpjQLSudTTr4z%2FY2JtX1t%2FFCxh6%2Fr8Wu3uy5D%2FIKbcK77WH996LTAmNcjGi0Z0OEus4I3q8uh9yGogE4yR0H53PaONHKA2E81BfEIm4hmuNKLhLX4XDw%2FAfSxyZQu69RomZ5PsnZQ11W3%2FJtT0Ki%2FjPmD8wg8zOzAY6pgEhAj6KrEAydayi61l7l0UOXJQoRFFGA7qySH2hWDRrZS8GVTRpITbxmdUTf8HkKmq%2Btg5JUgfqZAONMCWbZLMhT5GmzI%2FQ4uF5nzjTnGOtVQHvwhYNgA4tL%2FOyrpQihlHqNQMT4eWOhYa%2BzeyAxVISfljFoHKY7CkSL0VS8Cwpl5huYynDUaYRImXYcvWFMUGAnEHF3ISKBrPYcrjRO7%2B1TJEocagZ&X-Amz-Signature=803b4d23d7cf77426a4a8a97fec0b64ba0c6d7065f26845a02e458e6541a9216&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)
To verify that this firmware is encrypted, we used the binwalk tool and specified the file HU/firmware/update.tar.gz
The binwalk tool allows you to try entropy analysis and file system extraction, and the entropy analysis shows that it has a high entropy. so we can assume that this file is encrypted or compressed in some way.
Also, since it cannot be extracted normally via file system extraction, we know that the downloaded firmware file is encrypted.
![[Figure 8] update.tar.gz](https://prod-files-secure.s3.us-west-2.amazonaws.com/ddfb90e3-766a-4fa2-b58c-bd09d4b4e865/57da2c23-a162-4a68-a759-d93fc6b6e9d6/8.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466SJQFJNGQ%2F20260217%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260217T001651Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEHgaCXVzLXdlc3QtMiJGMEQCIHFd1XLT8xKnJ0QenygA5yVQcAvoxbC5wvlKVFtejjh6AiAWeWXNDIULRYALpG50RYUy5SmOlmVOSmOdpo8y7Oh89Sr%2FAwhAEAAaDDYzNzQyMzE4MzgwNSIMsfH2WF6JdMZ791l5KtwDc0BZGvUMqfSWxEUkC50bwesK5O98LH3hQBAdODRaEmqjzOHP7Psj237wNvOegPZVdVTlSq9FB%2Bif7NUwQ24eceCgee3zv0qp4lJ9cbn2WPwdkU1bPchAE6DTdia%2F5idjpw22GRgjKF6oaqNOTYCt1Lj8LK%2BwnVwwHH4OXcyMSmUP3Tm2wBrrTJTCVuC7OOtIjC7COoU8pCtId2Gmqiuq0uT3M4E8GdaueBxo98F6ST7fMQvOY0kFj7%2BeX4SQKay569SpRKEqmS1%2Bb6kgq0ZgQJ7Pzx%2BEmjjn7maqXMNYIvC%2BDkdiGiHVa6R2dc8WfuS2AV45F0z%2BSdJLekQME92XrwmVP7N2kmtPQHMe%2BoLjeSELpxUyFahq4xNl1U%2FffcyFCs0k6rLl9jap2yMATmz9te2YznYe4zQs4ULW0iVfZZMQ5QJK2U4%2BXVO66FLbnQQNnylWsRzvqrR4kjTHwpy9bo%2BkOhX%2Bob7W9cpjQLSudTTr4z%2FY2JtX1t%2FFCxh6%2Fr8Wu3uy5D%2FIKbcK77WH996LTAmNcjGi0Z0OEus4I3q8uh9yGogE4yR0H53PaONHKA2E81BfEIm4hmuNKLhLX4XDw%2FAfSxyZQu69RomZ5PsnZQ11W3%2FJtT0Ki%2FjPmD8wg8zOzAY6pgEhAj6KrEAydayi61l7l0UOXJQoRFFGA7qySH2hWDRrZS8GVTRpITbxmdUTf8HkKmq%2Btg5JUgfqZAONMCWbZLMhT5GmzI%2FQ4uF5nzjTnGOtVQHvwhYNgA4tL%2FOyrpQihlHqNQMT4eWOhYa%2BzeyAxVISfljFoHKY7CkSL0VS8Cwpl5huYynDUaYRImXYcvWFMUGAnEHF3ISKBrPYcrjRO7%2B1TJEocagZ&X-Amz-Signature=8b6c3d142b8e1cdaad02df7ec8a86d8dbb458edafdbc98eb2e5c258f58456de8&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)
![[Figure 9] Analysis File Entropy](https://prod-files-secure.s3.us-west-2.amazonaws.com/ddfb90e3-766a-4fa2-b58c-bd09d4b4e865/0f5e6035-c983-481d-a0ff-b848c3e12a56/9.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466SJQFJNGQ%2F20260217%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260217T001651Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEHgaCXVzLXdlc3QtMiJGMEQCIHFd1XLT8xKnJ0QenygA5yVQcAvoxbC5wvlKVFtejjh6AiAWeWXNDIULRYALpG50RYUy5SmOlmVOSmOdpo8y7Oh89Sr%2FAwhAEAAaDDYzNzQyMzE4MzgwNSIMsfH2WF6JdMZ791l5KtwDc0BZGvUMqfSWxEUkC50bwesK5O98LH3hQBAdODRaEmqjzOHP7Psj237wNvOegPZVdVTlSq9FB%2Bif7NUwQ24eceCgee3zv0qp4lJ9cbn2WPwdkU1bPchAE6DTdia%2F5idjpw22GRgjKF6oaqNOTYCt1Lj8LK%2BwnVwwHH4OXcyMSmUP3Tm2wBrrTJTCVuC7OOtIjC7COoU8pCtId2Gmqiuq0uT3M4E8GdaueBxo98F6ST7fMQvOY0kFj7%2BeX4SQKay569SpRKEqmS1%2Bb6kgq0ZgQJ7Pzx%2BEmjjn7maqXMNYIvC%2BDkdiGiHVa6R2dc8WfuS2AV45F0z%2BSdJLekQME92XrwmVP7N2kmtPQHMe%2BoLjeSELpxUyFahq4xNl1U%2FffcyFCs0k6rLl9jap2yMATmz9te2YznYe4zQs4ULW0iVfZZMQ5QJK2U4%2BXVO66FLbnQQNnylWsRzvqrR4kjTHwpy9bo%2BkOhX%2Bob7W9cpjQLSudTTr4z%2FY2JtX1t%2FFCxh6%2Fr8Wu3uy5D%2FIKbcK77WH996LTAmNcjGi0Z0OEus4I3q8uh9yGogE4yR0H53PaONHKA2E81BfEIm4hmuNKLhLX4XDw%2FAfSxyZQu69RomZ5PsnZQ11W3%2FJtT0Ki%2FjPmD8wg8zOzAY6pgEhAj6KrEAydayi61l7l0UOXJQoRFFGA7qySH2hWDRrZS8GVTRpITbxmdUTf8HkKmq%2Btg5JUgfqZAONMCWbZLMhT5GmzI%2FQ4uF5nzjTnGOtVQHvwhYNgA4tL%2FOyrpQihlHqNQMT4eWOhYa%2BzeyAxVISfljFoHKY7CkSL0VS8Cwpl5huYynDUaYRImXYcvWFMUGAnEHF3ISKBrPYcrjRO7%2B1TJEocagZ&X-Amz-Signature=b3ef7e03ad790c9abe01ed5070ef3575b16929522df1d9014858a914b4a7f6a7&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)
Decryption & Extraction
This chapter targets the HKMC vehicle head unit developed by LGE. It uses the hkmcavn-tools decryption tool.
Code Analysis #1
Decryption functions are called in this order
perform_test → update_progress → read_in_chunks → process_block
metadata = perform_test(file) # this extracts and populates IV
if isinstance(metadata, int) and metadata != 0:
print(f'\r{file} is either unencrypted or damaged (use -v -t to see the details)')
return
file_size = metadata['size']
iv = bytes.fromhex(metadata['iv'])
param = ''
Code Analysis #2
# update_progress()
"""
This function was presumably created to simply check the current progress.
"""
def update_progress(file, size, block):
count = 0
while size > count * block:
count += 1
percent = (count * block * 100) / size
# out block is bigger than actual data read
percent = min(percent, 100.0)
print_v(f'\r{file} .. {percent:3.0f}%', end='')
yield percent
yield 100 # this assures that we never run out of data for the progress
Code Analysis #3
# read_in_chunks()
"""
Reads and returns a chunk of the specified file object, chunk_size (default: 4*1024).
"""
def read_in_chunks(file_object, chunk_size=4*1024, limit = -1):
"""Lazy function (generator) to read a file piece by piece.
Default chunk size: 1MB."""
ptr = 0
while True:
data = file_object.read(chunk_size)
if not data:
#print(f'end of file, read {ptr} chunks of {chunk_size} with limit set to {limit}')
break
ptr = ptr + 1
if limit > 0 and len(data) > limit - (ptr-1)*chunk_size:
#print_v('processing truncated block')
#print(f'read {ptr-1} chunks of {chunk_size} + {len(data)} with limit set to {limit}')
#print(f'giving out {limit - (ptr-1)*chunk_size}')
yield data[:limit - (ptr-1)*chunk_size]
break
yield data
Code Analysis #4
# process_block()
"""
Here we write the decrypted firmware file to the specified path using the process_block() function.
"""
1: file_out.write(process_block(mode, block, cipher, param))
2: def process_block(mode, block, cipher, param):
return mode(block, cipher, param)
Decrypted Firmware
After unpacking the linux file system image, called mango_rootfs we can see the structure of the Linux file system(ext4), which shows that the decryption of the firmware has gone well.
You should now be able to do a reverse engineering analysis of the decrypted firmware.
![[Figure 10] Decrypted HKMC Firmware](https://prod-files-secure.s3.us-west-2.amazonaws.com/ddfb90e3-766a-4fa2-b58c-bd09d4b4e865/441ce143-9631-40ca-b9d4-0d4c187c6300/10.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466SJQFJNGQ%2F20260217%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260217T001651Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEHgaCXVzLXdlc3QtMiJGMEQCIHFd1XLT8xKnJ0QenygA5yVQcAvoxbC5wvlKVFtejjh6AiAWeWXNDIULRYALpG50RYUy5SmOlmVOSmOdpo8y7Oh89Sr%2FAwhAEAAaDDYzNzQyMzE4MzgwNSIMsfH2WF6JdMZ791l5KtwDc0BZGvUMqfSWxEUkC50bwesK5O98LH3hQBAdODRaEmqjzOHP7Psj237wNvOegPZVdVTlSq9FB%2Bif7NUwQ24eceCgee3zv0qp4lJ9cbn2WPwdkU1bPchAE6DTdia%2F5idjpw22GRgjKF6oaqNOTYCt1Lj8LK%2BwnVwwHH4OXcyMSmUP3Tm2wBrrTJTCVuC7OOtIjC7COoU8pCtId2Gmqiuq0uT3M4E8GdaueBxo98F6ST7fMQvOY0kFj7%2BeX4SQKay569SpRKEqmS1%2Bb6kgq0ZgQJ7Pzx%2BEmjjn7maqXMNYIvC%2BDkdiGiHVa6R2dc8WfuS2AV45F0z%2BSdJLekQME92XrwmVP7N2kmtPQHMe%2BoLjeSELpxUyFahq4xNl1U%2FffcyFCs0k6rLl9jap2yMATmz9te2YznYe4zQs4ULW0iVfZZMQ5QJK2U4%2BXVO66FLbnQQNnylWsRzvqrR4kjTHwpy9bo%2BkOhX%2Bob7W9cpjQLSudTTr4z%2FY2JtX1t%2FFCxh6%2Fr8Wu3uy5D%2FIKbcK77WH996LTAmNcjGi0Z0OEus4I3q8uh9yGogE4yR0H53PaONHKA2E81BfEIm4hmuNKLhLX4XDw%2FAfSxyZQu69RomZ5PsnZQ11W3%2FJtT0Ki%2FjPmD8wg8zOzAY6pgEhAj6KrEAydayi61l7l0UOXJQoRFFGA7qySH2hWDRrZS8GVTRpITbxmdUTf8HkKmq%2Btg5JUgfqZAONMCWbZLMhT5GmzI%2FQ4uF5nzjTnGOtVQHvwhYNgA4tL%2FOyrpQihlHqNQMT4eWOhYa%2BzeyAxVISfljFoHKY7CkSL0VS8Cwpl5huYynDUaYRImXYcvWFMUGAnEHF3ISKBrPYcrjRO7%2B1TJEocagZ&X-Amz-Signature=63a2116821777246f587e38039ca04f71b74834bce2828ce5f992d788c7fcf0e&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)