From 234b8302bee62b852fbe3c8dfb227fc3aecadf5d Mon Sep 17 00:00:00 2001 From: andy <1414772332@qq.com> Date: Sat, 28 Sep 2024 16:31:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20rom.addrs.ld?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +- .../stm32_i2c_slave/STM32F103RETX_FLASH.ld | 185 +++++ inc/config/iot_mem_config.h | 146 ++++ mfgtool/ah/add_header_v1.o | Bin 48312 -> 0 bytes mfgtool/ah/ah | Bin 56216 -> 0 bytes mfgtool/ah/crc.o | Bin 5944 -> 0 bytes mfgtool/ah/sha256.o | Bin 10544 -> 0 bytes mfgtool/lzma/7zFile.o | Bin 4736 -> 0 bytes mfgtool/lzma/7zStream.o | Bin 5336 -> 0 bytes mfgtool/lzma/Alloc.o | Bin 2592 -> 0 bytes mfgtool/lzma/LzFind.o | Bin 12584 -> 0 bytes mfgtool/lzma/LzmaDec.o | Bin 14368 -> 0 bytes mfgtool/lzma/LzmaEnc.o | Bin 27768 -> 0 bytes mfgtool/lzma/LzmaUtil.o | Bin 6824 -> 0 bytes mfgtool/lzma/elzma | Bin 74440 -> 0 bytes mfgtool/oem_tool/hw3/oem_tool_hw.o | Bin 78800 -> 0 bytes mfgtool/oem_tool/oem_common.o | Bin 21416 -> 0 bytes mfgtool/oem_tool/oem_tool | Bin 75968 -> 0 bytes mfgtool/oem_tool/oem_tool.o | Bin 16376 -> 0 bytes startup/ldscripts/riscv/rom.addrs.ld | 669 ++++++++++++++++++ startup/ldscripts/riscv/sp_cco.addrs.ld | 1 + startup/ldscripts/riscv/sp_sta.addrs.ld | 1 + startup/ldscripts/riscv2/rom.addrs.ld | 505 +++++++++++++ startup/ldscripts/riscv2/sp.addrs.ld | 3 + startup/ldscripts/riscv2/sp_sta.addrs.ld | 0 startup/ldscripts/riscv3/rom.addrs.ld | 441 ++++++++++++ tools/bin_tool/bin2hex.c | 0 tools/bin_tool/bin2hex_frame.c | 0 tools/bin_tool/hex2bin.c | 0 .../riscv3/Kl3_rom_自测记录表_V1.0.xlsx | Bin .../riscv3/ROM_IMG_V3.1.0.0_20210811.zip | Bin .../riscv3/ROM_IMG_V3.1.0.1_20210907.zip | Bin .../riscv3/ROM_IMG_V3.1.0.2_20210914.zip | Bin .../riscv3/ROM_IMG_V3.1.0.3_20210917.zip | Bin .../riscv3/ROM_IMG_V3.1.0.4_20211014.zip | Bin .../riscv3/ROM_IMG_V3.2.0.0_20211126.zip | Bin .../riscv3/ROM_IMG_V3.2.0.2_20211202.zip | Bin .../riscv3/ROM_IMG_V3.2.1.0_20211203.zip | Bin .../riscv3/ROM_IMG_V3.2.1.1_20211206.zip | Bin tools/rom_img/riscv3/rom_symbol | 0 tools/rom_img/riscv3/romhex.py | 0 tools/rom_img/riscv3/sec_cpu_symbol | 0 42 files changed, 1954 insertions(+), 1 deletion(-) create mode 100644 dtest/dtest3/kl3_i2c_test/stm32_i2c_slave/STM32F103RETX_FLASH.ld create mode 100644 inc/config/iot_mem_config.h delete mode 100644 mfgtool/ah/add_header_v1.o delete mode 100755 mfgtool/ah/ah delete mode 100644 mfgtool/ah/crc.o delete mode 100644 mfgtool/ah/sha256.o delete mode 100644 mfgtool/lzma/7zFile.o delete mode 100644 mfgtool/lzma/7zStream.o delete mode 100644 mfgtool/lzma/Alloc.o delete mode 100644 mfgtool/lzma/LzFind.o delete mode 100644 mfgtool/lzma/LzmaDec.o delete mode 100644 mfgtool/lzma/LzmaEnc.o delete mode 100644 mfgtool/lzma/LzmaUtil.o delete mode 100755 mfgtool/lzma/elzma delete mode 100644 mfgtool/oem_tool/hw3/oem_tool_hw.o delete mode 100644 mfgtool/oem_tool/oem_common.o delete mode 100755 mfgtool/oem_tool/oem_tool delete mode 100644 mfgtool/oem_tool/oem_tool.o create mode 100644 startup/ldscripts/riscv/rom.addrs.ld create mode 100755 startup/ldscripts/riscv/sp_cco.addrs.ld create mode 100755 startup/ldscripts/riscv/sp_sta.addrs.ld create mode 100644 startup/ldscripts/riscv2/rom.addrs.ld create mode 100644 startup/ldscripts/riscv2/sp.addrs.ld create mode 100644 startup/ldscripts/riscv2/sp_sta.addrs.ld create mode 100644 startup/ldscripts/riscv3/rom.addrs.ld mode change 100644 => 100755 tools/bin_tool/bin2hex.c mode change 100644 => 100755 tools/bin_tool/bin2hex_frame.c mode change 100644 => 100755 tools/bin_tool/hex2bin.c mode change 100644 => 100755 tools/rom_img/riscv3/Kl3_rom_自测记录表_V1.0.xlsx mode change 100644 => 100755 tools/rom_img/riscv3/ROM_IMG_V3.1.0.0_20210811.zip mode change 100644 => 100755 tools/rom_img/riscv3/ROM_IMG_V3.1.0.1_20210907.zip mode change 100644 => 100755 tools/rom_img/riscv3/ROM_IMG_V3.1.0.2_20210914.zip mode change 100644 => 100755 tools/rom_img/riscv3/ROM_IMG_V3.1.0.3_20210917.zip mode change 100644 => 100755 tools/rom_img/riscv3/ROM_IMG_V3.1.0.4_20211014.zip mode change 100644 => 100755 tools/rom_img/riscv3/ROM_IMG_V3.2.0.0_20211126.zip mode change 100644 => 100755 tools/rom_img/riscv3/ROM_IMG_V3.2.0.2_20211202.zip mode change 100644 => 100755 tools/rom_img/riscv3/ROM_IMG_V3.2.1.0_20211203.zip mode change 100644 => 100755 tools/rom_img/riscv3/ROM_IMG_V3.2.1.1_20211206.zip mode change 100644 => 100755 tools/rom_img/riscv3/rom_symbol mode change 100644 => 100755 tools/rom_img/riscv3/romhex.py mode change 100644 => 100755 tools/rom_img/riscv3/sec_cpu_symbol diff --git a/.gitignore b/.gitignore index da164ee..c66d46e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,12 +5,14 @@ lib/ # tools/ # mfgtool/ .vscode/ +*.o make_flags.txt # prepar_vscode.py # vscode_cpp_setting.py python_script_log.log build_log.log -*.ld +sec_cpu_cco.addrs.ld +sec_cpu_sta.addrs.ld sp_applet.txt # file_exclude.py KL3_SG_BUILD_RECORE diff --git a/dtest/dtest3/kl3_i2c_test/stm32_i2c_slave/STM32F103RETX_FLASH.ld b/dtest/dtest3/kl3_i2c_test/stm32_i2c_slave/STM32F103RETX_FLASH.ld new file mode 100644 index 0000000..e869168 --- /dev/null +++ b/dtest/dtest3/kl3_i2c_test/stm32_i2c_slave/STM32F103RETX_FLASH.ld @@ -0,0 +1,185 @@ +/* +****************************************************************************** +** +** @file : LinkerScript.ld +** +** @author : Auto-generated by STM32CubeIDE +** +** @brief : Linker script for STM32F103RETx Device from STM32F1 series +** 512Kbytes FLASH +** 64Kbytes RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used +** +** Target : STMicroelectronics STM32 +** +** Distribution: The file is distributed as is, without any warranty +** of any kind. +** +****************************************************************************** +** @attention +** +** Copyright (c) 2021 STMicroelectronics. +** All rights reserved. +** +** This software is licensed under terms that can be found in the LICENSE file +** in the root directory of this software component. +** If no LICENSE file comes with this software, it is provided AS-IS. +** +****************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */ + +_Min_Heap_Size = 0x200 ; /* required amount of heap */ +_Min_Stack_Size = 0x400 ; /* required amount of stack */ + +/* Memories definition */ +MEMORY +{ + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K + FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 512K +} + +/* Sections */ +SECTIONS +{ + /* The startup code into "FLASH" Rom type memory */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data into "FLASH" Rom type memory */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + /* Constant data into "FLASH" Rom type memory */ + .rodata : + { + . = ALIGN(4); + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + . = ALIGN(4); + } >FLASH + + .ARM.extab : { + . = ALIGN(4); + *(.ARM.extab* .gnu.linkonce.armextab.*) + . = ALIGN(4); + } >FLASH + + .ARM : { + . = ALIGN(4); + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + . = ALIGN(4); + } >FLASH + + .preinit_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + . = ALIGN(4); + } >FLASH + + .init_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + . = ALIGN(4); + } >FLASH + + .fini_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + . = ALIGN(4); + } >FLASH + + /* Used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections into "RAM" Ram type memory */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + *(.RamFunc) /* .RamFunc sections */ + *(.RamFunc*) /* .RamFunc* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + + } >RAM AT> FLASH + + /* Uninitialized data section into "RAM" Ram type memory */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss section */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough "RAM" Ram type memory left */ + ._user_heap_stack : + { + . = ALIGN(8); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(8); + } >RAM + + /* Remove information from the compiler libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/inc/config/iot_mem_config.h b/inc/config/iot_mem_config.h new file mode 100644 index 0000000..2b64f5e --- /dev/null +++ b/inc/config/iot_mem_config.h @@ -0,0 +1,146 @@ +#ifndef __MEM_CONFIG_H__ +#define __MEM_CONFIG_H__ +#include "iot_mem_org.h" +//FLASH SIZE && PSRAM SIZE +#define MEM_CFG_FLASH_SIZE (0x400000) +#define MEM_CFG_PSRAM_SIZE (0x0) + +//FLASH LAYOUT +//0x000000 ~ 0x020000 +#define MEM_CFG_LAYOUT_SBL_OFFSET (0x00000000) +#define MEM_CFG_LAYOUT_SBL_LENGTH (0xc000) //48k +#define MEM_CFG_LAYOUT_DD1_OFFSET (0x0000c000) +#define MEM_CFG_LAYOUT_DD1_LENGTH (0x2000) //8k +#define MEM_CFG_LAYOUT_DD2_OFFSET (0x0000e000) +#define MEM_CFG_LAYOUT_DD2_LENGTH (0x2000) //8k +#define MEM_CFG_LAYOUT_PARAM_OFFSET (0x00010000) +#define MEM_CFG_LAYOUT_PARAM_LENGTH (0x1000) //4k +#define MEM_CFG_LAYOUT_OEM_OFFSET (0x00011000) +#define MEM_CFG_LAYOUT_OEM_LENGTH (0x1000) //4k +#define MEM_CFG_LAYOUT_PIB1_OFFSET (0x00012000) +#define MEM_CFG_LAYOUT_PIB1_LENGTH (0x7000) //28k +#define MEM_CFG_LAYOUT_PIB2_OFFSET (0x00019000) +#define MEM_CFG_LAYOUT_PIB2_LENGTH (0x7000) //28k + +//0x300000 ~ 0x400000 +#define MEM_CFG_LAYOUT_CUST_CUS_OFFSET (0x00300000) +#define MEM_CFG_LAYOUT_CUST_CUS_LENGTH (0xdf000) //892k +#define MEM_CFG_LAYOUT_CUST_PLC_OFFSET (0x003df000) +#define MEM_CFG_LAYOUT_CUST_PLC_LENGTH (0x1f000) //124k +#define MEM_CFG_LAYOUT_CALI_CUS_OFFSET (0x003fe000) +#define MEM_CFG_LAYOUT_CALI_CUS_LENGTH (0x1000) //4k +#define MEM_CFG_LAYOUT_CALI_PLC_OFFSET (0x003ff000) +#define MEM_CFG_LAYOUT_CALI_PLC_LENGTH (0x1000) //4k + +//without psram +#define MEM_CFG_LAYOUT_RUN_CUS_OFFSET (0x00020000) +#define MEM_CFG_LAYOUT_RUN_CUS_LENGTH (0x40000) //256k +#define MEM_CFG_LAYOUT_RUN_PLC_OFFSET (0x00060000) +#define MEM_CFG_LAYOUT_RUN_PLC_LENGTH (0x120000) //1152k +#define MEM_CFG_LAYOUT_FW1_CUS_OFFSET (0x00180000) +#define MEM_CFG_LAYOUT_FW1_CUS_LENGTH (0x20000) //128k +#define MEM_CFG_LAYOUT_FW1_PLC_OFFSET (0x001a0000) +#define MEM_CFG_LAYOUT_FW1_PLC_LENGTH (0xa0000) //640k +#define MEM_CFG_LAYOUT_FW2_CUS_OFFSET (0x00240000) +#define MEM_CFG_LAYOUT_FW2_CUS_LENGTH (0x20000) //128k +#define MEM_CFG_LAYOUT_FW2_PLC_OFFSET (0x00260000) +#define MEM_CFG_LAYOUT_FW2_PLC_LENGTH (0xa0000) //640k +#define MEM_CFG_LAYOUT_LOG1_OFFSET (0x00000000) +#define MEM_CFG_LAYOUT_LOG1_LENGTH (0x0) //0k +#define MEM_CFG_LAYOUT_LOG2_OFFSET (0x00000000) +#define MEM_CFG_LAYOUT_LOG2_LENGTH (0x0) //0k + +#define MEM_CFG_CUS_FLASH_ADDRS (MEM_CFG_CHIP_ICACHE0_SFC_BASE + MEM_CFG_LAYOUT_RUN_CUS_OFFSET) +#define MEM_CFG_CUS_FLASH_SIZE (MEM_CFG_LAYOUT_RUN_CUS_LENGTH) //256k +#define MEM_CFG_CUS_DRAM_ADDRS (MEM_CFG_CHIP_DCACHE0_SMC_BASE) +#define MEM_CFG_CUS_DRAM_SIZE (0x10000) //64k +#define MEM_CFG_CUS_IRAM_ADDRS (MEM_CFG_CHIP_DCACHE1_SMC_BASE) +#define MEM_CFG_CUS_IRAM_SIZE (0x8000) //32k + +#define MEM_CFG_PLC_FLASH_ADDRS (MEM_CFG_CHIP_ICACHE1_SFC_BASE + MEM_CFG_LAYOUT_RUN_PLC_OFFSET) +#define MEM_CFG_PLC_FLASH_SIZE (MEM_CFG_LAYOUT_RUN_PLC_LENGTH) +#define MEM_CFG_PLC_DRAM_ADDRS (MEM_CFG_CHIP_RAM_BASE + 0x800) +#define MEM_CFG_PLC_DRAM_SIZE (0x5F800) //382k +#define MEM_CFG_PLC_IRAM_ADDRS (MEM_CFG_CHIP_ICACHE2_SMC_BASE) +#define MEM_CFG_PLC_IRAM_SIZE (0x80000) //32k + +//bbcpu fw +//run addrs +#define MEM_CFG_BBCPU_RUN_ADDRS (MEM_CFG_CHIP_RAM_BASE + 0x60000) +#define MEM_CFG_BBCPU_RUN_SIZE (0xD000) //52k +#define MEM_CFG_BBCPU_DRAM_ADDRS (MEM_CFG_CHIP_RAM_BASE + 0x6D000) +#define MEM_CFG_BBCPU_DRAM_SIZE (0x3000) //12k + +//DCACHE used as heap +#define MEM_CFG_HEAP1_ADDRS (MEM_CFG_CHIP_DCACHE0_SMC_BASE) +#define MEM_CFG_HEAP1_SIZE (0x10000) //64k +#define MEM_CFG_HEAP2_ADDRS (MEM_CFG_CHIP_DCACHE1_SMC_BASE) +#define MEM_CFG_HEAP2_SIZE (0x10000) //64k + +#define MEM_CFG_HEAP_COUNT 2 +#define MEM_CFG_HEAP_GROUP MEM_CFG_HEAP1_ADDRS, MEM_CFG_HEAP1_SIZE, \ + MEM_CFG_HEAP2_ADDRS, MEM_CFG_HEAP2_SIZE + +//AUTHORITY FOR PARTITIONS +#define MEM_CFG_AUTH_FOR_SBL (MEM_CFG_NONE(0) | MEM_CFG_NONE(1) | MEM_CFG_NONE(2)) +#define MEM_CFG_AUTH_FOR_DD1 (MEM_CFG_NONE(0) | MEM_CFG_NONE(1) | MEM_CFG_NONE(2)) +#define MEM_CFG_AUTH_FOR_DD2 (MEM_CFG_NONE(0) | MEM_CFG_NONE(1) | MEM_CFG_NONE(2)) +#define MEM_CFG_AUTH_FOR_PARAM (MEM_CFG_RW(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) +#define MEM_CFG_AUTH_FOR_OEM (MEM_CFG_R_ONLY(0) | MEM_CFG_R_ONLY(1) | MEM_CFG_R_ONLY(2)) +#define MEM_CFG_AUTH_FOR_PIB1 (MEM_CFG_RW(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) +#define MEM_CFG_AUTH_FOR_PIB2 (MEM_CFG_RW(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) +#define MEM_CFG_AUTH_FOR_RUN_CUS (MEM_CFG_NONE(0) | MEM_CFG_NONE(1) | MEM_CFG_NONE(2)) +#define MEM_CFG_AUTH_FOR_RUN_PLC (MEM_CFG_RW(0) | MEM_CFG_NONE(1) | MEM_CFG_NONE(2)) +#define MEM_CFG_AUTH_FOR_FW1_CUS (MEM_CFG_RW(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) +#define MEM_CFG_AUTH_FOR_FW1_PLC (MEM_CFG_RW(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) +#define MEM_CFG_AUTH_FOR_FW2_CUS (MEM_CFG_RW(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) +#define MEM_CFG_AUTH_FOR_FW2_PLC (MEM_CFG_RW(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) +#define MEM_CFG_AUTH_FOR_CUS (MEM_CFG_RW(0) | MEM_CFG_R_ONLY(1) | MEM_CFG_R_ONLY(2)) +#define MEM_CFG_AUTH_FOR_PLC (MEM_CFG_NONE(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) +#define MEM_CFG_AUTH_FOR_CALI_CUS (MEM_CFG_RW(0) | MEM_CFG_R_ONLY(1) | MEM_CFG_R_ONLY(2)) +#define MEM_CFG_AUTH_FOR_CALI_PLC (MEM_CFG_NONE(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) +#define MEM_CFG_AUTH_FOR_LOG1 (MEM_CFG_RW(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) +#define MEM_CFG_AUTH_FOR_LOG2 (MEM_CFG_RW(0) | MEM_CFG_RW(1) | MEM_CFG_RW(2)) + +//PARTITIONS TABLE +#define MEM_CFG_PARTITIONS {\ + {MEM_CFG_PART_NUM_SBL, MEM_CFG_LAYOUT_SBL_OFFSET, MEM_CFG_LAYOUT_SBL_LENGTH,\ + MEM_CFG_AUTH_FOR_SBL},\ + {MEM_CFG_PART_NUM_DD1, MEM_CFG_LAYOUT_DD1_OFFSET, MEM_CFG_LAYOUT_DD1_LENGTH,\ + MEM_CFG_AUTH_FOR_DD1},\ + {MEM_CFG_PART_NUM_DD2, MEM_CFG_LAYOUT_DD2_OFFSET, MEM_CFG_LAYOUT_DD2_LENGTH,\ + MEM_CFG_AUTH_FOR_DD2},\ + {MEM_CFG_PART_NUM_PARAM, MEM_CFG_LAYOUT_PARAM_OFFSET, MEM_CFG_LAYOUT_PARAM_LENGTH,\ + MEM_CFG_AUTH_FOR_PARAM},\ + {MEM_CFG_PART_NUM_OEM, MEM_CFG_LAYOUT_OEM_OFFSET, MEM_CFG_LAYOUT_OEM_LENGTH,\ + MEM_CFG_AUTH_FOR_OEM},\ + {MEM_CFG_PART_NUM_PIB1, MEM_CFG_LAYOUT_PIB1_OFFSET, MEM_CFG_LAYOUT_PIB1_LENGTH,\ + MEM_CFG_AUTH_FOR_PIB1},\ + {MEM_CFG_PART_NUM_PIB2, MEM_CFG_LAYOUT_PIB2_OFFSET, MEM_CFG_LAYOUT_PIB2_LENGTH,\ + MEM_CFG_AUTH_FOR_PIB2},\ + {MEM_CFG_PART_NUM_CUS, MEM_CFG_LAYOUT_CUST_CUS_OFFSET, MEM_CFG_LAYOUT_CUST_CUS_LENGTH,\ + MEM_CFG_AUTH_FOR_CUS},\ + {MEM_CFG_PART_NUM_PLC, MEM_CFG_LAYOUT_CUST_PLC_OFFSET, MEM_CFG_LAYOUT_CUST_PLC_LENGTH,\ + MEM_CFG_AUTH_FOR_PLC},\ + {MEM_CFG_PART_NUM_CALI_CUS, MEM_CFG_LAYOUT_CALI_CUS_OFFSET, MEM_CFG_LAYOUT_CALI_CUS_LENGTH,\ + MEM_CFG_AUTH_FOR_CALI_CUS},\ + {MEM_CFG_PART_NUM_CALI_PLC, MEM_CFG_LAYOUT_CALI_PLC_OFFSET, MEM_CFG_LAYOUT_CALI_PLC_OFFSET,\ + MEM_CFG_AUTH_FOR_CALI_PLC},\ + {MEM_CFG_PART_NUM_RUN_CUS, MEM_CFG_LAYOUT_RUN_CUS_OFFSET, MEM_CFG_LAYOUT_RUN_CUS_LENGTH,\ + MEM_CFG_AUTH_FOR_RUN_CUS},\ + {MEM_CFG_PART_NUM_RUN_PLC, MEM_CFG_LAYOUT_RUN_PLC_OFFSET, MEM_CFG_LAYOUT_RUN_PLC_LENGTH,\ + MEM_CFG_AUTH_FOR_RUN_PLC},\ + {MEM_CFG_PART_NUM_FW1_CUS, MEM_CFG_LAYOUT_FW1_CUS_OFFSET, MEM_CFG_LAYOUT_FW1_CUS_LENGTH,\ + MEM_CFG_AUTH_FOR_FW1_CUS},\ + {MEM_CFG_PART_NUM_FW1_PLC, MEM_CFG_LAYOUT_FW1_PLC_OFFSET, MEM_CFG_LAYOUT_FW1_PLC_LENGTH,\ + MEM_CFG_AUTH_FOR_FW1_PLC},\ + {MEM_CFG_PART_NUM_FW2_CUS, MEM_CFG_LAYOUT_FW2_CUS_OFFSET, MEM_CFG_LAYOUT_FW2_CUS_LENGTH,\ + MEM_CFG_AUTH_FOR_FW2_CUS},\ + {MEM_CFG_PART_NUM_FW2_PLC, MEM_CFG_LAYOUT_FW2_PLC_OFFSET, MEM_CFG_LAYOUT_FW2_PLC_LENGTH,\ + MEM_CFG_AUTH_FOR_FW2_PLC},\ + {MEM_CFG_PART_NUM_LOG1, MEM_CFG_LAYOUT_LOG1_OFFSET, MEM_CFG_LAYOUT_LOG1_LENGTH,\ + MEM_CFG_AUTH_FOR_LOG1},\ + {MEM_CFG_PART_NUM_LOG2, MEM_CFG_LAYOUT_LOG2_OFFSET, MEM_CFG_LAYOUT_LOG2_LENGTH,\ + MEM_CFG_AUTH_FOR_LOG2}\ +} +#endif \ No newline at end of file diff --git a/mfgtool/ah/add_header_v1.o b/mfgtool/ah/add_header_v1.o deleted file mode 100644 index 113117b3f4806ec5ad408867b3fbf9f9fc57bb4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48312 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 UoGv+cs1tePXP0^_0z}E=U+eGb&Hw-a diff --git a/mfgtool/ah/crc.o b/mfgtool/ah/crc.o deleted file mode 100644 index a2d0c54fde8eed8788666a381d34cd4c773f80cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5944 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
oB{5T*% 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 diff --git a/mfgtool/lzma/7zStream.o b/mfgtool/lzma/7zStream.o deleted file mode 100644 index 29a8a5a5f5c157164e9dedf7044cfcd4aa1f3d96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5336 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 bR}5d0qX?JVC&Oq3<-g_U-`S7!4L$!CHU;dv diff --git a/mfgtool/lzma/LzFind.o b/mfgtool/lzma/LzFind.o deleted file mode 100644 index af906d7e616aad92edb20894e0636f6fbd79aa54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12584 zcmds6eRNaDm48nXpkP-|fJ5EJn<&M!))HI`yNMMzJ$lxYH3k_}WMij5j4^UCv4Pl< zO#%TE*-mC(l)6otcK0+*|JaY5Jw3amA5NNXQyZwwk~Xy|OK6gl&@`LcC=iEGYzW1B z@4OjVl1-9!v;XXzW4(F5xpUwBnwfjY2Yi8YlPpW3$3!wqD@31nM7gDlq4=)*?aTaDfHX-`YczUH-Jn*hRn;N-TfHj3RMR)*d-Ue~ph`1pS<`>@h;4rcqhUsbx^!cIIi6#y#YqrXy}uLbC){K>>Ej33hbx=*OerqcO_7B5+>x(6zhvP+fp1C^dHSNc}DRK4VozjRe`^m$F` zbNfnHMxXJyE+rN!w|FEUodBBK-2T$rRz~ksV}r8lz7`!*-RIjMA^N`j$=Ik&{T34U zTQzzIp<4bV(cx#~W_6RgS-o4WJks4t31}P#uBo}IuzZ7%2m+g^0>Py|6*BuRe@4ARN*`!_p9#LD&niaajH^&lpgje zec20@zMKVW=}6>O_-XyFN^hq}^gAl(wZxO@1kpEQ{jz&BI;PK4={(&JLd-SnuMW)v zsU>x2E@8oVHx@Bnr5TXICuKvyg4k;SZ{SiX{+}$7D(RpBrr2DOU zhdsLAIjH-C#0)YwYNt{AvZ!@sw6?>k`(R2` zB4(eM5V?`)K5*D8gbq#FsV~yqA35CEi*B@TBgKX|(Ul~2G`w+2S0h z1H?VjZlS|;ggB4OgM?OZfe(`I6Vaay`W$lNC!?r2t{-PdwzI?P?64nc?8Wzx?yn;B z1ESxd*VvcUSc!hXL*&E6Imo8y-YR1DdI&XdJklG|*I9u!c6lnY4c4LaSm$1cr0=bb zTHQlR*T2CR^iZzemgl|@DRG{n$0ts>FDU*~bkKRtJ=rn8yZ;4T{faj3_U0?)-h5-! znBNp+vz_SA?txGxy1!uJ1gyq`Z%S7ozQL&Zfw<+6YYOeG z7t!~eBf!o38xrfcP;#}x-4AiF#;SYm&JkxQo361shpE>-MqqU$?bo??i4;|IFSr9# zTxKTj$@ZHFePi_fKTk~=vq3xOv9YBvOSuIC;tgh$#H+vp_8*9Xm_Ju0v3W9t9`##S z`m-bRr~Nbb;x+i%^!h`4SJOX*(B83ktYhB<9Z~*(zKG~;1*+0#g1_}<_*pF%2V#4m zQ)beu9@{f;#_BpY@aCL@zn?NolI!r2P^t24e<0rVgk-mX)vZ1~SEcrV?k%E^_ege0 zqB)Q1-cq>8Sk{xHlzSw_IpE(+`PZh(?=3)ylxG*f?%50SK+xGyxTImfcjdZ<{rt38 za>p|$)&P7yT`Y(v9QY1|cVc*Ud+txl!{PuPVu!)5cNXtMvzEzvKxg4HIq>^A z2mi>zWnjq~9xjiva9IN;wyM-hA7LgZXzA=1KoN~*KMW4Q(7?!`i+Er#`4`3Z=9oKT zD5RN7e=ccMwq9}QG&mO<+;b(7pwG7gdT^Z+7)n~)k;?=T~EPc^toS)d{%QGYrj#W z#|eFjI8P~kw|h!mN*5+B74+5TK^Wi}h6PobyB;I6dX*Z2&YQu}mI?5w5BGzk4&pqm zZ?=+{Pm;;Nq$wVfX|;7_b+*!#jhe@f+Ql)Hww~S{eH!eC!>;~mg5-XGULG==Kmgii zK~d*x?#evnp_c)vps%SvvqI;29Dj}xU8|&HL_SXBmntTHN8A^p_Czk*w=iOe`xMMq z`c{;emduZwgJVObIr;9FBdaUqS6@IaV^_>zET!z!ST@`KJd&%Q9@gTuCN+NVl#l)z z*#zk6ih)0vXvt%19FrE)}!odVm zObz*0IRF~+ZvsGSr2fxw{ptAg=#u1lLkD7K`01X4nB z@EXQg^!W7o!S*9EeP9s1qX5h`Rc*zSiwt?0B+-SixxxvJIA9+5A_f@Ss;BpA-1m^5 zx}lQ3#4=`FlJHGQI@9q0eP5-&rsD^}A5*_j9*O~~(u*Ub>cBgu?n|mdj{4-$cw~{R z$%kpQYUHd&eYL*$Kf*G!N~(NOm5+8l0B)!zdenob^IUCZI2c(SpcCrU2FPl|L5;o* zZ)C{l0p^lAwU|)Ie;}b+8laaz`cZ^aq8|3+fl+hfA$a0+y>gRATk_*xdC1p{q_N8; zrE5MeCjDFJ3HmyOv{L@t?h{J)k6`>45}5P(sVNw#E~VFiy!~^r%Vwp^1ao4SElQUS zI>^kjK#D($zl2V7K5(lF01Z!~( zK`$dL;w4X_bf_w2WQL|Ny650r^4A2}PpUmp7`@C7>!`AU(1Y5oGLKeikO zrelDOPvN*EqsCl)(1=cqnSc~Q*|3Ssz;l?uB+q+{AHAj-lQBpwBcCSmoL-EpA=DUR zuHOO+FZy13z1GpJ*OU@{T>+6VfZorLc-1#7#`%^x5BZ0HI|TCwLw=SE63FBahJFVDY{0{j?v?p+2s|MU4nh^e9FBDF4$|; zLwU;}SM}QIwTV-ZIhJ40L$%IH_i+19=zw#C9#8z#*e^8Q->k0#1v&}>^1$kNP7k5u zBp!Iw(%3tM+brmP81z0KeGg3oX2}J!Ji+$a4Ep7131F9K!rFqC$*xFX(W zAv6MSdYc6*y?3zEJCR!HoyAH|=^g8I%mRWDBTCgp(~WhGRS5kI5{YvZemE994; zVpJe&{xZx}y7s}xfgsra6O^3b@`5)C8PgFf4P8ZA0(=QhNPMHQ7X+O|dgY-9VJ3cg z93@%=5-k|pIqf&B%Z9mgp?i9|OT?iKC3|Bp*3iIYGVwP?yw56T^edo-`*8G4puCE8 z{mOkHLC=2p94q7X0Nf9NYmLX)NW<&QXL-(<70vW6i<9tXS4*%ctHSn?Y(fQgRF%+(!uT8%97w2p5 z1IJG;U)%A?mJhx6Eo3m!b^7lpV@|B3c9)E!F{;<2ON$UqOF` zH2@^`70#0{;CAjSEy<6xgPL4L$nH_eAWKg^I$Hk2h!(h}fm8i%Oyx9IH!$9br;T^C zasRt4ZgP3Xb2n`A61_&^s)i_;S-zgDmFC$oUq7bC#$;-ygBo39 zaSuhZQMLF+>zD_usr%4VAUA3egpuIrRAPpgYMJ@(64|&06G1fe@92W_$q-2D!tRUG zeIvJTWL2E*L%*P9MS)yx6v)0+J7kn0WC#J)`N$;~almrJdoD&>;{~P+CG}@*r4@74;yq=`WQT zP8TM#QD1@FXF#^=$^GMZ(&SE_Xa6_ypBnw>vNSS7e#eK%e-T4z+V1J{PnRo+t-@b= z7P~u{VgAR!{Gp`zXSq{ZJqBNz{j%zF(|0PSjwdm-YXP&S-l;(RyfI2Z*2GC;-7)*7 z$XAn;4~}@eOEF6>4y=^)-3F5W@B4=ln{*jofQCA4JLixPJKgcl{Ij(^3k zzXD%Jk;FxbSpRQ~9y$wh&2s-l;&Y4;pPTHJTc^AB&I7kf(VGEy3Ks?~hir4sN%R#h zcZl_&`!~fVO%X?I(i~X{UXu6N<(snSS$iQV#W{I=%*vmL74d!+f5H|k;UBi8SO%2Y>|ZzeY`Kq` z%WRIgrOa0F$Q;#H)H7GLmB!|oPR_R#skQ|o3$N<_I{84T89+PUzjhQuDk?DK$ZMlG`HtXsvrr%Yhfo3xv z5>`ES{5G^N;*ZZ}kC~cms6X1`Ha>=xFY=C=Oq=K1tYs)a+9trqmqH&~3H)v0*eeJC zzaEnp+{wIt{HjCsR+-rvobw`106 zXneGr6%Sx&&*M+JoZn7Kc7KVkvj_RImbVskZ{$Mlko z5L-~S)oQjal{U{-!})58^Vehr0QA}lQo+?(rm>l%s<88q`S+KgtkBT*$2cZzkJxJ* z>p&uC`S3T+F%{66%}{yVbr=Xt_GZ5uFY^6S%M`hD1ZAEt{S4tU%b*`7~HYBSm8Cop1BAnl|Gx+Vl z9>4Mr<9GBEh8DKCx%*pLGwx4G`lxz~|xr)-v{x-AT*%jlFjdr~MbC z{g8&Pwn*>6)!NKvhHJLjnmKv8rH`7~X_$`9hgTEuad4QOVbI4liFlBIf}Kf#1v$Q( z?;~g69ot^`Lwd1(*%<-Y(;WXkk6p1p;pGg{4|ANI4}jsBg!m!uQ?~yD_63jw@!i~R zY<~xQJ;$Ya@B)qP-|&2Z+P07-gl24cLLS$2{>00l@0wb@*K6^bQOpXiJQTv;gL#{6UTjzu(63PL7MSsf^=7 zA(it92|ip=b{@f4BgcC`Wf0=}!*+n<{T#Vz3*udG|23-@xH`-x51IKd(@k5_B=-FNa-BOMR*%h=TvAqQF zpy0#t~g0PSMF*L2Y1a%xT2^mQc{;ni~?t}WV#?}@y91!@o`B>!^aii_Ds@g`)5iVG(^5V zQ@f8dBVEalGb3Hs51o-}Y9I{mYT6kIw^r@)Mq69MJK?ZITP>U`)wvZ z!S_!%wj?~01b-QofrdD4$pX(#!I7oF9ni;y^!O(l=8xC}F3x0Pz)9S}-+MD~k#C*M zz(u|VM+R$xzc{~hGH`Kz7iHigKNH^(e7=u{g0?M#UgT%r&A>%|b}|DO`B^qMir_C& zqS6dp$_*PMZie4;Z07x~2F z8Mw$New=}eeBxLJF7k=jGH{Vk~u;36+MmVt}B zB$ubMf{(~cf*H8TOZH{p<9uC7g>Cn>MC!M~Gtz22w~JnDxVgSC65bP$3b)lq>ZQW1 zZEaFv!>*PVIAo;4ox398Lb#(_&W;EE{S?e@9R=z$k-NmlRHuQXJ)fm z$g6FglgZ5d@4f%~|Nj5)z57teD9ey#$-QLhU!>tL7b;0dXAZxYh}RP73Mof2Z?Cdu zCvMHf7-jSK(4d>;MU3w?%yK`gG|by)X=b&tP*-1GV9qZwtF>_OY*U?jj`6eBv|`5p z(0W*D`7y@vwIv$Arz+ICOKEwW@bH&)OP5(RE=SZuhI%9{?;04>u18~XIJh%xT-!o#5)C+{_5{x@5(BR}_`*Ck@MDZ) zx3k;A{1dj2RkCNLOi5a}K##t=PB+&Uf%yWRHw1K@R|YD=d_cLjL}F%{#>~4)baP`s z=USkMR|WEQzA;eJ+R>Pg)*PLmH`IgbfjL&5Uk}E>bZgpVpj<3{N}O#C z<7r@iK;!R3L1~Vr9*LbEV_4DUkcn9Z8OUcbNklSh1AfTR4_FSKxp?N`nZuN=e#Q?s zUq~`AgBUn&GcX7vVzGF(raZly1!GFvE8`?dIVz_u@9<;(?LS&Vm&#v$Jyk`uAh zpzCb#Wu@&00?~05$bqL9+`(thWJWgzGP9Mo2wGV*;o0sX>w(-E%sF;^tYNh*SOOU4 zs>ooxFU1~62ChAH^Rq$%JtTo+V~FIp*ft@7KJLhKJAFpv7-n9S5mL5J(x4q%q$C2N z9Y+L%d=ChRdA&!J2PZlrI0zBQyZK%SaZ=dI*CEI35Z^sIP4Yfa1vI;etV0tB%{!V3 z+>pR~d_M#^1$frEct#}#cmz2@kQ)RZXaq_J9-_y_^Ec8n`LgsxKo5lD8EGGB!g1*t zB=O8}>2WM1da?u}&W>L2C~ajKP#y1utw)c_d*dwHoe{log|hj-pb7-+=O}})zN45d ztnSr#=X~q;S$9EwY#X%<6sE)rlH6$_xj~H|0m~lw6i_HF$I&&!yXRW@Wx59rt8BeK z#QPnkTp3cfOdd8AE$aZ|?}g-D2p8EQ<>@zAaOe6bSnSjo__wAWV8|LFwLk0Rz|Wlc z9gUAsuGJ(dMadI}@n!YyJ*^J@w9L|G%Tv$Ey&$OZbvtZy#*TZHt!5b+Hk`zcV?<7h z-D+9g$Zt*@*k#9oD~0h2e^qyLGC3x93sWY%x~Cy93(Q9eFIc?>M(hTL2|%8a5*W0s z4#EZCv6%>(ujKZXE_NyljN?izlLj)*mj@6oONddCo1^H4IP8Dnr2K$-btn?5E@qgT-Xu(!{wcvEQR+h+h<+xr~;-G?|=uwh&;pk zN2(~Y?vN2#^N{&lUx(6zm4SSv?J(Xbh)kTcFM9lA>yGj0lBpvNl(1-5hOS;vTAo1{ z#4R`Z>A{|QA5)PnVR9P-Gm#r98|4w*g*v}rsGUZz%dm1Lhn3lTHF+Zvl-j2UcPkHH z1x(bf0C)|{d$TUThDex6`CZwPlN*k9$m|h45edc`PwPP>>!xf2WL7AfbKu;DiEJF^ z7e})t#>=LGkeNvN`4N6w0luqK`eO4~WXq4i$CG@@EJ_(wWF(!cJ*L;|U~D9m^2!2?RPT|r$7jY5}Yb+O&=u^q2i8PC*Z3olXaC<(VHH9ah=9H?p(~O*kX1UtKM1DZje+$d?;+? z+#Hs>+hL126L-Lg(YsUDA%sF*(fX(?(;f*Y!olvwKQZg}gl=uTT8{U^Jy1%)&(N_* z*?fKSTgZ%&2Bk26uxKFa_$9K4x(8;r4SpaowU3|OPH*uk$hTBKfgDQ5d3fgHnS-aF z+o?J?{>I1DX%qTOa0B(6ItW{lncB_w$Cp7-q)*thx>xO`hL9TLJ@E`Q4BI0`B6SxC zc!8!>&mjjtF9`TCdSXA{eEl8IA;YMet4Vd`U&HC?jG$ zrhC!!w^ao%fk?`UpGj5FboVF~0UTb|P*{vo^SBiOd>)yjsS@02Y9}-)Q%cQ>55n5q z`tTC@Qxy&S7*+0HLCA9T<|q_J3z95h{t+)zW~`+c#+a5uxY#}#gEeh8&y7T=3oC5#agl>GFVORNx|CmYu0>b z5a{FY!zV@EKU~KaAxvi@#v!IgB&Fq0HpLz)Wosw<5vf0YE&HTU{yQQsi86Mc^_b@< z*^pDix`BFBy$y%_&E(T?raa*_U<@%W2l1bxHTfA99C;Lu$5CB8>BHzdA6s{2+aWnW zfbw}I>T1U)sbr>7IXB+>J~6)um?f&=iA$>I!M|ZuO)e4waA_RHd)x)V-e6}_eNu@` z9wfrz--2=2`iIRSmDsT!y0D8;1brQPK~FvS8shq75#tg4dr|x6%UCx~d?fE?9V!&8 zQKtFCxtR9B|VCTXE z?do6`9nT+aH2LUOFs$_ZnEp<6TOfu2kuhv>zz%I11hWJQCuQ*1<)K9k%#wW2}!N=3~al$Q=NcO7;)s^onRT`^H_wTT#> zUaS9IgiQge&yKJwJ}bhS)?ALLd61TC`JZl8^B9>EtuyUajff}0I334}|5gM@;b%zH zYB#Eikh&Y{8!+v-i5NQq9zSds5iJx}#5m*wP3^D;!h+&!ge#5Sej=@1J*y6i(cN}+ z8oyKIoJ}tNwD~(xWhD29D4r$f*H9E-{)M6p8J=J5QM(a4uv!vTja|^h|6=<)iaWPL z#lBC>u23hrfod1Zt!&|_7srPtbzr&mF^hJL)zqEjmR5dN^INoC$N0gB)lA!X^Q>uQ zC?Qq@G~jq`(#>qI6>io`=8R2>mxMWY*`B-UBUwEORL{XzB;mb%!g~>;7E79yZ;?R4 za-2;)9O6eJ^4WRTE%Pwh4UC_1*A}!`N%cf6s~f98XDRfmSPBI(8;py6)W_6*;G&WM z_(JkaR{pC(=5Wmrzd@UNI3mBy_!|-VG-hhDXFC1=FN*{I;r7R9syOh8jLqK& z$$J>zjjb9?^Hmmm%Nvnjb(#7AQ?2<_Owm+gr^jaN3wDIL3|lmn;3)Ri7;r>%{6kFr zM1+jL#?;u)f~n7msV=9h6sE@g<4iTJ$MW@ZTH1@`Kw6r55bT8IR}q2MPy|9Me;tXJ5Qk;al!{vPb1?Ed}lcB42r;j;DrUU7{^A8 zL)Ay|im9hyQy^h^0Vnj&e4Dgri{)l0Is-tKge$FW_sQ{v?2nwbm(~lxEH~ym!KxcA4nff!8^guf}yQ4i` zs3N}lj9?l1qxNV|CY9h$c^18pP+EV54p@;h>jhfaMr*OtD^{GeFMwru4xV{<=Hi)y zr@e&4cYM|$u~7oNRHq8Vz{*xV9PP<~ZN#5A?b;2tS;TrH+CvLWEb>Hbx7Uha61_Hw zSSFUZ@m~nEL@(Cj?#f$f`wqbIZ{uH5e{7)`pv&i2nx41m z#mG9J!14@4!% z4El}3(nw*01T%fbGD$RD4+38j?T@iGPZq{{~z3Hl`Df?1AaLgGrQ< z(E$v`=|HIX6nj=2u~@YcuPv%v(Cf-c3!bPi;pb7R8WAZ~O1m)LC3iF_ZHK`GPt z<~zE&3cS{rk4Aww2I;QfhOqjajjs!Who~}aQ7N1M6LXQc9)1`vP{5swp)T5hg0^5M zhB?2;oNvGd{1Lu8tnLm6cPS5-q3>*E%d{!>hVl+F^MOgiZ$Ih-v&gWh=1DS}--bu< zgYqey*@XBjI)9B#9WeMYT|OV;Zx|?M$OuvedLLAH8FsL_3wVp$!0 z2sIom(zc@o7-qAP=g-oyogLTh`qS`K&x-#}6vUg*k%Glv zG1wmTg2A%q$XZ>SeJVnGS8)w9+WtK(kD_#W)MDo3G^2P}T{#daTeS=wVs#KCrExux zzU5z1Vj9aD;%8!Kpq?SPXWe))J3mAIZvC3JCTub6z=5I^Ux4Asc&m~<>di0F_78gw zo7EB@!a*)EvmX80MfBf%dGN1SoY0~QS?33u9HE6)yn@27C+I`t6mA{!(oFM`SX|K&pi z+pYUA+VV~vy+w>p3!HoVv8JNazH2e_)EGi<^o-otjj*pFh>3%Ucm+(qW;pi>e_AN- z4f79JWtjhEp}}8TutS1D^}W@+^Clcf;;0*Y@?X_kKWrGwZeA=kd{O6T5(_i=k#Ltc zK>Xrcmp@D_#4fKlz_5+`M|W+gwpaLgou@&x3xoQX(e#|a`rr7ZT+zEL32TE>prFR z5I*(j#}k#d_2?0{DyO|0Y5|&6_%isi0)u~|^Edl9yqQPt<chZ!`pbV-Q%e;*%4@PQ&Fx&&$m0iog#A>@b6x!z|;$DZuIqgK1n zvRRsoLlxc1t7zTTaJ7ib+axbh*O5`f^-uI*C(cEZS_A!ErHhCgotNt9B;#4pRk|Dy zC{1bkA|{Mpn5b;Ng=lU)rL>gdx(lg2MC|fXNUhTroCeM1 z8W@q;|5d1uMDk0*4H43b3<@u5S39&|x3ZZsB6fyRD(0!3!3)af#{uByA!{rS z!ov8)u2S1v)t6io_%0%=Svn1;HrT~Oo!K=Gzf`}2jkn1PqXyj zx=ITn>_k`T5`0Taw?iT?ofc0ZShwRq%}d5c`!qV(_Jg)A3EGh2)fm^V^OFXDhwSWb z)a7KZgg82s(J%&LZCq*a1HbCwZ>ESo2Uv&2 zP56Ih<5ybdL3X6NmJnV9Z8l-{sZqQGP#pc`p*yT*Z`?cbdw{cNu(K}3f8vf7oQZ7M zIsybkmg02;vL0Ax^GlxHPl&~|{N7qRNc4u~)lwI^h7>PFcg8zJGwnNv<%ruc*442=8LIQ9Kc`^p%A=|CoL$w8$_gM9dgIbA1+(drR1wi4AY;Awx$9!vQ(`pJG;_ z!(Jo4&S08Z#7aq69;cg;B3;I>tzHbP&{dC4ZlbG)=r>52&LD!&4{{9r^NSNgnsAnm z>P&t;EKdx}hY(^KZ`Ki^Z;G_;GeAXQ!!+GoT%?P>)ScfUWnE(?}l|0j4%a1Oo5*ed?Sf|p7sd+5K+FcmBt%DcEO#XdK2*giF?JN zQvFJpb#DJm9A82uyK9uS-hgtYXCO8#Kl|s!E|;Y zJDSYs>GOwqfB)}rSSL_4J_qIIP{s1~^$*=DNhMNb5;hRumIf89&rV5@uz>25_UX;X zrQE@U-rNbZkaW3|v}H^^sRw&?rL;H9Ul+B99$YZ1p$mSQFGvFI;EHlkn<^#=V0(Eb4+RRB~e zyhm}a`CZD0hAA876#7kFu3!v+JirR=cz4=9YXx!19 zIP@3!#xT7B^6bnA7JNKTo(`YKJO)3fiwsSPEW$&e?T7~KgZQNA0`JBz4~d8hK%}mg zz@zlUMX)9Gg6Bqh>bxbe2~U?$GOP-ndqS;$ZoGm;zwUX4`V7^EOH{3p<4R+2m(N>B8Loq1 zLcDm2G=itR;hU0tU#>hQXIy4GSfrm-=HsU8WBPZOFZa=mu+QJ-(R>9_Z^pNLe&)+9 z^JQu~Uw%a=P@Ct`49P&(O6rfR+>d{=eYxMunC1rmipv}sdl1sAYS8NdV^ahXkgwY>7yw$ha))ESu!` zn1idDo&uLnxF93TJB&-S<=8HJt_RbXks~8Hk}BSH@Lh{{36hCs{Hre$uL0bdBFjqB z%}!fe2E-Zll=})+3Pm&YB%X_$el^q&R{?I#feE<^ymNd->&E+XF-XVcB(s%HpBWA> z7TJWOLm~TeU&VUJ9?D3{Uc*?D!xPTf2a<9S_9WzxW=|2{pq%l^Ny050J(crL(A{VOIB)Uka$@54>- zqe6*}EmH?v9*G>}(#s=>2zp6_hkmzxnad-h#mI&i@Hv6#DX`(LADnRD?GD`ah4&qJ zuLBqU09YpYBs)sKt{DY>9pE%?!FBcs;R|>Tj?#aQ(|^+!?f#CKq$&sga|bT$99>p9 z@S_gA#vUeZaNrgHYy*UC_Y}vzbvnzpQLQsIt0}%{D^S z(&`nfm#w@1k^!?DYozMx`i7;;?yX+7^4{v2rK@U_oyzJ~*o=&Th!4R2*_b#4#$8HFIRSJAZ z3Ou!ce+oRc|LH;u#+8o$F~|N0el>1)-q4q*x7|OL{`D#F)Oia;Z;Cbc?R-j$(&4as zx}LNj$^LHK8cc(`aci10&c$C*V0SD@gSR{I$~1Vd1OIs%+>H~1X>d0lBs3x{yN?^)A0eI1;3MP0-F(sY4g#mefM zx}~daJGQy``~MeUD2Z@v8j2F<`vJ#p+~)L{J_QYAgC%YU=joqezfc~a3wzXJ9yb&D z1yqvAeW*)%hTV}iuhU)hb>Hbpd6jVfz2l29mgX|{@}M<$R;c(kSxgwO!t(PR?9 zLv7-oB&=?><<>FNRq?8B*#6D;U^pFa12!smwmkGbEG-0b~L?2 z=*nLD_2>4qNj)k%qObv_BjTRetxD}EOBYn>h|=vLDouT{aSn%?+ukwc z(zdA1j3(BdJ22R-Ozdd79E&*|4ZBs=eNev9q0CXu37=4h%4}tpQm(L9W(C=MGv(dm zH1qVNRvOa|^b7=Y@cS0wsQRf4h*vw3oo!UE|WX;$e zMng@HNSf5CG+id3HuzdVE`CXqIyCRG`fK{XZqJwVzvQRCHqkS zdW+w)g60$JZUH&=dC=UvtJ^=XZ#2C_vXFbk76n~DC)IbWZ2d1L6wq)FLKZ$tuYaUpNAoP@w6vMhr`CZivNV;PiwXOw`;zA&;h`AGp`) zF!b#}@aLWc;~$Z4^kJAMRQ6`>(V*#R(U1As6!z-z)2v(3-{Y(4`(n3>Gqp*-DAm8J zuvCvlPeI?R_r$8F^`W$eZ|+N@F$n&!Zgw1McRZp;#&q<#B-dl!jWmQ+@8`A~8Dm+- zI8ASNY5Gul{lFetYN6j)Mkg(!QQquuW<16+T7f5NcQ*p1{!~DZG-^$U$;d&`9AH7I zw^MHZ2BzJmZvzTlnqhHgp?15)uKF~s=@2o{lIMdF!df(}o3tK(lfQ9MDYw-oX#5}@ z7N{<}t0a@ePBZ?=9b~6?!(jG;^dRdCN(#pUryhT~{uNg(Y=JxuR zHTHJo2S6R!u)d3Rcbv{#H`CS8=jIZrG1v=My*se)MZl!4m{X15@0v7}_Z=){q zRY020*1tfUIhe3~ZHBC{Zh7~$>_|uCD*5-Fe$3(ey$&}V!no|?9nmq;u|@3KyNO`K z#Dk04vO5&mGpWSQWOjrRLUtTs)!XQhjf-xFOS9!uDG#tqvo!X}OxD}@ved@jWG8~` z1L-9EWyk4pFwB}6@;f3S^w9JfcZF~9LE3(3j>2A7W(U}1VRaSur&%-ib76tqZBz6Q zG5Pn1=%C6z4G=NuWbaw%7dw4Le`Esa`kQ0*uP52r`1t1db7P70XR#OK}6%P zpB;vGXD?a~o|Z>A68+-1RS#(Fa&C{tK8!p_RM|WGoFu*M!$Q+_7A4r6P?0P04l4c4 z7eW~-WZj&+QU6c3=5R=IcnhKEBiu^do`bXyzYil05YWuJ6h*%zullyt(GB&#K8@X^H7Bh4zvSyl8@@$4}inL0D#zXV(jrEaz zVLh6eI!E5!^zq$JhrIirQ}1y)hQp;uo)K;(?}M-Y6c|^6K5R8<{|oR4Pm{SdqO!~tvm2c)(0LT*LtD_ z+Cx8Gt?TehvK(&@^?TFcZBTmq;2vt(|N8KJ$$$Qy0xGynV*~XGPd-ei`Dp$3gAkls zph|SVLEOJ8?pKTZ7~G9!8Y;Sh$^9_$3=E*rOoIhvJov{0pXg-HIG=+*LH~`Ciknxh zWFHalV2d>~oId53lEacIGp~e5Z71UXirgMNKz96ZffbRB1e{d?pACW5%rWQ)PSfO} z06S;6+Kity0;HLLXh%@O{1weTioB^kwG?-W|Ybu^usi`8c#PYv7T=>{TO?>U6q zhzLXj3Y=+c8!EuWuRzw6*c`Xg#UTJ9MB^M|2bHUyAdc26K^BXghelv6?+6%AkVXcK zlJtOaFWc&&C$0Hp{j^wjbGzL9!-=4Ofm+;%0SddP8CyNnF`VlJ9t+9MZ{31sO^0a2 z3FbxMvkFfZCl}rZa;4^OE+fX~M)VbA1EuV8fOWzCH228i?NCd_DAv$Mi+ z`G~eAfVkgy(5L91Npj2E>8Nb_j7On=pkI|u@C1x|{Bm(WqF*I8JJWAWS5;$zC-gHVkc{Sx*u`cO*4%-jq8d19U_i*`iEO$|CfZpbkUFFyxV$V_T8 zZqS5Iqvon1G`;E)wab8zrWk9T1Lh3L8x0-ug)fB0fzd=?|2#!*-T)a<^v{1Rw>0z8 zMa;RMN@gvz2mU0(6ZtuWOf@n*Dtnd3b4HCP%YXCol~|<;mGxuHa`;g!XrSY-F0KV& zWWWqxPg)T$^NJ(?3U7?nt_YYri%An;ZJly!1;${bM^*vF-~28DtgARTxaxq)&SJ7+ zk-36GZV&bLvrhEDO{W>o{KgZampqR1cq5j9keU~8O4BQZrWvkv3M;N4u1lCeb_7qv z|7NoH%{}!K6#cnvX!~Qi^?P5VMS1Smc#`GT0z84^V0F3?@?_n*lS?m2&eJ!-&Z(Xn zD*p~<%50eo?s~&qf#jBrs16v99|4(w(L%Zva6Udjw_98KaMR39DUK|V2y?~L5MS!^ z&_*%%Bp|2FbIGL`v-1@1>>N3K8&-^UYo^OblMhM*#=32=BC4_N*SNuzvgvu*uSOr> zI^-bZ15Fg=QX#uW)- zUG>k$>_Ha}x%dS=l7imHfi+{v9)Xuwu?TEA0y1ut(5oWv+B%kEYxYLuZuG2w27Z$Z z!0MMPddoJDlEfg;*Ia_X0LKnt8yJg*sKR!70HI?802mv+`%LUF``+ z(jZ@fiVqBvbYZTgf4&b{CRnl4hBK8}r3kc#SRc?BbfXN(0p-p#>8NQ?n( zCuznN=s1&CWE^;sdYWN+9>o4W>>(Qk7UnF%xbhQ2C&hVy4;YmmTFh|PH?U$ZkM{++ zFaqvpatZo50acGLVE%5d)myjdO<^tDQG`T$h`+4mDLm08auOZ`tYrsPs-8^j+cY!7 zXU@2cAj<{g9)LZ)b{!#0r?rlETpG37;e?GuY!f*#65b02MvdIDI zB)>Hs?EEVnBl}Ab+@DlJ`(8imP_WaMxki?fHGGn^L*A_yApXOBlZWgttpSCA#J&YR zly5V3@*vW=lZTAR+$s9$6lcie!C-we%#8bKlmRniY=BQ7EL($*Vp^Mn*~bHHc>Knd z()p?Gx(w#-@@3LoRHjYn@{uq?DKIPjv@3v_y&k~!JfIJ`r; zy;{V5HWmZwBxNe_W&MilIbqdr%y28ls!R+FwH|--Q91lMQbK;CB-Jd2LxZ`w`bzYO zz(+A=WDrw{ql&R9gEUJ26n62_S20h^OdA;+?NY%;c2V(uB8LZHHf`X9{iNLNB~HiO z`FJ(A5*0h$FbiabsQ(vWRH%=jbjo;|q>b(5(uQne=tg57NgURJ1Wx}nC3Lm%QxZCa z1d{2gr&GuF3pN~w=ia!tSJY&dIJRE_nV6hxTXt7rq;^N$K! zc zzU^pf*(PCtc80kDLQkuSn8tS_igYe}NCO=L<-pAOF3Y=uo}AtxsXK1tO7zQP<(9)> zvxcdx1lDmfh(R=|RM!PP>14g!kyj&-QL;vE`~n(8SCxu%IJezDbyZH?4Oo|)JyfHn2CmpJIRT3P5u4d2AXg^&z<8B^1-brpzS`+k?tKAR0sp@PZci z20?fY7UApyACI7#v@L>rVDNa*nF{isU=^kOqFDXaC@50CQw|@+KmzcK0r*8Zd=jgr zVHL}Yjnp0e2<2(-2eujqxTM(67)W|R@5=F3co1(-fjXd#2O+U19V}9#9&Cgtj-}TQ zl0$AWvD0P)0jXsRh$%)3NgY|jwSS`x-5b1oaUGIws z$k&eQ?|iIxe5Lm^Ca?+S8hh!AbPo@T5D4X+LqC6EC;aTa(je;`8zWb0Kj#Qvs^dJTqkN^AZuvsxGT7n2-cx253<$r{svH`U5 zM?{3^d@u5)cAH45KvB$c&t=gO?e-&oJA<|e&Ff*)5Q`rp(0uX5>`GzWiJpbNqz$C1h`lU z4o;F=4`J}$8k8Qr2^=GDNs>+x%p^oV+fXLI>Jt3fLWfALvqp8NWKaed}=%Qsb}#{K$-fKhqh{R%eO#} zMsWftgs+%CObM{_-pM;^KMtCC&(dyN!$hc_YlVuzWGbwmw1b;8cGk~cEH*Ok46sj? zri+#|_4wIqLYg?Fly#02s0=PpYPttfJPG~tpqOk5#9IZddRW^mJ%b7Be_&CY%Fbhc zihm$AX5{3h(kB$W-K z*RlEsG9S{PNa@Nqr7F%%2k5nl)Ej*en8W!VSR$CHynD$ac`wT)gR1v(!&J;lWf!%< z;~I=de;W4n=EI1eJ0)hy0e<4MkTH~pd z!|k-SW#{}x=)YXnC_Q9_n=V^C`A9H?KmHwVM9=ZPie-=R%Fryu#%rXj_r4^DZ{b;o z856kMzXNeW+^=sWd5zwToz^1ca}kiWW@GmX9c!46ai=sq5HK4G$Qb?jT?~&E=ab!S z`3f`xnpI$wZ@i>>PuID;k-A*7RPr8?!%wE;4TuMUi8mrY8iiq@?S8lq1(iiQBI9VY z*@LG=ZM1&^C$p5BA6!XsBHuTT*uTFCS7z;iGtr$!dxht*j<8kTv|ZragqPWCn0G-;rBiMwjxg-XMD)mM8KK2$QuE>%ikOVH~g( z<@O;sVA}^;2sykQn;wm&diIfv>6eM`-{X8&ystJO%aVF6>&*|Q$3hX!fLHPUQP!_V z6V=-*w}iCe{;!FH3CQ8-9`?A{O4+UcO!-OR#KP0=u?a^ zH=Bwx%p(OS%!x9!Bxe=uRtdIER)hjF*gIJfiVkgr2yWm>7Z@PYPKpnP;MT49U70>cj%Z6Lvd@-TVzKch%vPNysQdGBUtcw5X*hVuyN-4B#xUU>cvdHNFm$(`?*n@KC~()Lp?FBI@JK##)1N7K zeh2UoUc`sw=F_nTqL`XwxLOo;RK0nsSRCN8t`?iR8Vs&f;U8M@Qb z(x9nKb3u>RcFJir2_oqYR{5pZgAy;njX0kJ^Zm}XVFkdQ;}x8TOMZ^du)RRrk5&RC(5G1=oce%(R` zN7y+~wNcEN9K+DV%- zNU8+Um128g&>hOHLF^*IpVhrXP(D2Lp0cF1n_aZ!)n&;mvP6*;Z;}pLBOuYBUeS3Y zZuT1{sK7Qn8m=7*#7Vtb#Xb#8=hL)>w-Ztc;oUrn@b2Ue0jV5F?V~(17V^x+_B8WL zq?gvB&{Xe6T%76@>%a!Q=NpRA``~M|v(A)W(vU04(EbE6pfs9&9tmubDoZR(jTudM3V#@dQmYDLenf->ORAoM45 zVb{&spCR-_7}Rmj6}j$h3Phv(T<8xV{T(@A?xL4?k?;2*Xwh4KjS4Ax00Gm;ppn+l z{O%>1k4OSx6^$K~t})h8vd3uT2_7q515u{T57tbEb1#pq zGQfl|`b1J_4ctM8>Pg|@t^!HnRqqEBU$l&Ecz~t4D1Vg zTba65>>&rB>!h}{N8Cf}P4%66dkQ4-aqnHVe`6gKE@32mmzM&inG_vFC=5It)AJ6= zC0%?A&XBMH*d8}8Uzhy>?dRiH0eaCIYC|2bRNle zYcIglHb=onowCPbSWG6N+=awK;#0yqWjqhNZ_tUMSVt5Cjo_@4baG+@ z=bfY@QUoHZMw(y-P?LLNuzTVQ;_TCr=xJy<YT(4Y6^osXY2Q_Sc`@cte zNOFjDNm#PdC2Lz!5n%a9IPuEW%VX|_o5=z2Vpk)XeY)6=kr8;&)bg)ilEZnB3~X&Q z(~n5HTQTw;4Vn|0slk14Hk3F)RMFz5Hxv$4`ar)pMlSBeTUMSlS%Gwfm5or?p#N() zZ}ncpdj8r`g;FRTePfYzEOH)rj*=%pLIP6h{SZ;|`gK4^oScqT+vr(5*_*I!Ydfk4m7fkdsISV$;4#;rN4er8y%q=r+TAu z>+}y{keA_y+kFLwO!cOET4gUrcOlEd^CKw@6Zz(m#tm^a@HQ7B%b%6v04&nIty?f88U^Mb*?tl|8wmf2|0gI7IfU9$_CB`< z>;)^tKV|%ccx^mQd{$tSbNYRY;E!BLqao@w!ee;^Af6#C*3QgmBYgIvB_H&T=3hXZ zy@q4NNQpzV@IJ#5F1*R7$QB17LjR$e1^26_f^!ZZK<);+T8Riv35RY_qDy71d^}q= z0nmIh)EqR``#+~hrc@eGy5d_w)mTR{h@bJ}0!AZ6A`0X2wQ6t@(Gn0A{z5T+M^ydB zlh!ns=S8mo!{YHkkhc2KU&E;hJ7g(S!lLG-qMibZI@gA*E>+5`1@*li%nPbF@UXg$M)cOz&^SGS)|ua9(n!gp%!~Puk{p)1zU3hDED0C(){N59x|7Mod8o`pjr2yi)Fk=o#EJVT^gB=ncpVJa* z@$-Y4v9TKsG($f^Hypsbbz>iuoH`AVj$0bfkn+c7(P6gV??K?}=-(HYZ#tj72UCn` zUE^rgHCB?P?LmQSpVn34wkk`~#XXbX8IE9fmE<@Yag;IP!0VzmqNf_NQR1Ta!|U#b zF=L(dX4r`mKdbHSuA90S`Ci9!v>?hJTF+tmVITFLqHHbs5tVgX58uQCf^z-S8|&XT zO5DxuYsO(<)DW+pttXu7pr>@}DV<2G#=H!F^T{=-blBokm;6LKE6GreIhhdnH5mYn z+mi*feLnoirJbxKQ#EExz_8cIs!@`GSC<&~&(LUsu_~+i0`-~Y0Fwz_ytJtUXGBUoM#<#n_SIL?p;62Jc9qcHWB9x$x*hY#68ySpkyG~J$F-M! zG&$HUmv*ocSM*g_{&;)N6~wW7i8~lj^KR5qGl>XD7QFw6jnC$|qHiR$FEWEyr15AO ziJ%4D{ZAxti}Zo`g%4V^zsW1c;crHI!cj=rvfOq6=VWolu@B^IiXos~ayC+UayHW8 zT!^7?E{(DWIK7y`PcPPwft+ez_#(iP4?6q2Ptza|=JVZeAYwM3p_5sh6h5!WyvgMd z)z8p-Hmi#wcw^(tD+qn{xxLgzufYxSwxV&MIu^ryontY1#P%$d+jcDBur2Ml%j120 z@_21P9^cjuX2|2WbmN9yLVX9w(77&*fIdz^Luy=|j*}RTD6HIupVd3$@!Q%ScTjC* zyF7mTHmh9SEsx)^!z!-?{XOkgc{Tdk){Qby`}l3g0Ke^VY^GiZ>bHQ>ulSb2*mwpz z3wivnXkr@s4!$Vb=t6i8gx}J>ANObI#iqtKX1t1B34r=#gxR(WL>TAZ=Ut8;*Q$tqX+fS(F3 zp||QX;7_p1D=UFN*($GI3H$=9ysZ&pX-o?Ny(p*|`^&&3Pza({GwN3No z52#gGt#)h!1O#iW$2~jn2*hV7DFE7Q1?_eVynhD=|7yJj-cA+}w6@~WXzb$;&+Nbh z)1SgG+PCwYUV*VZ5Jmm)_f91LiSkH-2x%a(wB?ax(3VG%O-mky6dF89M8e58gj^oe z!DkG9T^8|M$Yb{w4%^a)`~QtRZWF||Tg13n+ET|QP99&`h|Yw>Rnq{3*m3C4UD{$vhcSxNXLhrnM+_(5LgB1uh1*r1gpeblOkKXTEdh9qQAV;sLl_?teOO`Z*#T%4nQxlN`-m$l83H$0Dl;yD#YI^=Q78-7m%hXp6ExZ!`&L%GLA zujU<~q9bH`t?&r3uZDUaAaUY*sCORm@XY=qrqg~ER^unQ zS^IEy@pu&9A8I(lbslk>75A>g$8eO<>a72Sj?A)d{qooAd+_xkrJDE|*605XV~)og zY+$bo&$&JF@7txGyZJd$dT)%c#yTbbxawp2$gvLx%Rbc)r*}kL*~jtaVPn%}w;NwF zJg;>Xt)^Abx^xm*UIa^M?Ok77`!-r%rTn?dB`!zox&S+bL*^lTgx19;jYF^_KR>hl ze`3t5VJD5KH8#sFbVNLiG76o(a7v6eZT=EHjlIS{sfx4NZSfQ?=kJj>p6R2xB5WR> zE{&y2CpcY6@wPQz@r@gO2`swt^N$wsrXRHM?F@aK)JV+{DS8jxN$W% zuSKo_!dGTNcVD6;V^_&s{@B&pPIp{gt$Xlm$ye(U6d_2C!>tGKi-EV2LDITf2j~%3 zSL={fAdyh1w?YiXhdA2-xxjbq_=QBJEK-^8GJe+m1>`hucl}=yF_e8Adq2lE%d&t- zX>n>5xE4R(nS!717Hi&*>VIjhT4>CuT0g*<3Xp#kzEe57JVWj226 zAx?6`p&}<%gnT+?;^Op&2ZEEgz&}zC`Wp_Zq=i^7YZc-v6t6F~>yyXVLG4>p5hH+1 z>U!#r0)}{h$>X#7OEqnJqmL(bgI&-0mOLIlB|cu!yfbAHyAQMJtUqVWsJ61>v_Hee zI=f0VDv(|2?W0V1L}GJRvXUBn-^Jxwd>&=AHUbU7c{BEFy(k(*sxhrv7#p)JCiW3* zBMpyjJcLCd)L#HKX#SR#IcPp}1kl{Gs#(eR+d+H~fY%Hk2AU50AbOG1=aCKLEj1Ql zn|^!bCs;WB1u5V?RNsrvL>I6k_Zhq!P^9$?n!id%r$o4#_Vq#b4$&P9G#%n}cRojS zX?EtwwB!@V$S4y^I5JvlVvXInp%# z<(OuDkW2b*JWnn$?!T;UsT>XimkspxdAnAfk&bHm{ytzin6VwdUHUqDz}2PiunG=2 z{17P~%#&&?U8p*jR%-aP6B`d6FgrqH)u~HEp&D2dPutXsG}=6Onx5LS`IT5RJJr^JVP^6*+<4SwUpsC#c#>fD0|5J zQx?`CnJtcV5|9t&&H7D%W`Cr35APwET-+T22BjDlXzW(atb-H47pJ&rvFXl#;K;l5 zE%b=XGOZ*3y#=&Np6X~G3BG{G6*gz_&ox-~Ztp!H99@eYu=V^L*-K6ozj`0_iZMQ~ z!GjZAKSAjAe8b#`BDdGphklqJj%J=`c!_%~$Tnzr4zi9Yomff`8PcBs`$%J(D}lgX z3bLapQ}_{Norha*22cvJ%|6_R$wnV1B3yr|eWFjZ{6z^ig8T#5;rIp5Gc%2u+5<>B z9~{n?*!t^dFDT`u_*PoO_smv4DQ85WGYLy?j#&n&*Xa1O#;}z)B*ZA0G;NA;(&0wJ z^nlCyaFt4QB8cKgn~nJRnCk@vMh0KdE`1N`$w3{~xmOBW87Hi6H*eU7w|6MerQlou zB%qx?fM^#_TVZjiIABAWPQnuL9mZgdjayJwA!;lGBQD1Xl&Z-8Ls*peaSf=gfYP7IQlu=v(g`TF6T^_~Fx6F7!{dj~VB%#umnwyFF z!|aQ^j<=tXqN_-N=>vP%BPzzdfAk-aKOE+-rr+h_FFYFN8?B^cT2~51kj9*9GvlYu zISb8*%xldmXD(o+;!hGAldAE>aq-?gsK-A}3atZW*4?tyX322l$5}ily9k zjHMBz9cCNy9*(9{4#z+YWIv4IHH(FiAiNki&EMc`M@!X`e=>Qc><~nW|1$(w3`BqN zf1(4SEf=MmU~%acx|{NoBupt9+dy(oOscj73Lim%HTYPKf4NMb=~N`e=7rq~yP30&W1l>@T@3JttqJ!C&@A zsp{mv6A>LMYP+A7SX3G!@4=7hwpbttJ9_HQ^&d6FbHZhLDYR; z+ApoMAa8&d8|%Y4jPn3jcqohEJ4`Y~!+PRm#|Engq!TqC9BC~1>WSD2Ow z+`=@sLqoHWpg~z+iw5ci4S$@5LNrR!e2-k2malw)kOF38p?N$0=)xHhSm(6#mX!O` zGIeLllC*RM-8l*XewXTSofl&^Q)Z`Su6HVFSuHM%Pakt%TD!~HAzhg^2{6STD|O+R zgg^THk1jv`6sM)HPXUhZEJ@2+dSzNBI>p3PAbU_NC}QAAopFBvTxKLtTh`FeWY4lad}S_O0hZtmL*`b z1uP%;JOLwTLE|%10&#gtnFo;o3?dP@N{N??NR~AGtrTsy{e#tZLkeH(Vg2E2BxJwM znez0glhdvu9v=|2R-tUk8f1jamH%HEYvL&b+=PLyj@9JnKKLe zMmnloMPpefaBO~1yR8B?FWzoC+WF({s9$c(aK9OUmTp#%+H+leOSD(04*j-}4)OI_ z9@j+=s$67baaGd~$Ag0D&gp4cDbs93!kaAcvI&pd0j`s<1Ep!1C6;}oxs(gMUkVu` z8&oY|DKril zmm6+(p%cy-Sfo*`X7N=^05AT6H7(&hNF_&u>lW+AWh6_$?n;2=378lX$I}E1UySgJ zcvB%@*Aj&Dy_ECDhsV{T?#_|x0h_blrP6vp$Mvx#X_YCTU&)6H%N$>olB>8MIv{9# zkLYuL+($MNYw`n2{<&QSj}mw@AllIGkuKtwiySyE(owqd@s}xJpAZ1FP2$&jC+uen zjZYs#LwhR8V_;l0Kra_<-x6(wjt|?@VP2`wu<}t^rCv2RZEk5=rIJ>yrmdWtR(9WL zjH4b#y=Yloj`Ok6D)HIYXkf$y!XPBoI(hUl5=d*6l0e6f5&luYD+M}_6HuNd;5@iN znfrd+*9dsK&=u~-0ox+rJ~1Tjy8+v8!-eqq@l01g{%Ab*!4K|#0i%B^lHlC}pZigGzz#6{n7OwfJ=x18~M|497lUK z!fzMC&;1f`-WT`+Js$VP1l*TI=Nj;d=(i`qZv~v_SKek-a9@Sug91LFSa5FFL|Z41 zR>ecY&B-I}1V9{LEM`)blkW_YfOvE|1alLr{u$#TTabMH`TE%cLls%z`2hF${N5&TZat-KkIIb&dt`%@k;?O6L7&!#}NVFCg9w+qRl5? zLVqmuljfUF`7d1D$Krmifcpg8_Nlo7-sdB1$e57x`vD(q{8e89e?-t3D6;6>V%;3{ zMJ$acOSJ&D|9fA+D+L^n{Q6A5R|>f82fqPPBRY)&&V3sOSka_-1cGrD&PYG&ixpgK4rs8EIQmrQ8D=Nvibhy3#Ke^%==#O zw%dY>LwK53QWYwzUA&;Gbbe?-b=AVMX`v-c%BC$LoZN2*tCkbaOo3BZc4v_V0!|z& z|Ng4^3wd*Oab0Ns@OW%)&-w=#>;9mR`lYLuGAKUmH?OF-Zqd8vB1HH{|;<+j|J zRX?0jADS7et(w2Auzu0JIkk&JRb|t1Zx1Baluc_`#^;xF|NP}YsG`vq*VNZlTkXoc zMK*ZK%K5dSDLK6RJ8j^+nbnIIg@P+qB_MKYcf>J3amB(ab#ZOgf>7b&P+bD%5^Jvc zNw~mDKq?DaShtJyx9E+AaQ}kx+N!E~qaZBiByP(Q8248-RMpneTrsi{lq|&DJi$i` zNg+lY;v696T&Sh8fX;QgJYD;lcGRwQs?N#cs#L1I&1TXlccN={~&;Y*f`K+G+w zu3E6vUt7DPHi1?GsXI7(654Z)e0wPusOeR!!SVT_syd6OLa62yVWKmZR~6Q*Sg>@s z>0-eE@6wsoD{4a++sO90c}u?t%U=pcRMpO}Ny5Fu?#o`ZVUfAVHiOXn?`zqrP+tZLbUm1}J6MTaZv<`LnMkm)OGm(8zP{BYGsFxaFnUJ#l| z74yEAd#63Ane!W}_`;So0DfDJ4ZpvtF0`UHUS)&10YJw#ak2>N{LuU_&@EcAye?E* zzaU}S4$jHq#mg5~)q-)NK2E6!`W)he`?lR%F~lBBNsyO>m7{6IF;xtAWN!(Ww8n{j z6WMsTyyc2DMC~@a-;wO1s{9dE$z~~$xR}NlL9@%}KU72WyX|(HSXpfqj89eZidur) zR@MN8BqJ7BZds`jf|3W3NEk?I)iTi>&8Af^8wEGd?gwkWxUSmbaC|0^i0Spqlm>_v z4Xkhtl#8Pb3kOh&>T6+Rt)}sD3$4QtEX8YBTvlC%5iE(Xs--LON6SP*VykLHi=o5z zzyfu=#=jhHqjqT=48kJ`K+7GDZwUwNf(!HD4-Yx#*3tv6 zXXqcP#%058Iy>->@Fc=*{5fA82`{i79rKgm2L!w!32x(0{rc#1rr$6+d^Qalmpx9K ze#woa!yik6+w)p@(@1=KJntmIZTcV3;^MOVU28o$eoKps%ZA(d`Zq_yZG3&wNVtuE zQUrX-bY|W<65pot{Uo?er#1;*U^RC*ri`Rx<5!3{Jz0Jx-eKVroTg&0+r0_!M0u-8 zfG5gZ_)FlIMEp+l6Y(?hhx<*0KPv*z?yHY0rP zUlQETC%A?fgJ~ z65P%Y1e4%)exNc5Zs!NqCc*9eKzkD0&JTQ?1h?}8ZXwt9`1^{j`A$fJ+xdaH$?y^j z-!Y|b&9cz^hj0(oTK8(ZR9jUue@Y0OFvpaI2=^UR9>P{~kVZn-J%c_>6ZuyE( z)fBvY{ubZ5i02pE}S)%`eL?FspNzaturuI2W@bvpE0F5v4vd3@V3sGs86Y&Z}`$QO(lX33{ zj6^bd{65h>3w4Q?z5X_A2?|6rxqYQ*-!A0c#!qffQaBp_a~4`H%7ncl{*z0v+uQsf zt#4|XMH9nizb~VF?9KQ~Zcj9mc@L1IdM^Ds9J`YQJ9+)a1821Mjn%w){0xTm^u_i6 E-;J{@)Bpeg diff --git a/mfgtool/lzma/LzmaUtil.o b/mfgtool/lzma/LzmaUtil.o deleted file mode 100644 index 077b98136c9d593447580f00229921f3f0aa44c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6824 zcmbW5e{5UD9l*~{+JrRt1t?p9K_BD65=K2cq>y$Q%S-I^G9J{W39a}s&#_;ctd5=8 z&(L;ZB(e>C^2|VpiH%Jw5}FuH3^9bDLSTNa6p%(%jUqr|R2$SQtlAJXqodyUd+#ne z8~Yzl@_Tom``-7y_r34kz4NU>W7zF-5s_Tv3bI@hl#t1eThGt)EePKdb6Cgz2s$Z**>7!#?jN-2} zGFPe4`47PkkZIS5vHqRRF)(S8+Ot{*wLhWut41-Vg{VEMbyC~Vx?;4@d|?+VwR76G zIYRs;n*DEu?hj~vK#6isKvRPLkC+v-2$b3ZO)dWx>(&sX`^c5W_Dhfr(D@UU?*hI3 z5Y)}hY6?+uuR)gDH)vFUidkNKTnh~VDvoND`3f}lhiG9|Qw_+1VV2gx`Z9oRGn(Sa zj_LNFwq0j*pP+?a&9FbKjKR*@T9lXHXw?8WPE)Njyl)W5HXU(laD1h`_}sWYkT_I+Q!n6?dAqmjqje0sQu<_>8MV}Ca(X(Fh>@X4LQNzsH92D@9JQ=%HFr9x zu873r$!Nqf)oF7&nc77H5i6pa81_qTZ%$1?eZ9shGZK?~bJhzO6@wvMxDyu$As;K} zeWq`HY8=UpuCYuSVj(7n6k^$l9!-dhObmuf5OpIZ#){LU14H(5Z zL~8MAZ2;)U^kKt3Io?_=zpJ>fD6t2HI(b`w$@`aHYny7^367=sPrKn2#8 zeds@rzykZ+8l%PEv#w}y9a;`i&J^hOep;v^EWViGJie5Cr3o59i~+5VG3ANV(e&)$ zcXj)aUflR}zw73o(?X`h5cYy``4TMGb|t?WOw68WR&tj^#{afHR|zV)1dNlyGQ9xa z`%Yzsy-V$0O_+o0`(SAJ9yf_t*L*h1G+z_J%}}sFu#}O2oc_aHF~j8z($3B*bF|U_FIO1 zfSZMCnDf9khG1>A6D3ck2f?K3M(@sQ6;cms=Qi;tuS^6QT=;496543ApceVbt(W;N+qO z;0BDS6Abg0zE|w`P;i$By@UVU0|zJuAPc>b;^tN~(t!OMw02cS;gI+?C`A`ryPdtc ze3Xs8YW3l$cl@ue$)gN6TE*pc^;?|>Sbr7*jFiJLW{k#s8u~Sy_255X*nferz6#=s zPaB%BS(=w}8QL*Nkc~q_8`Q3`@l3+XsO!DGUf)`OhL!w3>G64ez22T~hvP&O0viT? z9T0To#;eB&m{CFo(aF+k{&wxYhPZZixXx*BX}uFB4*A!3-4F2{@N~FMPwOOPdpZ9r z&h?C3jz_Ek^Lxi_EM67cMuce{V#d2rr6 z?0Iw^R6$N>@Ub>eU%=zjJzbyyG=auJPpiI)P*A^@_jL@79>%_|tkYKj`x^1=J;nX! zM#{LJ+7}L?nf$v_%dy;4_e&7D@LqMRCg$yG)(%Ctq=)$u*!i5#aB=2Ko^N8a#S7A_ ziL8`L%h@K8My_SxPO>Kj67D24o&j%+c1v?*h4vEcK0I^^%c@<_rd?jl}e$d8XceE9IugO6T( zT#k=*__!1wmyz&BW7D8+gf|TjZwZcuNA*D?7$#|JCOWf=*#|v_M-o%kQo%83G&z`= zAmMP@ibQvWqmw(r6OpMn!CMQ#`-o&wcnHk2%xgy@<8hN!hKG`gw3W(4Emm9_O0{I# ziounEOu)4!4Hp*F8r}rA6C&%r1}+d}dsxRy$dZYy1YItH;gl(QjwjP5+C785oh=cO6Y|c!?C>=bzXkG`YUQ7BFn*5^ycP&O&qy5W1bEOC z9QB_s@pGl|eqG{GiC-Y`M>xkmHHp6?$zLe(&m?(l6NewB6pv{%@k#Q-=m1D4i{C`To~tD;>$y?lXGrp<#AW$eiQ~7t(4UjIEPuDe z&y?ivlejGZjKnobet~m*`6Yf-;_^PDf($0qjX#mtf00lSe1=y%z~9KLzTUj)UDH-% zoOoepb>5RAmonoKuVwDEh&Kj*KoReFI!(N(Bo<7F#K|{L8&mXog!(?U(ofFiiLd zhMX|=<%B-RDHxC;;fY9;)FpuyJlduzQ$>;*ZyU0|F4;rqP(n diff --git a/mfgtool/lzma/elzma b/mfgtool/lzma/elzma deleted file mode 100755 index 7704c5f5bfcf4ddba960c98ea21d1e9e33cce0f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74440 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 diff --git a/mfgtool/oem_tool/hw3/oem_tool_hw.o b/mfgtool/oem_tool/hw3/oem_tool_hw.o deleted file mode 100644 index db1dfbe77f6825ce30848a8828a750a192a035d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78800 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 diff --git a/mfgtool/oem_tool/oem_tool.o b/mfgtool/oem_tool/oem_tool.o deleted file mode 100644 index 88a17700d39405b538ebc8ab4c97e20a0eb68c23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16376 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 diff --git a/startup/ldscripts/riscv/rom.addrs.ld b/startup/ldscripts/riscv/rom.addrs.ld new file mode 100644 index 0000000..ad6c0bf --- /dev/null +++ b/startup/ldscripts/riscv/rom.addrs.ld @@ -0,0 +1,669 @@ +PROVIDE ( _gp = 0x00fc0d20 ); +PROVIDE ( _end = 0x00fc0c08 ); +PROVIDE ( iot_indir_tbl = 0x00fc0bac ); +PROVIDE ( crypto_stream_chacha20_ref_implementation = 0x00fc0510 ); +PROVIDE ( log_ctxt = 0x00fc0528 ); +PROVIDE ( rom_log_ctxt = 0x00fc0528 ); +PROVIDE ( memset = 0x00031892 ); +PROVIDE ( memcpy = 0x000317b0 ); +PROVIDE ( memcmp = 0x00050954 ); +PROVIDE ( iot_sprintf = 0x0003230e ); +PROVIDE ( iot_printf = 0x000323ee ); +PROVIDE ( rom_format_str_v = 0x00031abe ); +PROVIDE ( gcm_mult = 0x0003b1b2 ); +PROVIDE ( dhm_read_bignum = 0x0003c086 ); +PROVIDE ( dhm_check_range = 0x0003c0f6 ); +PROVIDE ( ecp_key_get_shared_len_wrap = 0x0003ccae ); +PROVIDE ( ecp_key_read_pub_asn1_wrap = 0x0003ccb6 ); +PROVIDE ( ecp_key_write_pub_asn1_wrap = 0x0003cd72 ); +PROVIDE ( ecp_key_compute_shared_wrap = 0x0003cdac ); +PROVIDE ( ecp_key_gen_ephemeral_wrap = 0x0003ce22 ); +PROVIDE ( ecp_key_free_wrap = 0x0003ce28 ); +PROVIDE ( ecp_key_alloc_wrap = 0x0003ce2c ); +PROVIDE ( fast_ec_key_write_pub_asn1_wrap = 0x0003ce50 ); +PROVIDE ( fast_ec_key_get_shared_len_wrap = 0x0003ceae ); +PROVIDE ( fast_ec_key_compute_shared_wrap = 0x0003ceb4 ); +PROVIDE ( fast_ec_key_gen_ephemeral_wrap = 0x0003cf0c ); +PROVIDE ( fast_ec_key_free_wrap = 0x0003cf48 ); +PROVIDE ( fast_ec_key_alloc_wrap = 0x0003cf4c ); +PROVIDE ( fast_ec_key_read_pub_asn1_wrap = 0x0003cf6e ); +PROVIDE ( entropy_update = 0x0003d020 ); +PROVIDE ( entropy_gather_internal = 0x0003d084 ); +PROVIDE ( mbedtls_mpi_mod_int.part.3 = 0x0003e06e ); +PROVIDE ( mpi_write_hlp = 0x0003f540 ); +PROVIDE ( mpi_check_small_factors = 0x0003f74e ); +PROVIDE ( mpi_miller_rabin = 0x000400d0 ); +PROVIDE ( block_cipher_df = 0x00040a78 ); +PROVIDE ( ctr_drbg_update_internal = 0x00040c20 ); +PROVIDE ( verify_header = 0x00040fc4 ); +PROVIDE ( verify_chain = 0x0004100c ); +PROVIDE ( buffer_alloc_calloc = 0x0004104a ); +PROVIDE ( buffer_alloc_free = 0x0004117e ); +PROVIDE ( pk_write_ec_pubkey = 0x0004192c ); +PROVIDE ( mbedtls_sha1_update.part.0 = 0x00043a5e ); +PROVIDE ( rsa_can_do = 0x00043cca ); +PROVIDE ( rsa_get_bitlen = 0x00043cd8 ); +PROVIDE ( rsa_debug = 0x00043cde ); +PROVIDE ( eckey_can_do = 0x00043d04 ); +PROVIDE ( eckey_get_bitlen = 0x00043d0c ); +PROVIDE ( eckey_debug = 0x00043d10 ); +PROVIDE ( eckeydh_can_do = 0x00043d26 ); +PROVIDE ( ecdsa_can_do = 0x00043d2e ); +PROVIDE ( rsa_alt_can_do = 0x00043d36 ); +PROVIDE ( rsa_alt_get_bitlen = 0x00043d3e ); +PROVIDE ( rsa_alt_sign_wrap = 0x00043d50 ); +PROVIDE ( rsa_alt_decrypt_wrap = 0x00043daa ); +PROVIDE ( fast_ec_x25519_can_do = 0x00043e22 ); +PROVIDE ( fast_ec_ed25519_can_do = 0x00043e2a ); +PROVIDE ( rsa_free_wrap = 0x00043e32 ); +PROVIDE ( rsa_alloc_wrap = 0x00043e4c ); +PROVIDE ( rsa_check_pair_wrap = 0x00043e74 ); +PROVIDE ( rsa_encrypt_wrap = 0x00043e78 ); +PROVIDE ( rsa_decrypt_wrap = 0x00043e9e ); +PROVIDE ( rsa_sign_wrap = 0x00043ec2 ); +PROVIDE ( rsa_verify_wrap = 0x00043ee0 ); +PROVIDE ( eckey_free_wrap = 0x00043f28 ); +PROVIDE ( eckey_alloc_wrap = 0x00043f42 ); +PROVIDE ( eckey_check_pair = 0x00043f66 ); +PROVIDE ( eckey_encrypt_wrap = 0x00043f6a ); +PROVIDE ( fast_ec_encrypt_wrap = 0x00043fc0 ); +PROVIDE ( eckey_decrypt_wrap = 0x00044016 ); +PROVIDE ( fast_ec_decrypt_wrap = 0x0004406c ); +PROVIDE ( ecdsa_alloc_wrap = 0x000440c2 ); +PROVIDE ( ecdsa_free_wrap = 0x000440e6 ); +PROVIDE ( ecdsa_sign_wrap = 0x00044100 ); +PROVIDE ( eckey_sign_wrap = 0x00044104 ); +PROVIDE ( ecdsa_verify_wrap = 0x0004416e ); +PROVIDE ( eckey_verify_wrap = 0x00044196 ); +PROVIDE ( rsa_alt_alloc_wrap = 0x000441fa ); +PROVIDE ( rsa_alt_check_pair = 0x00044220 ); +PROVIDE ( fast_ec_free_wrap = 0x000442c8 ); +PROVIDE ( fast_ec_alloc_wrap = 0x000442e2 ); +PROVIDE ( fast_ec_check_pair = 0x00044304 ); +PROVIDE ( fast_ec_get_bitlen = 0x00044308 ); +PROVIDE ( fast_ec_sign_wrap = 0x0004430e ); +PROVIDE ( fast_ec_verify_wrap = 0x0004431a ); +PROVIDE ( rsa_alt_free_wrap = 0x00043e0c ); +PROVIDE ( x25519_compute_shared_func = 0x00044340 ); +PROVIDE ( x25519_get_pub_wrap = 0x00044374 ); +PROVIDE ( x25519_gen_key_wrap = 0x00044390 ); +PROVIDE ( ed25519_compute_shared_func = 0x000443d0 ); +PROVIDE ( ed25519_verify_wrap = 0x0004441e ); +PROVIDE ( ed25519_sign_wrap = 0x00044444 ); +PROVIDE ( ed25519_get_pub_wrap = 0x00044462 ); +PROVIDE ( ed25519_gen_key_wrap = 0x0004447e ); +PROVIDE ( pk_use_ecparams = 0x00044646 ); +PROVIDE ( pk_parse_key_pkcs1_der = 0x000444be ); +PROVIDE ( pk_get_pk_alg = 0x000445e4 ); +PROVIDE ( pk_parse_key_sec1_der = 0x0004494a ); +PROVIDE ( pk_parse_key_pkcs8_unencrypted_der = 0x00044b04 ); +PROVIDE ( oid_sig_alg_from_asn1 = 0x00045560 ); +PROVIDE ( get_no_padding = 0x00045c74 ); +PROVIDE ( mgf_mask = 0x0004643a ); +PROVIDE ( ecp_mod_p255 = 0x000489ca ); +PROVIDE ( ecp_mod_p192k1 = 0x00048bf4 ); +PROVIDE ( ecp_mod_p224k1 = 0x00048d70 ); +PROVIDE ( ecp_mod_p256k1 = 0x00048a74 ); +PROVIDE ( mbedtls_md5_update.part.0 = 0x0004a280 ); +PROVIDE ( derive_mpi = 0x0004b016 ); +PROVIDE ( md5_process_wrap = 0x0004b5b4 ); +PROVIDE ( md5_clone_wrap = 0x0004b5b8 ); +PROVIDE ( md5_ctx_free = 0x0004b5bc ); +PROVIDE ( md5_ctx_alloc = 0x0004b5d6 ); +PROVIDE ( md5_finish_wrap = 0x0004b5fa ); +PROVIDE ( md5_update_wrap = 0x0004b5fe ); +PROVIDE ( md5_starts_wrap = 0x0004b602 ); +PROVIDE ( sha1_process_wrap = 0x0004b606 ); +PROVIDE ( sha1_clone_wrap = 0x0004b60a ); +PROVIDE ( sha1_ctx_free = 0x0004b60e ); +PROVIDE ( sha1_ctx_alloc = 0x0004b628 ); +PROVIDE ( sha1_finish_wrap = 0x0004b64c ); +PROVIDE ( sha1_update_wrap = 0x0004b650 ); +PROVIDE ( sha1_starts_wrap = 0x0004b654 ); +PROVIDE ( sha224_process_wrap = 0x0004b658 ); +PROVIDE ( sha224_clone_wrap = 0x0004b65c ); +PROVIDE ( sha224_ctx_free = 0x0004b660 ); +PROVIDE ( sha224_ctx_alloc = 0x0004b67a ); +PROVIDE ( sha224_wrap = 0x0004b69e ); +PROVIDE ( sha256_wrap = 0x0004b6a4 ); +PROVIDE ( sha224_finish_wrap = 0x0004b6aa ); +PROVIDE ( sha224_update_wrap = 0x0004b6ae ); +PROVIDE ( sha224_starts_wrap = 0x0004b6b2 ); +PROVIDE ( sha256_starts_wrap = 0x0004b6b8 ); +PROVIDE ( sha384_process_wrap = 0x0004b6be ); +PROVIDE ( sha384_clone_wrap = 0x0004b6c2 ); +PROVIDE ( sha384_ctx_free = 0x0004b6c6 ); +PROVIDE ( sha384_ctx_alloc = 0x0004b6e0 ); +PROVIDE ( sha384_wrap = 0x0004b704 ); +PROVIDE ( sha512_wrap = 0x0004b70a ); +PROVIDE ( sha384_finish_wrap = 0x0004b710 ); +PROVIDE ( sha384_update_wrap = 0x0004b714 ); +PROVIDE ( sha384_starts_wrap = 0x0004b718 ); +PROVIDE ( sha512_starts_wrap = 0x0004b71e ); +PROVIDE ( ecp_modp = 0x0004b76c ); +PROVIDE ( ecp_normalize_jac = 0x0004b826 ); +PROVIDE ( ecp_safe_invert_jac = 0x0004b8fc ); +PROVIDE ( ecp_double_jac = 0x0004b952 ); +PROVIDE ( ecp_normalize_jac_many = 0x0004bd94 ); +PROVIDE ( ecp_select_comb = 0x0004bf94 ); +PROVIDE ( ecp_add_mixed = 0x0004c2b8 ); +PROVIDE ( ecp_mul_comb = 0x0004c67a ); +PROVIDE ( mbedtls_ecp_mul_shortcuts = 0x0004d672 ); +PROVIDE ( gcm_ctx_free = 0x0004d9dc ); +PROVIDE ( gcm_ctx_alloc = 0x0004d9f6 ); +PROVIDE ( gcm_aes_setkey_wrap = 0x0004da1a ); +PROVIDE ( aes_ctx_free = 0x0004da24 ); +PROVIDE ( aes_ctx_alloc = 0x0004da3c ); +PROVIDE ( aes_setkey_dec_wrap = 0x0004da5e ); +PROVIDE ( aes_setkey_enc_wrap = 0x0004da60 ); +PROVIDE ( aes_crypt_ctr_wrap = 0x0004da62 ); +PROVIDE ( aes_crypt_cbc_wrap = 0x0004da64 ); +PROVIDE ( aes_crypt_ecb_wrap = 0x0004da66 ); +PROVIDE ( platform_calloc_uninit = 0x0004da68 ); +PROVIDE ( platform_free_uninit = 0x0004da6c ); +PROVIDE ( platform_snprintf_uninit = 0x0004da6e ); +PROVIDE ( platform_printf_uninit = 0x0004da80 ); +PROVIDE ( platform_fprintf_uninit = 0x0004da96 ); +PROVIDE ( platform_exit_uninit = 0x0004daaa ); +PROVIDE ( poly1305_init = 0x0004e778 ); +PROVIDE ( poly1305_blocks = 0x0004e8d6 ); +PROVIDE ( poly1305_update = 0x0004ec92 ); +PROVIDE ( crypto_onetimeauth_poly1305_donna_init = 0x0004edac ); +PROVIDE ( crypto_onetimeauth_poly1305_donna_update = 0x0004edba ); +PROVIDE ( poly1305_finish = 0x0004edc8 ); +PROVIDE ( crypto_onetimeauth_poly1305_donna_final = 0x0004efc0 ); +PROVIDE ( crypto_onetimeauth_poly1305_donna = 0x0004efce ); +PROVIDE ( crypto_onetimeauth_poly1305_donna_verify = 0x0004f022 ); +PROVIDE ( chacha_keysetup = 0x0004f0bc ); +PROVIDE ( stream_ietf_ref_xor_ic = 0x0004fc6e ); +PROVIDE ( stream_ref_xor_ic = 0x0004fd00 ); +PROVIDE ( stream_ref = 0x0004fe58 ); +PROVIDE ( stream_ietf_ref = 0x0004fde0 ); +PROVIDE ( mbedtls_rsa_rsaes_oaep_encrypt = 0x00046b7a ); +PROVIDE ( mbedtls_cipher_reset = 0x00045e88 ); +PROVIDE ( mbedtls_fast_ec_get_name = 0x000494fe ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_sq = 0x00037466 ); +PROVIDE ( mbedtls_ctr_drbg_init = 0x00040d48 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_tobytes = 0x00038a24 ); +PROVIDE ( strcpy = 0x00031734 ); +PROVIDE ( mbedtls_pkcs12_derivation = 0x0003c7ac ); +PROVIDE ( crypto_aead_chacha20poly1305_decrypt = 0x0004e210 ); +PROVIDE ( mbedtls_ctr_drbg_set_prediction_resistance = 0x00040d7c ); +PROVIDE ( SFC_OPR_SET = 0x00030a60 ); +PROVIDE ( mbedtls_mpi_grow = 0x0003e112 ); +PROVIDE ( mbedtls_md_starts = 0x00045262 ); +PROVIDE ( mbedtls_asn1_get_bitstring_null = 0x00041644 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_encrypt_detached = 0x0004e4ac ); +PROVIDE ( mbedtls_ecp_point_init = 0x0004c120 ); +PROVIDE ( mbedtls_oid_get_oid_by_kdf_alg = 0x000459f2 ); +PROVIDE ( mbedtls_fast_ec_get_shared_len = 0x00049526 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p2_dbl = 0x00037160 ); +PROVIDE ( mbedtls_rsa_free = 0x000479b8 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_invert = 0x00038036 ); +PROVIDE ( mbedtls_hardware_poll = 0x0004dcb4 ); +PROVIDE ( crypto_onetimeauth_poly1305_update = 0x0004e73c ); +PROVIDE ( mbedtls_asn1_write_tag = 0x0004a610 ); +PROVIDE ( mbedtls_ctr_drbg_update = 0x00040d88 ); +PROVIDE ( mbedtls_ecdh_init = 0x0004ad66 ); +PROVIDE ( mbedtls_gcm_init = 0x0003b322 ); +PROVIDE ( mbedtls_asn1_get_len = 0x0004135e ); +PROVIDE ( mbedtls_ecp_point_cmp = 0x0004cc0e ); +PROVIDE ( CRC32_Update = 0x00030e60 ); +PROVIDE ( mbedtls_dhm_read_params = 0x0003c164 ); +PROVIDE ( sFlashPageRead = 0x00030dae ); +PROVIDE ( mbedtls_strerror = 0x00047d08 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_encrypt = 0x0004e570 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_abytes = 0x0004e48c ); +PROVIDE ( mbedtls_mpi_write_binary = 0x0003e73a ); +PROVIDE ( mbedtls_ecp_keypair_free = 0x0004c21e ); +PROVIDE ( mbedtls_ecp_muladd = 0x0004d704 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_1 = 0x00037136 ); +PROVIDE ( mbedtls_ed25519_pubkey_to_curve25519 = 0x00038456 ); +PROVIDE ( mbedtls_ed25519_verify = 0x00038614 ); +PROVIDE ( mbedtls_asn1_get_alg = 0x0004177e ); +PROVIDE ( mbedtls_ecdsa_sign = 0x0004b08e ); +PROVIDE ( mbedtls_mpi_sub_int = 0x0003f018 ); +PROVIDE ( mbedtls_kdf2 = 0x00045b14 ); +PROVIDE ( mbedtls_asn1_write_ia5_string = 0x0004aa5c ); +PROVIDE ( memmove = 0x000509a6 ); +PROVIDE ( mbedtls_asn1_get_bool = 0x0004145e ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_decrypt = 0x0004e696 ); +PROVIDE ( mbedtls_ecies_write_hmac = 0x0003be90 ); +PROVIDE ( mbedtls_version_check_feature = 0x00045c2c ); +PROVIDE ( mbedtls_aes_free = 0x0004db90 ); +PROVIDE ( mbedtls_sha256_init = 0x0004dbb4 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_decrypt_detached = 0x0004e27e ); +PROVIDE ( mbedtls_dhm_make_public = 0x0003c340 ); +PROVIDE ( mbedtls_kdf_info_from_type = 0x0004db0a ); +PROVIDE ( mbedtls_ecp_copy = 0x0004c240 ); +PROVIDE ( crypto_stream_chacha20_keygen = 0x0004f0a2 ); +PROVIDE ( mbedtls_hmac_drbg_seed_buf = 0x0003d78c ); +PROVIDE ( mbedtls_mpi_shrink = 0x0003e12e ); +PROVIDE ( crypto_verify_64 = 0x0004ff68 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_to_cached = 0x00038a74 ); +PROVIDE ( mbedtls_fast_ec_info_from_type = 0x000491ba ); +PROVIDE ( mbedtls_cipher_auth_encrypt = 0x000463ae ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_tobytes = 0x00037d10 ); +PROVIDE ( mbedtls_kdf_info_from_string = 0x0004dade ); +PROVIDE ( mbedtls_sha1_finish = 0x00043b2c ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_abytes = 0x0004e712 ); +PROVIDE ( mbedtls_rsa_rsaes_oaep_decrypt = 0x00046e36 ); +PROVIDE ( mbedtls_rsa_pkcs1_decrypt = 0x00047180 ); +PROVIDE ( mbedtls_pk_can_do = 0x0003d3ea ); +PROVIDE ( mbedtls_sha256 = 0x0004229a ); +PROVIDE ( mbedtls_rsa_rsassa_pss_verify = 0x0004777a ); +PROVIDE ( FLASH_WRITE_ENABLE = 0x00030b1a ); +PROVIDE ( mbedtls_rsa_check_privkey = 0x0004659c ); +PROVIDE ( mbedtls_pk_get_type = 0x0003d6bc ); +PROVIDE ( romUartBoot = 0x000306aa ); +PROVIDE ( crypto_stream_chacha20_xor = 0x0004f07a ); +PROVIDE ( mbedtls_mpi_read_string = 0x0003edd6 ); +PROVIDE ( mbedtls_ctr_drbg_free = 0x00040d52 ); +PROVIDE ( mbedtls_ctr_drbg_random_with_add = 0x00040ec8 ); +PROVIDE ( mbedtls_asn1_write_octet_string = 0x0004ab7c ); +PROVIDE ( sha256_init = 0x00031096 ); +PROVIDE ( mbedtls_curve25519_sign = 0x00038838 ); +PROVIDE ( mbedtls_md = 0x000452c2 ); +PROVIDE ( mbedtls_ecp_group_copy = 0x0004c27e ); +PROVIDE ( iot_printf = 0x000323ee ); +PROVIDE ( mbedtls_ecdh_gen_public = 0x0004acde ); +PROVIDE ( mbedtls_asn1_get_tag = 0x0004143a ); +PROVIDE ( mbedtls_ecdsa_verify = 0x0004b24a ); +PROVIDE ( mbedtls_ctr_drbg_set_entropy_len = 0x00040d80 ); +PROVIDE ( _crypto_onetimeauth_poly1305_pick_best_implementation = 0x0004e768 ); +PROVIDE ( romAHBInit = 0x00030388 ); +PROVIDE ( mbedtls_fast_ec_compute_pub = 0x00049376 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_pow22523 = 0x00038c2e ); +PROVIDE ( mbedtls_sha256_finish = 0x0004dc24 ); +PROVIDE ( mbedtls_mpi_shift_r = 0x0003e87c ); +PROVIDE ( mbedtls_sha512_clone = 0x0004dc36 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p2_0 = 0x0003938c ); +PROVIDE ( mbedtls_ctr_drbg_random = 0x00040fbe ); +PROVIDE ( mbedtls_ed25519_sign = 0x000384de ); +PROVIDE ( mbedtls_pk_write_pubkey = 0x000419ae ); +PROVIDE ( mbedtls_mpi_gen_prime = 0x000408a8 ); +PROVIDE ( mbedtls_ecp_curve_info_from_grp_id = 0x0004c07e ); +PROVIDE ( mbedtls_asn1_write_algorithm_identifier_no_params = 0x0004a85e ); +PROVIDE ( mbedtls_mpi_get_bit = 0x0003e52a ); +PROVIDE ( mbedtls_ecies_decrypt = 0x0003dd70 ); +PROVIDE ( mbedtls_mpi_read_binary = 0x0003e674 ); +PROVIDE ( crypto_core_hchacha20_outputbytes = 0x000505bc ); +PROVIDE ( sha256_starts = 0x000310b4 ); +PROVIDE ( mbedtls_asn1_write_int = 0x0004a928 ); +PROVIDE ( mbedtls_sha1_init = 0x000422e2 ); +PROVIDE ( crypto_stream_chacha20_ietf_keygen = 0x0004f0aa ); +PROVIDE ( mbedtls_cipher_info_from_values = 0x00045d26 ); +PROVIDE ( mbedtls_asn1_get_int = 0x000414d2 ); +PROVIDE ( mbedtls_ctr_drbg_seed_entropy_len = 0x00040e4e ); +PROVIDE ( mbedtls_fast_ec_copy = 0x000492f2 ); +PROVIDE ( crypto_onetimeauth_poly1305_verify = 0x0004e728 ); +PROVIDE ( mbedtls_ecies_write_kdf = 0x0003bdd6 ); +PROVIDE ( memcpy = 0x000317b0 ); +PROVIDE ( sUartPutString = 0x000316a0 ); +PROVIDE ( mbedtls_sha1_starts = 0x0004236e ); +PROVIDE ( mbedtls_sha1_process = 0x000423aa ); +PROVIDE ( mbedtls_cipher_info_from_string = 0x00045ce4 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_scalarmult_base = 0x00032574 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_frombytes = 0x00038f94 ); +PROVIDE ( mbedtls_hmac_drbg_random_with_add = 0x0003d930 ); +PROVIDE ( mbedtls_fast_ec_get_type = 0x000494f4 ); +PROVIDE ( crypto_aead_chacha20poly1305_keybytes = 0x0004e490 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_isnonzero = 0x00038b5a ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_mul = 0x000326ea ); +PROVIDE ( mbedtls_platform_set_printf = 0x0004dac0 ); +PROVIDE ( mbedtls_ecp_curve_info_from_name = 0x0004c0da ); +PROVIDE ( mbedtls_aes_setkey_dec = 0x0004db9c ); +PROVIDE ( mbedtls_ecp_group_free = 0x0004c1a4 ); +PROVIDE ( crypto_onetimeauth_poly1305_statebytes = 0x0004e75a ); +PROVIDE ( mbedtls_kdf_list = 0x0004dad8 ); +PROVIDE ( mbedtls_rsa_copy = 0x00047c00 ); +PROVIDE ( mbedtls_version_get_string_full = 0x0003ba8a ); +PROVIDE ( mbedtls_rsa_rsaes_pkcs1_v15_encrypt = 0x00046cce ); +PROVIDE ( mbedtls_ecies_read_hmac = 0x0003bc0a ); +PROVIDE ( mbedtls_asn1_get_alg_null = 0x00041860 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_add = 0x00038e30 ); +PROVIDE ( mbedtls_sha256_starts = 0x0004dc12 ); +PROVIDE ( crypto_aead_chacha20poly1305_nsecbytes = 0x0004e49a ); +PROVIDE ( mbedtls_sha256_update = 0x0004dc1e ); +PROVIDE ( mbedtls_mpi_bitlen = 0x0003e600 ); +PROVIDE ( mbedtls_ecdsa_free = 0x0004b5b0 ); +PROVIDE ( mbedtls_rsa_check_pubkey = 0x0004651c ); +PROVIDE ( mbedtls_sha512_free = 0x0004dc30 ); +PROVIDE ( mbedtls_md5_update = 0x0004a348 ); +PROVIDE ( mbedtls_oid_get_md_alg = 0x0004585a ); +PROVIDE ( mbedtls_ecp_check_pub_priv = 0x0004d90a ); +PROVIDE ( mbedtls_mpi_mul_mpi = 0x0004db78 ); +PROVIDE ( FLASH_SECTOR_ERASE = 0x00030b4c ); +PROVIDE ( mbedtls_kdf = 0x0004db32 ); +PROVIDE ( mbedtls_ecp_set_zero = 0x0004c284 ); +PROVIDE ( mbedtls_dhm_free = 0x0003c632 ); +PROVIDE ( mbedtls_cipher_auth_decrypt = 0x000463ea ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_0 = 0x00039738 ); +PROVIDE ( crypto_core_hchacha20_keybytes = 0x000505c6 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_to_p2 = 0x00036f68 ); +PROVIDE ( mbedtls_mpi_init = 0x0003e0c2 ); +PROVIDE ( mbedtls_mpi_lsb = 0x0003e5ca ); +PROVIDE ( mbedtls_pkcs12_pbe = 0x0003cc96 ); +PROVIDE ( randombytes_buf = 0x0004db62 ); +PROVIDE ( mbedtls_oid_get_oid_by_sig_alg = 0x00045606 ); +PROVIDE ( mbedtls_cipher_free = 0x00045d60 ); +PROVIDE ( mbedtls_memory_buffer_alloc_free = 0x0004134a ); +PROVIDE ( mbedtls_curve25519_verify = 0x00038980 ); +PROVIDE ( iot_sprintf = 0x0003230e ); +PROVIDE ( mbedtls_pk_parse_key = 0x00044e76 ); +PROVIDE ( mbedtls_oid_get_numeric_string = 0x00045a38 ); +PROVIDE ( crypto_core_hchacha20_constbytes = 0x000505cc ); +PROVIDE ( mbedtls_hmac_drbg_reseed = 0x0003d7ee ); +PROVIDE ( mbedtls_rsa_rsaes_pkcs1_v15_decrypt = 0x00047024 ); +PROVIDE ( mbedtls_pk_free = 0x0003d2e6 ); +PROVIDE ( mbedtls_pk_get_name = 0x0003d6a8 ); +PROVIDE ( __udivdi3 = 0x000505d0 ); +PROVIDE ( mbedtls_mpi_add_mpi = 0x0003ecf2 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_0 = 0x00039712 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_frombytes_negate_vartime = 0x00039762 ); +PROVIDE ( mbedtls_sha512 = 0x0003c75c ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_sub = 0x000392de ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_nsecbytes = 0x0004e488 ); +PROVIDE ( mbedtls_md5_process = 0x000495e6 ); +PROVIDE ( mbedtls_asn1_write_bool = 0x0004a8c2 ); +PROVIDE ( mbedtls_hmac_drbg_set_entropy_len = 0x0003d928 ); +PROVIDE ( mbedtls_hmac_drbg_set_prediction_resistance = 0x0003d924 ); +PROVIDE ( mbedtls_oid_get_oid_by_pk_alg = 0x000456ae ); +PROVIDE ( mbedtls_pk_decrypt = 0x0003d5e2 ); +PROVIDE ( mbedtls_gcm_setkey = 0x0003b32c ); +PROVIDE ( mbedtls_ecp_gen_keypair = 0x0004d8b8 ); +PROVIDE ( mbedtls_asn1_write_mpi = 0x0004a66a ); +PROVIDE ( mbedtls_mpi_sub_mpi = 0x0003ed5e ); +PROVIDE ( crypto_core_hchacha20 = 0x0004ff98 ); +PROVIDE ( mbedtls_md_get_name = 0x00045556 ); +PROVIDE ( mbedtls_rsa_rsassa_pss_verify_ext = 0x00047558 ); +PROVIDE ( mbedtls_dhm_calc_secret = 0x0003c41e ); +PROVIDE ( mbedtls_ctr_drbg_seed = 0x00040ec2 ); +PROVIDE ( mbedtls_ecdh_get_params = 0x0004ae84 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_nsecbytes = 0x0004e70e ); +PROVIDE ( mbedtls_asn1_get_bitstring = 0x000415b0 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_add = 0x00038ac0 ); +PROVIDE ( mbedtls_asn1_store_named_data = 0x0004abfa ); +PROVIDE ( mbedtls_ecies_write_version = 0x0003bdbc ); +PROVIDE ( mbedtls_oid_get_oid_by_md = 0x000458c6 ); +PROVIDE ( mbedtls_gcm_starts = 0x0003b51e ); +PROVIDE ( mbedtls_rsa_pkcs1_encrypt = 0x00046e06 ); +PROVIDE ( mbedtls_rsa_rsassa_pkcs1_v15_sign = 0x00047354 ); +PROVIDE ( mbedtls_ecp_point_read_binary = 0x0004cd70 ); +PROVIDE ( crypto_aead_chacha20poly1305_encrypt_detached = 0x0004dcc2 ); +PROVIDE ( crypto_aead_chacha20poly1305_decrypt_detached = 0x0004e098 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_encrypt = 0x0004e032 ); +PROVIDE ( mbedtls_asn1_write_printable_string = 0x0004a9de ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_keygen = 0x0004e716 ); +PROVIDE ( mbedtls_ctr_drbg_reseed = 0x00040db0 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_keygen = 0x0004e4aa ); +PROVIDE ( mbedtls_ecies_read_content_info = 0x0003bca0 ); +PROVIDE ( mbedtls_mpi_lset = 0x0003e4e8 ); +PROVIDE ( mbedtls_md5_free = 0x0004953a ); +PROVIDE ( mbedtls_fast_ec_sign = 0x0004938e ); +PROVIDE ( mbedtls_cipher_write_tag = 0x00046298 ); +PROVIDE ( mbedtls_platform_set_fprintf = 0x0004dac8 ); +PROVIDE ( mbedtls_ecp_point_read_string = 0x0004cc56 ); +PROVIDE ( mbedtls_ecies_read_envelope = 0x0003baf8 ); +PROVIDE ( mbedtls_rsa_public = 0x00046890 ); +PROVIDE ( mbedtls_ecdsa_from_keypair = 0x0004b560 ); +PROVIDE ( mbedtls_ecp_gen_key = 0x0004d8c6 ); +PROVIDE ( mbedtls_pk_verify_ext = 0x0003d476 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p1p1_to_p3 = 0x00038ed8 ); +PROVIDE ( mbedtls_mpi_div_int = 0x0003f4e6 ); +PROVIDE ( mbedtls_fast_ec_init = 0x000491de ); +PROVIDE ( mbedtls_cipher_setkey = 0x00045dee ); +PROVIDE ( crypto_stream_chacha20_keybytes = 0x0004f03e ); +PROVIDE ( mbedtls_sha512_process = 0x0004dca2 ); +PROVIDE ( mbedtls_pk_get_bitlen = 0x0003d66c ); +PROVIDE ( mbedtls_mpi_mul_int = 0x0003f03e ); +PROVIDE ( mbedtls_mpi_exp_mod = 0x0003f7cc ); +PROVIDE ( mbedtls_mpi_safe_cond_assign = 0x0003e368 ); +PROVIDE ( mbedtls_aes_setkey_enc = 0x0004db96 ); +PROVIDE ( mbedtls_ecies_read_version = 0x0003bb16 ); +PROVIDE ( mbedtls_cipher_update = 0x00045ed2 ); +PROVIDE ( mbedtls_hardclock_poll = 0x0004b724 ); +PROVIDE ( mbedtls_ecp_curve_list = 0x0004c034 ); +PROVIDE ( mbedtls_kdf_get_type = 0x0004db28 ); +PROVIDE ( mbedtls_md_init = 0x0004514c ); +PROVIDE ( mbedtls_dhm_make_params = 0x0003c1cc ); +PROVIDE ( mbedtls_oid_get_pkcs12_pbe_alg = 0x0004590c ); +PROVIDE ( crypto_sign_ed25519_ref10_sc_muladd = 0x000333d2 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_dbl = 0x00038018 ); +PROVIDE ( mbedtls_ecp_gen_keypair_base = 0x0004d788 ); +PROVIDE ( mbedtls_mpi_cmp_abs = 0x0003e906 ); +PROVIDE ( mbedtls_pk_verify = 0x0003d3fc ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_copy = 0x00039896 ); +PROVIDE ( mbedtls_rsa_check_pub_priv = 0x00046844 ); +PROVIDE ( mbedtls_entropy_free = 0x0003d1b8 ); +PROVIDE ( mbedtls_asn1_write_bitstring = 0x0004aada ); +PROVIDE ( mbedtls_fast_ec_free = 0x00049274 ); +PROVIDE ( crypto_stream_chacha20_ietf_keybytes = 0x0004f048 ); +PROVIDE ( mbedtls_ecp_point_free = 0x0004c17e ); +PROVIDE ( mbedtls_sha512_update = 0x0004dca8 ); +PROVIDE ( mbedtls_platform_set_exit = 0x0004dad0 ); +PROVIDE ( mbedtls_cipher_setup = 0x00045d8e ); +PROVIDE ( mbedtls_mpi_cmp_int = 0x0003eace ); +PROVIDE ( mbedtls_ecp_check_pubkey = 0x0004cf34 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_madd = 0x00033330 ); +PROVIDE ( mbedtls_entropy_init = 0x0003d12c ); +PROVIDE ( mbedtls_memory_buffer_alloc_init = 0x000412ca ); +PROVIDE ( mbedtls_pk_write_key_pkcs8_der = 0x00041bb2 ); +PROVIDE ( mbedtls_mpi_mod_int = 0x0003f50c ); +PROVIDE ( mbedtls_oid_get_oid_by_cipher_alg = 0x00045812 ); +PROVIDE ( mbedtls_fast_ec_get_key_bitlen = 0x00049508 ); +PROVIDE ( crypto_aead_chacha20poly1305_abytes = 0x0004e49e ); +PROVIDE ( mbedtls_ecies_encrypt = 0x0003da28 ); +PROVIDE ( mbedtls_ecdh_read_params = 0x0004ae42 ); +PROVIDE ( mbedtls_oid_get_cipher_alg = 0x000457a6 ); +PROVIDE ( mbedtls_rsa_rsassa_pss_sign = 0x000471b6 ); +PROVIDE ( mbedtls_mpi_copy = 0x0003e1f6 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_sq2 = 0x000367a6 ); +PROVIDE ( _crypto_stream_chacha20_pick_best_implementation = 0x0004f0ac ); +PROVIDE ( mbedtls_ed25519_get_pubkey = 0x000383f8 ); +PROVIDE ( mbedtls_ecdsa_init = 0x0004b5ac ); +PROVIDE ( mbedtls_curve25519_key_exchange = 0x00038682 ); +PROVIDE ( mbedtls_sha1_update = 0x00043b26 ); +PROVIDE ( mbedtls_mpi_swap = 0x0003e2a2 ); +PROVIDE ( mbedtls_ecdh_read_public = 0x0004af62 ); +PROVIDE ( mbedtls_ed25519_key_to_curve25519 = 0x000384a2 ); +PROVIDE ( mbedtls_dhm_read_public = 0x0003c312 ); +PROVIDE ( crypto_verify_16 = 0x0004ff0a ); +PROVIDE ( crypto_stream_chacha20_ietf = 0x0004f05c ); +PROVIDE ( mbedtls_asn1_write_len = 0x0004a4c2 ); +PROVIDE ( mbedtls_md_hmac_update = 0x000453e0 ); +PROVIDE ( mbedtls_ecp_tls_read_group = 0x0004ce74 ); +PROVIDE ( mbedtls_mpi_shift_l = 0x0003e79c ); +PROVIDE ( mbedtls_mpi_cmp_mpi = 0x0003e9d8 ); +PROVIDE ( mbedtls_gcm_finish = 0x0003b824 ); +PROVIDE ( mbedtls_ecp_group_load = 0x00048eec ); +PROVIDE ( crypto_stream_chacha20_noncebytes = 0x0004f044 ); +PROVIDE ( mbedtls_asn1_write_oid = 0x0004a750 ); +PROVIDE ( mbedtls_ecp_point_write_binary = 0x0004cc9a ); +PROVIDE ( mbedtls_ctr_drbg_set_reseed_interval = 0x00040d84 ); +PROVIDE ( mbedtls_dhm_parse_dhm = 0x0003c6a2 ); +PROVIDE ( mbedtls_oid_get_sig_alg = 0x000455dc ); +PROVIDE ( mbedtls_rsa_pkcs1_verify = 0x0004795e ); +PROVIDE ( mbedtls_mpi_add_abs = 0x0003eaf4 ); +PROVIDE ( mbedtls_ecdh_make_params = 0x0004adbe ); +PROVIDE ( mbedtls_entropy_gather = 0x0003d204 ); +PROVIDE ( mbedtls_ecdh_compute_shared = 0x0004ace2 ); +PROVIDE ( mbedtls_ecdsa_genkey = 0x0004b51a ); +PROVIDE ( mbedtls_fast_ec_verify = 0x000493de ); +PROVIDE ( mbedtls_mpi_mod_mpi = 0x0004db7e ); +PROVIDE ( mbedtls_md_process = 0x0004551a ); +PROVIDE ( crypto_stream_chacha20_xor_ic = 0x0004f066 ); +PROVIDE ( mbedtls_md_setup = 0x00045202 ); +PROVIDE ( crypto_aead_chacha20poly1305_npubbytes = 0x0004e496 ); +PROVIDE ( mbedtls_fast_ec_compute_shared = 0x0004942a ); +PROVIDE ( mbedtls_ecdsa_write_signature = 0x0004b3a6 ); +PROVIDE ( crypto_aead_chacha20poly1305_keygen = 0x0004e4a2 ); +PROVIDE ( crypto_onetimeauth_poly1305_keybytes = 0x0004e754 ); +PROVIDE ( mbedtls_platform_set_calloc_free = 0x0004daac ); +PROVIDE ( mbedtls_pk_parse_subpubkey = 0x00044c98 ); +PROVIDE ( mbedtls_cipher_check_tag = 0x000462c6 ); +PROVIDE ( mbedtls_hmac_drbg_free = 0x0003da02 ); +PROVIDE ( crypto_stream_chacha20_ietf_xor_ic = 0x0004f070 ); +PROVIDE ( mbedtls_cipher_crypt = 0x0004633e ); +PROVIDE ( mbedtls_pk_encrypt = 0x0003d608 ); +PROVIDE ( mbedtls_mpi_gcd = 0x0003fe74 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_precomp_0 = 0x0003241c ); +PROVIDE ( mbedtls_md_finish = 0x000452a2 ); +PROVIDE ( mbedtls_sha256_clone = 0x0004dbc0 ); +PROVIDE ( mbedtls_ecp_mul = 0x0004d148 ); +PROVIDE ( mbedtls_hmac_drbg_update = 0x0003d6d4 ); +PROVIDE ( mbedtls_md_list = 0x0004505c ); +PROVIDE ( mbedtls_pk_sign = 0x0003d554 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_cswap = 0x00037b8c ); +PROVIDE ( crypto_verify_16_bytes = 0x0004ff34 ); +PROVIDE ( crypto_sign_ed25519_ref10_sc_reduce = 0x000398d8 ); +PROVIDE ( mbedtls_rsa_private = 0x00046924 ); +PROVIDE ( mbedtls_md5_starts = 0x000495b4 ); +PROVIDE ( mbedtls_ecdh_make_public = 0x0004aef0 ); +PROVIDE ( crypto_core_hchacha20_inputbytes = 0x000505c2 ); +PROVIDE ( mbedtls_md_get_type = 0x0004554c ); +PROVIDE ( mbedtls_kdf_get_name = 0x0004db1e ); +PROVIDE ( mbedtls_oid_get_sig_alg_desc = 0x000455bc ); +PROVIDE ( mbedtls_gcm_crypt_and_tag = 0x0003b95a ); +PROVIDE ( mbedtls_sha256_free = 0x0004dbba ); +PROVIDE ( mbedtls_version_get_number = 0x0003ba5a ); +PROVIDE ( mbedtls_ecies_write_content_info = 0x0003bf82 ); +PROVIDE ( mbedtls_gcm_auth_decrypt = 0x0003b9ba ); +PROVIDE ( crypto_onetimeauth_poly1305_init = 0x0004e732 ); +PROVIDE ( mbedtls_ecp_keypair_init = 0x0004c154 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_neg = 0x00038f2e ); +PROVIDE ( mbedtls_md_hmac_finish = 0x00045404 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_tobytes = 0x00037d5c ); +PROVIDE ( mbedtls_aes_init = 0x0004db8a ); +PROVIDE ( crypto_stream_chacha20_ietf_noncebytes = 0x0004f04e ); +PROVIDE ( mbedtls_cipher_init = 0x00045d56 ); +PROVIDE ( crypto_verify_32 = 0x0004ff38 ); +PROVIDE ( mbedtls_pk_info_from_type = 0x0003d312 ); +PROVIDE ( mbedtls_sha256_process = 0x0004dc18 ); +PROVIDE ( mbedtls_rsa_set_padding = 0x00046512 ); +PROVIDE ( mbedtls_md5_init = 0x00049530 ); +PROVIDE ( mbedtls_cipher_info_from_type = 0x00045cba ); +PROVIDE ( mbedtls_fast_ec_get_sig_len = 0x0004951c ); +PROVIDE ( mbedtls_cipher_list = 0x00045c86 ); +PROVIDE ( mbedtls_md5_clone = 0x0004954e ); +PROVIDE ( mbedtls_md_init_ctx = 0x0004525e ); +PROVIDE ( mbedtls_md_info_from_string = 0x00045066 ); +PROVIDE ( mbedtls_sha512_finish = 0x0004dcae ); +PROVIDE ( mbedtls_asn1_find_named_data = 0x000418f0 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_npubbytes = 0x0004e70a ); +PROVIDE ( mbedtls_platform_set_snprintf = 0x0004dab8 ); +PROVIDE ( mbedtls_mpi_add_int = 0x0003eff2 ); +PROVIDE ( crypto_stream_chacha20_ietf_xor = 0x0004f094 ); +PROVIDE ( mbedtls_asn1_free_named_data_list = 0x000418c0 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_encrypt_detached = 0x0004de9e ); +PROVIDE ( mbedtls_pk_debug = 0x0003d67e ); +PROVIDE ( mbedtls_fast_ec_gen_key = 0x00049358 ); +PROVIDE ( mbedtls_entropy_update_manual = 0x0003d1fc ); +PROVIDE ( mbedtls_ecp_is_zero = 0x0004cbf8 ); +PROVIDE ( mbedtls_ecdh_free = 0x0004ad70 ); +PROVIDE ( crypto_onetimeauth_poly1305 = 0x0004e71e ); +PROVIDE ( mbedtls_oid_get_pk_alg = 0x00045642 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_decrypt_detached = 0x0004e5d6 ); +PROVIDE ( mbedtls_ecp_tls_write_group = 0x0004ceda ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_isnegative = 0x0003987e ); +PROVIDE ( mbedtls_pk_write_key_der = 0x00042026 ); +PROVIDE ( mbedtls_mpi_inv_mod = 0x000403f8 ); +PROVIDE ( crypto_verify_64_bytes = 0x0004ff92 ); +PROVIDE ( mbedtls_hmac_drbg_seed = 0x0003d88a ); +PROVIDE ( mbedtls_sha1_clone = 0x00042300 ); +PROVIDE ( mbedtls_ecp_tls_write_point = 0x0004ce40 ); +PROVIDE ( mbedtls_mpi_div_mpi = 0x0003f058 ); +PROVIDE ( mbedtls_mpi_size = 0x0003e664 ); +PROVIDE ( mbedtls_cipher_update_ad = 0x00045e9e ); +PROVIDE ( mbedtls_aes_crypt_ecb = 0x0004dba2 ); +PROVIDE ( mbedtls_sha1_free = 0x000422ec ); +PROVIDE ( mbedtls_aes_crypt_ctr = 0x0004dbae ); +PROVIDE ( mbedtls_asn1_get_mpi = 0x00041554 ); +PROVIDE ( mbedtls_mpi_set_bit = 0x0003e54a ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_keybytes = 0x0004e47e ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_cmov = 0x00036f98 ); +PROVIDE ( crypto_onetimeauth_poly1305_bytes = 0x0004e750 ); +PROVIDE ( mbedtls_asn1_write_raw_buffer = 0x0004a62e ); +PROVIDE ( mbedtls_mpi_is_prime = 0x00040812 ); +PROVIDE ( mbedtls_ecp_curve_info_from_tls_id = 0x0004c0aa ); +PROVIDE ( mbedtls_rsa_rsassa_pkcs1_v15_verify = 0x00047798 ); +PROVIDE ( mbedtls_sha1 = 0x00043c4e ); +PROVIDE ( mbedtls_curve25519_get_pubkey = 0x00038624 ); +PROVIDE ( mbedtls_ecdsa_read_signature = 0x0004b472 ); +PROVIDE ( mbedtls_asn1_get_sequence_of = 0x000416aa ); +PROVIDE ( mbedtls_pkcs12_pbe_sha1_rc4_128 = 0x0003c7a4 ); +PROVIDE ( crypto_stream_chacha20 = 0x0004f052 ); +PROVIDE ( mbedtls_pkcs12_pbe_ext = 0x0003ca50 ); +PROVIDE ( mbedtls_gcm_update = 0x0003b6ea ); +PROVIDE ( mpi_montmul = 0x0004db84 ); +PROVIDE ( mbedtls_ecp_tls_read_point = 0x0004ce0e ); +PROVIDE ( mbedtls_oid_get_ec_grp = 0x000456f4 ); +PROVIDE ( mbedtls_fast_ec_check_pub_priv = 0x0004945e ); +PROVIDE ( mbedtls_md_clone = 0x000451cc ); +PROVIDE ( mbedtls_gcm_free = 0x0003ba36 ); +PROVIDE ( mbedtls_ecp_group_init = 0x0004c146 ); +PROVIDE ( mbedtls_ecp_grp_id_list = 0x0004c03e ); +PROVIDE ( mbedtls_md_hmac_reset = 0x00045468 ); +PROVIDE ( mbedtls_sha512_init = 0x0004dc2a ); +PROVIDE ( mbedtls_ecies_write_envelope = 0x0003bd5a ); +PROVIDE ( mbedtls_sha512_starts = 0x0004dc9c ); +PROVIDE ( mbedtls_md_update = 0x00045282 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_npubbytes = 0x0004e484 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_decrypt = 0x0004e410 ); +PROVIDE ( mbedtls_md_get_size = 0x0004553a ); +PROVIDE ( crypto_onetimeauth_poly1305_final = 0x0004e746 ); +PROVIDE ( sodium_memzero = 0x0004dcba ); +PROVIDE ( mbedtls_md5_finish = 0x0004a34e ); +PROVIDE ( mbedtls_mpi_free = 0x0003e0d2 ); +PROVIDE ( crypto_verify_32_bytes = 0x0004ff62 ); +PROVIDE ( mbedtls_md_hmac = 0x000454aa ); +PROVIDE ( mbedtls_asn1_write_null = 0x0004a71c ); +PROVIDE ( xModemReciveframe = 0x00030e90 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_keybytes = 0x0004e704 ); +PROVIDE ( mbedtls_fast_ec_setup = 0x00049210 ); +PROVIDE ( mbedtls_pk_parse_public_key = 0x00045046 ); +PROVIDE ( mbedtls_hmac_drbg_random = 0x0003d9fc ); +PROVIDE ( mbedtls_ecdh_calc_secret = 0x0004af9a ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_double_scalarmult_vartime = 0x00039456 ); +PROVIDE ( mbedtls_pk_setup_rsa_alt = 0x0003d374 ); +PROVIDE ( mbedtls_dhm_init = 0x0003c15a ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_mul121666 = 0x000371e0 ); +PROVIDE ( mbedtls_aes_crypt_cbc = 0x0004dba8 ); +PROVIDE ( mbedtls_hmac_drbg_init = 0x0003d6ca ); +PROVIDE ( mbedtls_hmac_drbg_set_reseed_interval = 0x0003d92c ); +PROVIDE ( mbedtls_pk_write_pubkey_der = 0x00041a92 ); +PROVIDE ( mbedtls_mpi_safe_cond_swap = 0x0003e41c ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_sub = 0x00038d84 ); +PROVIDE ( mbedtls_oid_get_oid_by_ec_grp = 0x00045760 ); +PROVIDE ( mbedtls_cipher_finish = 0x00046134 ); +PROVIDE ( mbedtls_md_hmac_starts = 0x000452e4 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p1p1_to_p2 = 0x000326ac ); +PROVIDE ( mbedtls_fast_ec_get_key_len = 0x00049512 ); +PROVIDE ( crypto_onetimeauth_poly1305_keygen = 0x0004e760 ); +PROVIDE ( mbedtls_cipher_set_padding_mode = 0x00046264 ); +PROVIDE ( mbedtls_rsa_init = 0x000464e4 ); +PROVIDE ( mbedtls_rsa_pkcs1_sign = 0x0004753e ); +PROVIDE ( mbedtls_pk_setup = 0x0003d32e ); +PROVIDE ( mbedtls_pk_init = 0x0003d2da ); +PROVIDE ( mbedtls_mpi_sub_abs = 0x0003ebfc ); +PROVIDE ( mbedtls_mpi_fill_random = 0x00040088 ); +PROVIDE ( mbedtls_entropy_func = 0x0003d206 ); +PROVIDE ( mbedtls_md_info_from_type = 0x00045130 ); +PROVIDE ( mbedtls_entropy_add_source = 0x0003d1c8 ); +PROVIDE ( mbedtls_md_free = 0x0004517e ); +PROVIDE ( mbedtls_mpi_write_string = 0x0003f5ec ); +PROVIDE ( mbedtls_rsa_gen_key = 0x00047a2e ); +PROVIDE ( mbedtls_version_get_string = 0x0003ba60 ); +PROVIDE ( mbedtls_asn1_free_named_data = 0x0004188a ); +PROVIDE ( mbedtls_oid_get_kdf_alg = 0x00045986 ); +PROVIDE ( mbedtls_ecp_check_privkey = 0x0004d0d6 ); +PROVIDE ( mbedtls_memory_buffer_set_verify = 0x000412c2 ); +PROVIDE ( mbedtls_cipher_set_iv = 0x00045e30 ); +PROVIDE ( mbedtls_pk_check_pair = 0x0003d62e ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_msub = 0x00037094 ); +PROVIDE ( mbedtls_ecies_read_kdf = 0x0003bb3a ); +PROVIDE ( mbedtls_asn1_write_algorithm_identifier = 0x0004a7ce ); +PROVIDE ( mbedtls_ecies_info_from_type = 0x0003cffc ); +PROVIDE ( crypto_aead_chacha20poly1305_encrypt = 0x0004de38 ); +PROVIDE ( mbedtls_memory_buffer_alloc_verify = 0x000412c8 ); +PROVIDE ( mbedtls_md5 = 0x0004a452 ); diff --git a/startup/ldscripts/riscv/sp_cco.addrs.ld b/startup/ldscripts/riscv/sp_cco.addrs.ld new file mode 100755 index 0000000..89779a2 --- /dev/null +++ b/startup/ldscripts/riscv/sp_cco.addrs.ld @@ -0,0 +1 @@ +PROVIDE ( _gp = 0x10000d40 ); diff --git a/startup/ldscripts/riscv/sp_sta.addrs.ld b/startup/ldscripts/riscv/sp_sta.addrs.ld new file mode 100755 index 0000000..89779a2 --- /dev/null +++ b/startup/ldscripts/riscv/sp_sta.addrs.ld @@ -0,0 +1 @@ +PROVIDE ( _gp = 0x10000d40 ); diff --git a/startup/ldscripts/riscv2/rom.addrs.ld b/startup/ldscripts/riscv2/rom.addrs.ld new file mode 100644 index 0000000..19d8dc9 --- /dev/null +++ b/startup/ldscripts/riscv2/rom.addrs.ld @@ -0,0 +1,505 @@ +PROVIDE ( _gp = 0x0ffd8d24 ); +PROVIDE ( _end = 0x0ffd8c30 ); +PROVIDE ( iot_indir_tbl = 0x0ffd8bcc ); +PROVIDE ( log_ctxt = 0x0ffd852c ); +PROVIDE ( rom_log_ctxt = 0x0ffd852c ); +PROVIDE ( memset = 0x00031772 ); +PROVIDE ( memcpy = 0x000316aa ); +PROVIDE ( memcmp = 0x00053674 ); +PROVIDE ( iot_sprintf = 0x000323f2 ); +PROVIDE ( iot_printf = 0x000324fa ); +PROVIDE ( rom_format_str_v = 0x00031afe ); +PROVIDE ( mbedtls_rsa_rsaes_oaep_encrypt = 0x00046f24 ); +PROVIDE ( mbedtls_cipher_reset = 0x00046186 ); +PROVIDE ( mbedtls_fast_ec_get_name = 0x00049844 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_sq = 0x000377e8 ); +PROVIDE ( mbedtls_ctr_drbg_init = 0x00040cc6 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_tobytes = 0x00038ee4 ); +PROVIDE ( strcpy = 0x0003168e ); +PROVIDE ( mbedtls_pkcs12_derivation = 0x0003cbe8 ); +PROVIDE ( crypto_aead_chacha20poly1305_decrypt = 0x0004fccc ); +PROVIDE ( mbedtls_ctr_drbg_set_prediction_resistance = 0x00040d0c ); +PROVIDE ( SFC_OPR_SET = 0x00030b5e ); +PROVIDE ( mbedtls_mpi_grow = 0x0003e87e ); +PROVIDE ( mbedtls_md_starts = 0x000455ea ); +PROVIDE ( mbedtls_asn1_get_bitstring_null = 0x00041638 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_encrypt_detached = 0x0004ffb8 ); +PROVIDE ( mbedtls_ecp_point_init = 0x0004c556 ); +PROVIDE ( mbedtls_oid_get_oid_by_kdf_alg = 0x00045d00 ); +PROVIDE ( mbedtls_fast_ec_get_shared_len = 0x00049894 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p2_dbl = 0x00037518 ); +PROVIDE ( mbedtls_rsa_free = 0x00047dfe ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_invert = 0x00038352 ); +PROVIDE ( mbedtls_hardware_poll = 0x0004f76c ); +PROVIDE ( crypto_onetimeauth_poly1305_update = 0x00050292 ); +PROVIDE ( mbedtls_asn1_write_tag = 0x0004a740 ); +PROVIDE ( mbedtls_ctr_drbg_update = 0x00040d36 ); +PROVIDE ( mbedtls_ecdh_init = 0x0004ae04 ); +PROVIDE ( mbedtls_gcm_init = 0x0003b784 ); +PROVIDE ( mbedtls_asn1_get_len = 0x000413c4 ); +PROVIDE ( mbedtls_ecp_point_cmp = 0x0004d132 ); +PROVIDE ( CRC32_Update = 0x00030d78 ); +PROVIDE ( mbedtls_dhm_read_params = 0x0003c584 ); +PROVIDE ( sFlashPageRead = 0x00030cfc ); +PROVIDE ( mbedtls_strerror = 0x00048170 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_encrypt = 0x0005006a ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_abytes = 0x0004ff50 ); +PROVIDE ( mbedtls_mpi_write_binary = 0x0003edd4 ); +PROVIDE ( mbedtls_ecp_keypair_free = 0x0004c654 ); +PROVIDE ( mbedtls_ecp_muladd = 0x0004dd20 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_1 = 0x000374e4 ); +PROVIDE ( mbedtls_ed25519_pubkey_to_curve25519 = 0x000387d4 ); +PROVIDE ( mbedtls_ed25519_verify = 0x000389e8 ); +PROVIDE ( mbedtls_asn1_get_alg = 0x00041734 ); +PROVIDE ( mbedtls_ecdsa_sign = 0x0004b180 ); +PROVIDE ( mbedtls_mpi_sub_int = 0x0003f3c6 ); +PROVIDE ( mbedtls_kdf2 = 0x00045e06 ); +PROVIDE ( mbedtls_asn1_write_ia5_string = 0x0004ab1a ); +PROVIDE ( memmove = 0x00053696 ); +PROVIDE ( mbedtls_asn1_get_bool = 0x000414d8 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_decrypt = 0x00050190 ); +PROVIDE ( mbedtls_ecies_write_hmac = 0x0003c29a ); +PROVIDE ( mbedtls_version_check_feature = 0x00045f34 ); +PROVIDE ( mbedtls_aes_free = 0x0004f5ac ); +PROVIDE ( mbedtls_sha256_init = 0x0004f624 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_decrypt_detached = 0x0004fd3a ); +PROVIDE ( mbedtls_dhm_make_public = 0x0003c77c ); +PROVIDE ( mbedtls_kdf_info_from_type = 0x0004f4c0 ); +PROVIDE ( mbedtls_ecp_copy = 0x0004c680 ); +PROVIDE ( crypto_stream_chacha20_keygen = 0x00050c1c ); +PROVIDE ( mbedtls_hmac_drbg_seed_buf = 0x0003dda6 ); +PROVIDE ( mbedtls_mpi_shrink = 0x0003e900 ); +PROVIDE ( crypto_verify_64 = 0x000516d0 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_to_cached = 0x00038f48 ); +PROVIDE ( mbedtls_fast_ec_info_from_type = 0x000494e8 ); +PROVIDE ( mbedtls_cipher_auth_encrypt = 0x00046722 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_tobytes = 0x00038084 ); +PROVIDE ( mbedtls_kdf_info_from_string = 0x0004f48c ); +PROVIDE ( mbedtls_sha1_finish = 0x00043b12 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_abytes = 0x0005022a ); +PROVIDE ( mbedtls_rsa_rsaes_oaep_decrypt = 0x00047208 ); +PROVIDE ( mbedtls_rsa_pkcs1_decrypt = 0x00047576 ); +PROVIDE ( mbedtls_pk_can_do = 0x0003d9a2 ); +PROVIDE ( mbedtls_sha256 = 0x0004f6b4 ); +PROVIDE ( mbedtls_rsa_rsassa_pss_verify = 0x00047bd2 ); +PROVIDE ( FLASH_WRITE_ENABLE = 0x00030c1a ); +PROVIDE ( mbedtls_rsa_check_privkey = 0x00046940 ); +PROVIDE ( mbedtls_pk_get_type = 0x0003dcc2 ); +PROVIDE ( romUartBoot = 0x000308c2 ); +PROVIDE ( crypto_stream_chacha20_xor = 0x00050be2 ); +PROVIDE ( mbedtls_mpi_read_string = 0x0003f434 ); +PROVIDE ( mbedtls_ctr_drbg_free = 0x00040cda ); +PROVIDE ( mbedtls_ctr_drbg_random_with_add = 0x00040eba ); +PROVIDE ( mbedtls_asn1_write_octet_string = 0x0004ac14 ); +PROVIDE ( sha256_init = 0x00030f88 ); +PROVIDE ( mbedtls_curve25519_sign = 0x00038ca0 ); +PROVIDE ( mbedtls_md = 0x0004565c ); +PROVIDE ( mbedtls_ecp_group_copy = 0x0004c6c6 ); +PROVIDE ( iot_printf = 0x000324fa ); +PROVIDE ( mbedtls_ecdh_gen_public = 0x0004ad62 ); +PROVIDE ( mbedtls_asn1_get_tag = 0x000414a4 ); +PROVIDE ( mbedtls_ecdsa_verify = 0x0004b366 ); +PROVIDE ( mbedtls_ctr_drbg_set_entropy_len = 0x00040d1a ); +PROVIDE ( _crypto_onetimeauth_poly1305_pick_best_implementation = 0x00050302 ); +PROVIDE ( romAHBInit = 0x000305a8 ); +PROVIDE ( mbedtls_fast_ec_compute_pub = 0x00049686 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_pow22523 = 0x000390ec ); +PROVIDE ( mbedtls_sha256_finish = 0x0004f6a0 ); +PROVIDE ( mbedtls_mpi_shift_r = 0x0003ef06 ); +PROVIDE ( mbedtls_sha512_clone = 0x0004f6f0 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p2_0 = 0x0003989e ); +PROVIDE ( mbedtls_ctr_drbg_random = 0x00040fba ); +PROVIDE ( mbedtls_ed25519_sign = 0x00038880 ); +PROVIDE ( mbedtls_pk_write_pubkey = 0x0004199c ); +PROVIDE ( mbedtls_mpi_gen_prime = 0x00040918 ); +PROVIDE ( mbedtls_ecp_curve_info_from_grp_id = 0x0004c4d2 ); +PROVIDE ( mbedtls_asn1_write_algorithm_identifier_no_params = 0x0004a970 ); +PROVIDE ( mbedtls_mpi_get_bit = 0x0003ebea ); +PROVIDE ( mbedtls_ecies_decrypt = 0x0003e460 ); +PROVIDE ( mbedtls_mpi_read_binary = 0x0003ed48 ); +PROVIDE ( crypto_core_hchacha20_outputbytes = 0x00051afc ); +PROVIDE ( mbedtls_asn1_write_int = 0x0004aa2e ); +PROVIDE ( mbedtls_sha1_init = 0x000423b2 ); +PROVIDE ( crypto_stream_chacha20_ietf_keygen = 0x00050c2e ); +PROVIDE ( mbedtls_cipher_info_from_values = 0x0004605c ); +PROVIDE ( mbedtls_asn1_get_int = 0x00041522 ); +PROVIDE ( mbedtls_ctr_drbg_seed_entropy_len = 0x00040e28 ); +PROVIDE ( mbedtls_fast_ec_copy = 0x000495fc ); +PROVIDE ( crypto_onetimeauth_poly1305_verify = 0x00050262 ); +PROVIDE ( mbedtls_ecies_write_kdf = 0x0003c1dc ); +PROVIDE ( memcpy = 0x000316aa ); +PROVIDE ( sUartPutString = 0x00031646 ); +PROVIDE ( mbedtls_sha1_starts = 0x000423fc ); +PROVIDE ( mbedtls_sha1_process = 0x00042442 ); +PROVIDE ( mbedtls_cipher_info_from_string = 0x00046018 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_scalarmult_base = 0x000326a0 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_frombytes = 0x000394d4 ); +PROVIDE ( mbedtls_hmac_drbg_random_with_add = 0x0003df8c ); +PROVIDE ( mbedtls_fast_ec_get_type = 0x00049830 ); +PROVIDE ( crypto_aead_chacha20poly1305_keybytes = 0x0004ff70 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_isnonzero = 0x00039010 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_mul = 0x00032840 ); +PROVIDE ( mbedtls_platform_set_printf = 0x0004e300 ); +PROVIDE ( mbedtls_ecp_curve_info_from_name = 0x0004c51e ); +PROVIDE ( mbedtls_aes_setkey_dec = 0x0004f5d4 ); +PROVIDE ( mbedtls_ecp_group_free = 0x0004c5ca ); +PROVIDE ( crypto_onetimeauth_poly1305_statebytes = 0x000502e0 ); +PROVIDE ( mbedtls_kdf_list = 0x0004f478 ); +PROVIDE ( mbedtls_rsa_copy = 0x0004805e ); +PROVIDE ( mbedtls_version_get_string_full = 0x0003beb2 ); +PROVIDE ( mbedtls_rsa_rsaes_pkcs1_v15_encrypt = 0x00047094 ); +PROVIDE ( mbedtls_ecies_read_hmac = 0x0003c00c ); +PROVIDE ( mbedtls_asn1_get_alg_null = 0x00041802 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_add = 0x0003932a ); +PROVIDE ( mbedtls_sha256_starts = 0x0004f664 ); +PROVIDE ( crypto_aead_chacha20poly1305_nsecbytes = 0x0004ff8e ); +PROVIDE ( mbedtls_sha256_update = 0x0004f68c ); +PROVIDE ( mbedtls_mpi_bitlen = 0x0003ecd8 ); +PROVIDE ( mbedtls_ecdsa_free = 0x0004b75c ); +PROVIDE ( mbedtls_rsa_check_pubkey = 0x000468c6 ); +PROVIDE ( mbedtls_sha512_free = 0x0004f6dc ); +PROVIDE ( mbedtls_md5_update = 0x0004a48c ); +PROVIDE ( mbedtls_oid_get_md_alg = 0x00045bbc ); +PROVIDE ( mbedtls_ecp_check_pub_priv = 0x0004df36 ); +PROVIDE ( mbedtls_mpi_mul_mpi = 0x0004f55c ); +PROVIDE ( FLASH_SECTOR_ERASE = 0x00030c2e ); +PROVIDE ( mbedtls_kdf = 0x0004f506 ); +PROVIDE ( mbedtls_ecp_set_zero = 0x0004c6d6 ); +PROVIDE ( mbedtls_dhm_free = 0x0003ca6a ); +PROVIDE ( mbedtls_cipher_auth_decrypt = 0x00046778 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_0 = 0x00039c58 ); +PROVIDE ( crypto_core_hchacha20_keybytes = 0x00051b1a ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_to_p2 = 0x000372fc ); +PROVIDE ( mbedtls_mpi_init = 0x0003e81c ); +PROVIDE ( mbedtls_mpi_lsb = 0x0003ec8e ); +PROVIDE ( mbedtls_pkcs12_pbe = 0x0003d108 ); +PROVIDE ( randombytes_buf = 0x0004f53c ); +PROVIDE ( mbedtls_oid_get_oid_by_sig_alg = 0x000459ea ); +PROVIDE ( mbedtls_cipher_free = 0x000460a2 ); +PROVIDE ( mbedtls_memory_buffer_alloc_free = 0x000413a0 ); +PROVIDE ( mbedtls_curve25519_verify = 0x00038e20 ); +PROVIDE ( iot_sprintf = 0x000323f2 ); +PROVIDE ( mbedtls_pk_parse_key = 0x0004519e ); +PROVIDE ( mbedtls_oid_get_numeric_string = 0x00045d30 ); +PROVIDE ( crypto_core_hchacha20_constbytes = 0x00051b2a ); +PROVIDE ( mbedtls_hmac_drbg_reseed = 0x0003de10 ); +PROVIDE ( mbedtls_rsa_rsaes_pkcs1_v15_decrypt = 0x0004740c ); +PROVIDE ( mbedtls_pk_free = 0x0003d894 ); +PROVIDE ( mbedtls_pk_get_name = 0x0003dca4 ); +PROVIDE ( mbedtls_mpi_add_mpi = 0x0003f2ba ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_0 = 0x00039c2c ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_frombytes_negate_vartime = 0x00039c8c ); +PROVIDE ( mbedtls_sha512 = 0x0004f758 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_sub = 0x000397e4 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_nsecbytes = 0x0004ff42 ); +PROVIDE ( mbedtls_md5_process = 0x0004992e ); +PROVIDE ( mbedtls_asn1_write_bool = 0x0004a9ca ); +PROVIDE ( mbedtls_hmac_drbg_set_entropy_len = 0x0003df70 ); +PROVIDE ( mbedtls_hmac_drbg_set_prediction_resistance = 0x0003df62 ); +PROVIDE ( mbedtls_oid_get_oid_by_pk_alg = 0x00045a7c ); +PROVIDE ( mbedtls_pk_decrypt = 0x0003dac2 ); +PROVIDE ( mbedtls_gcm_setkey = 0x0003b798 ); +PROVIDE ( mbedtls_ecp_gen_keypair = 0x0004ded4 ); +PROVIDE ( mbedtls_asn1_write_mpi = 0x0004a7aa ); +PROVIDE ( mbedtls_mpi_sub_mpi = 0x0003f320 ); +PROVIDE ( crypto_core_hchacha20 = 0x0005175e ); +PROVIDE ( mbedtls_md_get_name = 0x00045932 ); +PROVIDE ( mbedtls_rsa_rsassa_pss_verify_ext = 0x000479a4 ); +PROVIDE ( mbedtls_dhm_calc_secret = 0x0003c85e ); +PROVIDE ( mbedtls_ctr_drbg_seed = 0x00040ea8 ); +PROVIDE ( mbedtls_ecdh_get_params = 0x0004af4a ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_nsecbytes = 0x0005021c ); +PROVIDE ( mbedtls_asn1_get_bitstring = 0x000415ce ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_add = 0x00038f9a ); +PROVIDE ( mbedtls_asn1_store_named_data = 0x0004ac6c ); +PROVIDE ( mbedtls_ecies_write_version = 0x0003c1bc ); +PROVIDE ( mbedtls_oid_get_oid_by_md = 0x00045c14 ); +PROVIDE ( mbedtls_gcm_starts = 0x0003b984 ); +PROVIDE ( mbedtls_rsa_pkcs1_encrypt = 0x000471ce ); +PROVIDE ( mbedtls_rsa_rsassa_pkcs1_v15_sign = 0x0004777e ); +PROVIDE ( mbedtls_ecp_point_read_binary = 0x0004d2a2 ); +PROVIDE ( crypto_aead_chacha20poly1305_encrypt_detached = 0x0004f7d2 ); +PROVIDE ( crypto_aead_chacha20poly1305_decrypt_detached = 0x0004fb7e ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_encrypt = 0x0004fb06 ); +PROVIDE ( mbedtls_asn1_write_printable_string = 0x0004aac2 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_keygen = 0x00050238 ); +PROVIDE ( mbedtls_ctr_drbg_reseed = 0x00040d6e ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_keygen = 0x0004ff5e ); +PROVIDE ( mbedtls_ecies_read_content_info = 0x0003c0a2 ); +PROVIDE ( mbedtls_mpi_lset = 0x0003eb9a ); +PROVIDE ( mbedtls_md5_free = 0x000498bc ); +PROVIDE ( mbedtls_fast_ec_sign = 0x000496ac ); +PROVIDE ( mbedtls_cipher_write_tag = 0x00046606 ); +PROVIDE ( mbedtls_platform_set_fprintf = 0x0004e316 ); +PROVIDE ( mbedtls_ecp_point_read_string = 0x0004d176 ); +PROVIDE ( mbedtls_ecies_read_envelope = 0x0003beca ); +PROVIDE ( mbedtls_rsa_public = 0x00046c1c ); +PROVIDE ( mbedtls_ecdsa_from_keypair = 0x0004b6fe ); +PROVIDE ( mbedtls_ecp_gen_key = 0x0004deee ); +PROVIDE ( mbedtls_pk_verify_ext = 0x0003db92 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p1p1_to_p3 = 0x000393e4 ); +PROVIDE ( mbedtls_mpi_div_int = 0x0003f9ae ); +PROVIDE ( mbedtls_fast_ec_init = 0x00049516 ); +PROVIDE ( romConfigPin = 0x00030362 ); +PROVIDE ( mbedtls_cipher_setkey = 0x000460d8 ); +PROVIDE ( crypto_stream_chacha20_keybytes = 0x00050b46 ); +PROVIDE ( sha256_process = 0x0003101e ); +PROVIDE ( mbedtls_sha512_process = 0x0004f71c ); +PROVIDE ( mbedtls_pk_get_bitlen = 0x0003db72 ); +PROVIDE ( mbedtls_mpi_mul_int = 0x0003f406 ); +PROVIDE ( mbedtls_mpi_exp_mod = 0x0003fc8a ); +PROVIDE ( mbedtls_mpi_safe_cond_assign = 0x0003ea50 ); +PROVIDE ( mbedtls_aes_setkey_enc = 0x0004f5c0 ); +PROVIDE ( mbedtls_ecies_read_version = 0x0003beee ); +PROVIDE ( mbedtls_cipher_update = 0x000461e0 ); +PROVIDE ( mbedtls_hardclock_poll = 0x0004ba2e ); +PROVIDE ( mbedtls_ecp_curve_list = 0x0004c46a ); +PROVIDE ( mbedtls_kdf_get_type = 0x0004f4f2 ); +PROVIDE ( mbedtls_md_init = 0x000454d8 ); +PROVIDE ( mbedtls_dhm_make_params = 0x0003c5fa ); +PROVIDE ( mbedtls_oid_get_pkcs12_pbe_alg = 0x00045c44 ); +PROVIDE ( crypto_sign_ed25519_ref10_sc_muladd = 0x00033b8a ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_dbl = 0x0003832a ); +PROVIDE ( mbedtls_ecp_gen_keypair_base = 0x0004ddb8 ); +PROVIDE ( mbedtls_mpi_cmp_abs = 0x0003ef9e ); +PROVIDE ( mbedtls_pk_verify = 0x0003d9c2 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_copy = 0x00039dfa ); +PROVIDE ( mbedtls_rsa_check_pub_priv = 0x00046bd0 ); +PROVIDE ( format_str = 0x0003239c ); +PROVIDE ( mbedtls_entropy_free = 0x0003d708 ); +PROVIDE ( mbedtls_asn1_write_bitstring = 0x0004ab72 ); +PROVIDE ( mbedtls_fast_ec_free = 0x00049596 ); +PROVIDE ( crypto_stream_chacha20_ietf_keybytes = 0x00050b64 ); +PROVIDE ( mbedtls_ecp_point_free = 0x0004c5b4 ); +PROVIDE ( mbedtls_sha512_update = 0x0004f730 ); +PROVIDE ( mbedtls_platform_set_exit = 0x0004e32c ); +PROVIDE ( mbedtls_cipher_setup = 0x000465aa ); +PROVIDE ( mbedtls_mpi_cmp_int = 0x0003f0ba ); +PROVIDE ( mbedtls_ecp_check_pubkey = 0x0004d48c ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_madd = 0x00033a8e ); +PROVIDE ( mbedtls_entropy_init = 0x0003d678 ); +PROVIDE ( mbedtls_memory_buffer_alloc_init = 0x00041312 ); +PROVIDE ( mbedtls_pk_write_key_pkcs8_der = 0x00041bc0 ); +PROVIDE ( mbedtls_mpi_mod_int = 0x0003f9ee ); +PROVIDE ( mbedtls_oid_get_oid_by_cipher_alg = 0x00045b8c ); +PROVIDE ( mbedtls_fast_ec_get_key_bitlen = 0x00049858 ); +PROVIDE ( crypto_aead_chacha20poly1305_abytes = 0x0004ff9c ); +PROVIDE ( mbedtls_ecies_encrypt = 0x0003e0a6 ); +PROVIDE ( mbedtls_ecdh_read_params = 0x0004aefe ); +PROVIDE ( mbedtls_oid_get_cipher_alg = 0x00045b34 ); +PROVIDE ( mbedtls_rsa_rsassa_pss_sign = 0x000475b6 ); +PROVIDE ( mbedtls_mpi_copy = 0x0003e996 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_sq2 = 0x00036b82 ); +PROVIDE ( _crypto_stream_chacha20_pick_best_implementation = 0x00050c3c ); +PROVIDE ( mbedtls_ed25519_get_pubkey = 0x00038770 ); +PROVIDE ( mbedtls_ecdsa_init = 0x0004b74e ); +PROVIDE ( mbedtls_curve25519_key_exchange = 0x00038a70 ); +PROVIDE ( mbedtls_sha1_update = 0x00043afc ); +PROVIDE ( mbedtls_mpi_swap = 0x0003ea12 ); +PROVIDE ( mbedtls_ecdh_read_public = 0x0004b032 ); +PROVIDE ( mbedtls_ed25519_key_to_curve25519 = 0x0003883e ); +PROVIDE ( mbedtls_dhm_read_public = 0x0003c748 ); +PROVIDE ( crypto_verify_16 = 0x00051652 ); +PROVIDE ( crypto_stream_chacha20_ietf = 0x00050b9a ); +PROVIDE ( mbedtls_asn1_write_len = 0x0004a600 ); +PROVIDE ( mbedtls_md_hmac_update = 0x00045778 ); +PROVIDE ( mbedtls_ecp_tls_read_group = 0x0004d3c0 ); +PROVIDE ( mbedtls_mpi_shift_l = 0x0003ee3c ); +PROVIDE ( mbedtls_mpi_cmp_mpi = 0x0003f01c ); +PROVIDE ( mbedtls_gcm_finish = 0x0003bc38 ); +PROVIDE ( mbedtls_ecp_group_load = 0x000490e2 ); +PROVIDE ( crypto_stream_chacha20_noncebytes = 0x00050b56 ); +PROVIDE ( mbedtls_asn1_write_oid = 0x0004a898 ); +PROVIDE ( mbedtls_ecp_point_write_binary = 0x0004d1c2 ); +PROVIDE ( mbedtls_ctr_drbg_set_reseed_interval = 0x00040d28 ); +PROVIDE ( mbedtls_dhm_parse_dhm = 0x0003cae0 ); +PROVIDE ( mbedtls_oid_get_sig_alg = 0x000459b4 ); +PROVIDE ( mbedtls_rsa_pkcs1_verify = 0x00047dce ); +PROVIDE ( mbedtls_mpi_add_abs = 0x0003f0fa ); +PROVIDE ( mbedtls_ecdh_make_params = 0x0004ae6c ); +PROVIDE ( mbedtls_entropy_gather = 0x0003d774 ); +PROVIDE ( mbedtls_ecdh_compute_shared = 0x0004ad70 ); +PROVIDE ( mbedtls_ecdsa_genkey = 0x0004b6ba ); +PROVIDE ( mbedtls_fast_ec_verify = 0x00049702 ); +PROVIDE ( mbedtls_mpi_mod_mpi = 0x0004f570 ); +PROVIDE ( mbedtls_md_process = 0x000458e2 ); +PROVIDE ( crypto_stream_chacha20_xor_ic = 0x00050bb2 ); +PROVIDE ( mbedtls_md_setup = 0x00045576 ); +PROVIDE ( crypto_aead_chacha20poly1305_npubbytes = 0x0004ff80 ); +PROVIDE ( mbedtls_fast_ec_compute_shared = 0x00049754 ); +PROVIDE ( mbedtls_ecdsa_write_signature = 0x0004b4f6 ); +PROVIDE ( crypto_aead_chacha20poly1305_keygen = 0x0004ffaa ); +PROVIDE ( crypto_onetimeauth_poly1305_keybytes = 0x000502d0 ); +PROVIDE ( mbedtls_platform_set_calloc_free = 0x0004e2cc ); +PROVIDE ( mbedtls_pk_parse_subpubkey = 0x00044f8c ); +PROVIDE ( mbedtls_cipher_check_tag = 0x0004663e ); +PROVIDE ( mbedtls_hmac_drbg_free = 0x0003e078 ); +PROVIDE ( crypto_stream_chacha20_ietf_xor_ic = 0x00050bca ); +PROVIDE ( mbedtls_cipher_crypt = 0x000466bc ); +PROVIDE ( mbedtls_pk_encrypt = 0x0003daf6 ); +PROVIDE ( mbedtls_mpi_gcd = 0x0004012a ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_precomp_0 = 0x00032532 ); +PROVIDE ( mbedtls_md_finish = 0x00045636 ); +PROVIDE ( iot_snprintf = 0x000324c4 ); +PROVIDE ( mbedtls_sha256_clone = 0x0004f64c ); +PROVIDE ( mbedtls_ecp_mul = 0x0004d6b0 ); +PROVIDE ( mbedtls_hmac_drbg_update = 0x0003dcf0 ); +PROVIDE ( mbedtls_md_list = 0x000453d0 ); +PROVIDE ( mbedtls_pk_sign = 0x0003da3a ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_cswap = 0x00037f2a ); +PROVIDE ( crypto_verify_16_bytes = 0x00051682 ); +PROVIDE ( crypto_sign_ed25519_ref10_sc_reduce = 0x00039e94 ); +PROVIDE ( mbedtls_rsa_private = 0x00046cb8 ); +PROVIDE ( mbedtls_md5_starts = 0x000498f2 ); +PROVIDE ( mbedtls_ecdh_make_public = 0x0004afbc ); +PROVIDE ( crypto_core_hchacha20_inputbytes = 0x00051b0c ); +PROVIDE ( mbedtls_md_get_type = 0x0004591e ); +PROVIDE ( mbedtls_kdf_get_name = 0x0004f4de ); +PROVIDE ( sha256_free = 0x00030f9c ); +PROVIDE ( mbedtls_oid_get_sig_alg_desc = 0x0004598a ); +PROVIDE ( mbedtls_gcm_crypt_and_tag = 0x0003bd72 ); +PROVIDE ( mbedtls_sha256_free = 0x0004f638 ); +PROVIDE ( mbedtls_version_get_number = 0x0003be8a ); +PROVIDE ( mbedtls_ecies_write_content_info = 0x0003c376 ); +PROVIDE ( mbedtls_gcm_auth_decrypt = 0x0003bde4 ); +PROVIDE ( crypto_onetimeauth_poly1305_init = 0x0005027a ); +PROVIDE ( mbedtls_ecp_keypair_init = 0x0004c588 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_neg = 0x00039440 ); +PROVIDE ( mbedtls_md_hmac_finish = 0x000457a2 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_tobytes = 0x000380e4 ); +PROVIDE ( mbedtls_aes_init = 0x0004f598 ); +PROVIDE ( crypto_stream_chacha20_ietf_noncebytes = 0x00050b74 ); +PROVIDE ( mbedtls_cipher_init = 0x0004608e ); +PROVIDE ( crypto_verify_32 = 0x00051690 ); +PROVIDE ( mbedtls_pk_info_from_type = 0x0003d8c8 ); +PROVIDE ( mbedtls_sha256_process = 0x0004f678 ); +PROVIDE ( mbedtls_rsa_set_padding = 0x000468b2 ); +PROVIDE ( mbedtls_md5_init = 0x000498a8 ); +PROVIDE ( mbedtls_cipher_info_from_type = 0x00045ff4 ); +PROVIDE ( mbedtls_fast_ec_get_sig_len = 0x00049880 ); +PROVIDE ( mbedtls_cipher_list = 0x00045fae ); +PROVIDE ( mbedtls_md5_clone = 0x000498da ); +PROVIDE ( mbedtls_md_init_ctx = 0x000455da ); +PROVIDE ( mbedtls_md_info_from_string = 0x000453e4 ); +PROVIDE ( mbedtls_sha512_finish = 0x0004f744 ); +PROVIDE ( mbedtls_asn1_find_named_data = 0x000418be ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_npubbytes = 0x0005020e ); +PROVIDE ( mbedtls_platform_set_snprintf = 0x0004e2ea ); +PROVIDE ( mbedtls_mpi_add_int = 0x0003f386 ); +PROVIDE ( crypto_stream_chacha20_ietf_xor = 0x00050c00 ); +PROVIDE ( mbedtls_asn1_free_named_data_list = 0x00041880 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_encrypt_detached = 0x0004f98c ); +PROVIDE ( mbedtls_pk_debug = 0x0003dc74 ); +PROVIDE ( mbedtls_fast_ec_gen_key = 0x0004965c ); +PROVIDE ( mbedtls_entropy_update_manual = 0x0003d760 ); +PROVIDE ( sha256_update = 0x000312ca ); +PROVIDE ( mbedtls_ecp_is_zero = 0x0004d116 ); +PROVIDE ( mbedtls_ecdh_free = 0x0004ae18 ); +PROVIDE ( crypto_onetimeauth_poly1305 = 0x0005024a ); +PROVIDE ( mbedtls_oid_get_pk_alg = 0x00045a24 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_decrypt_detached = 0x000500e2 ); +PROVIDE ( mbedtls_ecp_tls_write_group = 0x0004d42a ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_isnegative = 0x00039dda ); +PROVIDE ( mbedtls_pk_write_key_der = 0x000420e4 ); +PROVIDE ( mbedtls_mpi_inv_mod = 0x00040562 ); +PROVIDE ( crypto_verify_64_bytes = 0x00051700 ); +PROVIDE ( mbedtls_hmac_drbg_seed = 0x0003dec4 ); +PROVIDE ( mbedtls_sha1_clone = 0x000423e4 ); +PROVIDE ( mbedtls_ecp_tls_write_point = 0x0004d384 ); +PROVIDE ( mbedtls_mpi_div_mpi = 0x0003f5a8 ); +PROVIDE ( mbedtls_mpi_size = 0x0003ed30 ); +PROVIDE ( mbedtls_cipher_update_ad = 0x000461a6 ); +PROVIDE ( mbedtls_aes_crypt_ecb = 0x0004f5e8 ); +PROVIDE ( mbedtls_sha1_free = 0x000423c6 ); +PROVIDE ( mbedtls_aes_crypt_ctr = 0x0004f610 ); +PROVIDE ( mbedtls_asn1_get_mpi = 0x00041590 ); +PROVIDE ( mbedtls_mpi_set_bit = 0x0003ec14 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_keybytes = 0x0004ff24 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_cmov = 0x00037332 ); +PROVIDE ( iot_vsnprintf = 0x00032482 ); +PROVIDE ( crypto_onetimeauth_poly1305_bytes = 0x000502c2 ); +PROVIDE ( mbedtls_asn1_write_raw_buffer = 0x0004a768 ); +PROVIDE ( mbedtls_mpi_is_prime = 0x0004089a ); +PROVIDE ( mbedtls_ecp_curve_info_from_tls_id = 0x0004c4f6 ); +PROVIDE ( mbedtls_rsa_rsassa_pkcs1_v15_verify = 0x00047bfa ); +PROVIDE ( mbedtls_sha1 = 0x00043c40 ); +PROVIDE ( mbedtls_curve25519_get_pubkey = 0x00038a08 ); +PROVIDE ( mbedtls_ecdsa_read_signature = 0x0004b5f0 ); +PROVIDE ( mbedtls_asn1_get_sequence_of = 0x00041680 ); +PROVIDE ( mbedtls_pkcs12_pbe_sha1_rc4_128 = 0x0003cbd6 ); +PROVIDE ( crypto_stream_chacha20 = 0x00050b82 ); +PROVIDE ( mbedtls_pkcs12_pbe_ext = 0x0003ce82 ); +PROVIDE ( mbedtls_gcm_update = 0x0003bafa ); +PROVIDE ( mpi_montmul = 0x0004f584 ); +PROVIDE ( mbedtls_ecp_tls_read_point = 0x0004d346 ); +PROVIDE ( mbedtls_oid_get_ec_grp = 0x00045aac ); +PROVIDE ( mbedtls_fast_ec_check_pub_priv = 0x00049796 ); +PROVIDE ( mbedtls_md_clone = 0x00045544 ); +PROVIDE ( mbedtls_gcm_free = 0x0003be60 ); +PROVIDE ( mbedtls_ecp_group_init = 0x0004c56c ); +PROVIDE ( mbedtls_ecp_grp_id_list = 0x0004c47e ); +PROVIDE ( mbedtls_md_hmac_reset = 0x00045812 ); +PROVIDE ( mbedtls_sha512_init = 0x0004f6c8 ); +PROVIDE ( mbedtls_ecies_write_envelope = 0x0003c16e ); +PROVIDE ( mbedtls_sha512_starts = 0x0004f708 ); +PROVIDE ( mbedtls_md_update = 0x00045610 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_npubbytes = 0x0004ff34 ); +PROVIDE ( crypto_aead_chacha20poly1305_ietf_decrypt = 0x0004feb6 ); +PROVIDE ( mbedtls_md_get_size = 0x00045908 ); +PROVIDE ( crypto_onetimeauth_poly1305_final = 0x000502aa ); +PROVIDE ( format_str_v = 0x00031afe ); +PROVIDE ( sodium_memzero = 0x0004f780 ); +PROVIDE ( mbedtls_md5_finish = 0x0004a4a2 ); +PROVIDE ( mbedtls_mpi_free = 0x0003e836 ); +PROVIDE ( crypto_verify_32_bytes = 0x000516c0 ); +PROVIDE ( mbedtls_md_hmac = 0x0004585c ); +PROVIDE ( mbedtls_asn1_write_null = 0x0004a858 ); +PROVIDE ( crypto_aead_xchacha20poly1305_ietf_keybytes = 0x000501fe ); +PROVIDE ( mbedtls_fast_ec_setup = 0x00049528 ); +PROVIDE ( mbedtls_pk_parse_public_key = 0x000453b0 ); +PROVIDE ( mbedtls_hmac_drbg_random = 0x0003e066 ); +PROVIDE ( mbedtls_ecdh_calc_secret = 0x0004b078 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_double_scalarmult_vartime = 0x0003997e ); +PROVIDE ( mbedtls_pk_setup_rsa_alt = 0x0003d932 ); +PROVIDE ( mbedtls_dhm_init = 0x0003c570 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_mul121666 = 0x000375a4 ); +PROVIDE ( mbedtls_aes_crypt_cbc = 0x0004f5fc ); +PROVIDE ( mbedtls_hmac_drbg_init = 0x0003dcdc ); +PROVIDE ( mbedtls_hmac_drbg_set_reseed_interval = 0x0003df7e ); +PROVIDE ( mbedtls_pk_write_pubkey_der = 0x00041a82 ); +PROVIDE ( mbedtls_mpi_safe_cond_swap = 0x0003eae6 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_sub = 0x000392a4 ); +PROVIDE ( mbedtls_oid_get_oid_by_ec_grp = 0x00045b04 ); +PROVIDE ( mbedtls_cipher_finish = 0x0004643c ); +PROVIDE ( mbedtls_md_hmac_starts = 0x00045684 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p1p1_to_p2 = 0x000327fc ); +PROVIDE ( mbedtls_fast_ec_get_key_len = 0x0004986c ); +PROVIDE ( crypto_onetimeauth_poly1305_keygen = 0x000502f0 ); +PROVIDE ( mbedtls_cipher_set_padding_mode = 0x0004656c ); +PROVIDE ( mbedtls_rsa_init = 0x00046884 ); +PROVIDE ( mbedtls_rsa_pkcs1_sign = 0x00047974 ); +PROVIDE ( mbedtls_pk_setup = 0x0003d8f0 ); +PROVIDE ( mbedtls_pk_init = 0x0003d87e ); +PROVIDE ( mbedtls_mpi_sub_abs = 0x0003f1d6 ); +PROVIDE ( mbedtls_mpi_fill_random = 0x00040288 ); +PROVIDE ( mbedtls_entropy_func = 0x0003d792 ); +PROVIDE ( mbedtls_md_info_from_type = 0x000454b0 ); +PROVIDE ( mbedtls_entropy_add_source = 0x0003d724 ); +PROVIDE ( mbedtls_md_free = 0x000454ea ); +PROVIDE ( mbedtls_mpi_write_string = 0x0003fac4 ); +PROVIDE ( mbedtls_rsa_gen_key = 0x00047e7a ); +PROVIDE ( mbedtls_version_get_string = 0x0003be9a ); +PROVIDE ( mbedtls_asn1_free_named_data = 0x0004183e ); +PROVIDE ( mbedtls_oid_get_kdf_alg = 0x00045ca8 ); +PROVIDE ( mbedtls_ecp_check_privkey = 0x0004d63e ); +PROVIDE ( mbedtls_memory_buffer_set_verify = 0x000412f0 ); +PROVIDE ( mbedtls_cipher_set_iv = 0x00046126 ); +PROVIDE ( mbedtls_pk_check_pair = 0x0003db2a ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_msub = 0x00037436 ); +PROVIDE ( mbedtls_ecies_read_kdf = 0x0003bf18 ); +PROVIDE ( mbedtls_asn1_write_algorithm_identifier = 0x0004a8f0 ); +PROVIDE ( mbedtls_ecies_info_from_type = 0x0003d55e ); +PROVIDE ( crypto_aead_chacha20poly1305_encrypt = 0x0004f914 ); +PROVIDE ( mbedtls_memory_buffer_alloc_verify = 0x00041304 ); +PROVIDE ( mbedtls_md5 = 0x0004a5ae ); +PROVIDE ( crypto_stream_chacha20_ref_implementation = 0x0ffd8514 ); diff --git a/startup/ldscripts/riscv2/sp.addrs.ld b/startup/ldscripts/riscv2/sp.addrs.ld new file mode 100644 index 0000000..1188e55 --- /dev/null +++ b/startup/ldscripts/riscv2/sp.addrs.ld @@ -0,0 +1,3 @@ +PROVIDE ( _gp = 0x00fc0d20 ); +PROVIDE ( g_phy_cpu_share_ctxt = 0x00fc611c ); +PROVIDE ( g_cpu1_state = 0x00fc60e4 ); diff --git a/startup/ldscripts/riscv2/sp_sta.addrs.ld b/startup/ldscripts/riscv2/sp_sta.addrs.ld new file mode 100644 index 0000000..e69de29 diff --git a/startup/ldscripts/riscv3/rom.addrs.ld b/startup/ldscripts/riscv3/rom.addrs.ld new file mode 100644 index 0000000..7994aa4 --- /dev/null +++ b/startup/ldscripts/riscv3/rom.addrs.ld @@ -0,0 +1,441 @@ +PROVIDE ( _gp = 0x10000d40 ); +PROVIDE ( iot_indir_tbl = 0x10000698 ); +PROVIDE ( log_ctxt = 0x100005a4 ); +PROVIDE ( rom_log_ctxt = 0x100005a4 ); +PROVIDE ( memset = 0x00044722 ); +PROVIDE ( memcpy = 0x00044664 ); +PROVIDE ( memcmp = 0x0004652c ); +PROVIDE ( iot_sprintf = 0x0004455e ); +PROVIDE ( iot_printf = 0x00044616 ); +PROVIDE ( rom_format_str_v = 0x00043ce2 ); +PROVIDE ( mbedtls_rsa_rsaes_oaep_encrypt = 0x00032f62 ); +PROVIDE ( mbedtls_cipher_reset = 0x0003a3ca ); +PROVIDE ( mbedtls_fast_ec_get_name = 0x0002e1de ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_sq = 0x00028652 ); +PROVIDE ( mbedtls_ctr_drbg_init = 0x00031164 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_tobytes = 0x00029c64 ); +PROVIDE ( strcpy = 0x00044652 ); +PROVIDE ( mbedtls_pkcs12_derivation = 0x0002da4e ); +PROVIDE ( mbedtls_ctr_drbg_set_prediction_resistance = 0x0003119a ); +PROVIDE ( mbedtls_mpi_grow = 0x0002f222 ); +PROVIDE ( mbedtls_md_starts = 0x000379f0 ); +PROVIDE ( mbedtls_asn1_get_bitstring_null = 0x00031d36 ); +PROVIDE ( mbedtls_ecp_point_init = 0x000411f8 ); +PROVIDE ( mbedtls_oid_get_oid_by_kdf_alg = 0x000380e6 ); +PROVIDE ( mbedtls_fast_ec_get_shared_len = 0x0002e206 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p2_dbl = 0x000285d4 ); +PROVIDE ( mbedtls_rsa_free = 0x00033cfc ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_invert = 0x0002932e ); +PROVIDE ( mbedtls_hardware_poll = 0x00043c58 ); +PROVIDE ( mbedtls_asn1_write_tag = 0x0003dfc6 ); +PROVIDE ( mbedtls_ctr_drbg_update = 0x000311a6 ); +PROVIDE ( mbedtls_ecdh_init = 0x0003e602 ); +PROVIDE ( mbedtls_gcm_init = 0x0003d69e ); +PROVIDE ( mbedtls_asn1_get_len = 0x00031b10 ); +PROVIDE ( mbedtls_ecp_point_cmp = 0x00041c2c ); +PROVIDE ( mbedtls_dhm_read_params = 0x0002d3fe ); +PROVIDE ( mbedtls_strerror = 0x0003a97c ); +PROVIDE ( mbedtls_mpi_write_binary = 0x0002f704 ); +PROVIDE ( mbedtls_ecp_keypair_free = 0x000412c0 ); +PROVIDE ( mbedtls_ecp_muladd = 0x00042694 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_1 = 0x000285aa ); +PROVIDE ( mbedtls_ed25519_pubkey_to_curve25519 = 0x0002970a ); +PROVIDE ( mbedtls_ed25519_verify = 0x000298a2 ); +PROVIDE ( mbedtls_asn1_get_alg = 0x00031e14 ); +PROVIDE ( mbedtls_ecdsa_sign = 0x0003e91e ); +PROVIDE ( mbedtls_mpi_sub_int = 0x0002fc60 ); +PROVIDE ( mbedtls_kdf2 = 0x000381da ); +PROVIDE ( mbedtls_asn1_write_ia5_string = 0x0003e358 ); +PROVIDE ( memmove = 0x0004654e ); +PROVIDE ( mbedtls_asn1_get_bool = 0x00031c0c ); +PROVIDE ( mbedtls_ecies_write_hmac = 0x0002d16a ); +PROVIDE ( mbedtls_version_check_feature = 0x0003a1e4 ); +PROVIDE ( mbedtls_aes_free = 0x00043b6c ); +PROVIDE ( mbedtls_sha256_init = 0x00043ba8 ); +PROVIDE ( mbedtls_dhm_make_public = 0x0002d5e2 ); +PROVIDE ( mbedtls_kdf_info_from_type = 0x0002bf80 ); +PROVIDE ( mbedtls_ecp_copy = 0x000412e6 ); +PROVIDE ( mbedtls_hmac_drbg_seed_buf = 0x0002e8be ); +PROVIDE ( mbedtls_mpi_shrink = 0x0002f29c ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_to_cached = 0x00029cb4 ); +PROVIDE ( mbedtls_fast_ec_info_from_type = 0x0002df00 ); +PROVIDE ( mbedtls_cipher_auth_encrypt = 0x0003a8f2 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_tobytes = 0x00029088 ); +PROVIDE ( mbedtls_kdf_info_from_string = 0x0002bf52 ); +PROVIDE ( mbedtls_sha1_finish = 0x00035f3c ); +PROVIDE ( mbedtls_rsa_rsaes_oaep_decrypt = 0x00033210 ); +PROVIDE ( mbedtls_rsa_pkcs1_decrypt = 0x00033556 ); +PROVIDE ( mbedtls_pk_can_do = 0x000314cc ); +PROVIDE ( mbedtls_sha256 = 0x00043bf6 ); +PROVIDE ( mbedtls_rsa_rsassa_pss_verify = 0x00033b2c ); +PROVIDE ( mbedtls_rsa_check_privkey = 0x00032a6a ); +PROVIDE ( mbedtls_pk_get_type = 0x00031754 ); +PROVIDE ( mbedtls_mpi_read_string = 0x0002fca6 ); +PROVIDE ( mbedtls_ctr_drbg_free = 0x0003116e ); +PROVIDE ( mbedtls_ctr_drbg_random_with_add = 0x000312e8 ); +PROVIDE ( mbedtls_asn1_write_octet_string = 0x0003e44a ); +PROVIDE ( mbedtls_curve25519_sign = 0x00029aa0 ); +PROVIDE ( mbedtls_md = 0x00037a50 ); +PROVIDE ( mbedtls_ecp_group_copy = 0x00041324 ); +PROVIDE ( iot_printf = 0x00044616 ); +PROVIDE ( mbedtls_ecdh_gen_public = 0x0003e586 ); +PROVIDE ( mbedtls_asn1_get_tag = 0x00031be6 ); +PROVIDE ( mbedtls_ecdsa_verify = 0x0003eaca ); +PROVIDE ( mbedtls_ctr_drbg_set_entropy_len = 0x0003119e ); +PROVIDE ( mbedtls_fast_ec_compute_pub = 0x0002e05e ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_pow22523 = 0x00029e40 ); +PROVIDE ( mbedtls_sha256_finish = 0x00043bec ); +PROVIDE ( mbedtls_mpi_shift_r = 0x0002f81c ); +PROVIDE ( mbedtls_sha512_clone = 0x00043c14 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p2_0 = 0x0002a52c ); +PROVIDE ( mbedtls_ctr_drbg_random = 0x000313cc ); +PROVIDE ( mbedtls_ed25519_sign = 0x00029786 ); +PROVIDE ( mbedtls_pk_write_pubkey = 0x00032020 ); +PROVIDE ( mbedtls_mpi_gen_prime = 0x00030e18 ); +PROVIDE ( mbedtls_ecp_curve_info_from_grp_id = 0x0004118e ); +PROVIDE ( mbedtls_asn1_write_algorithm_identifier_no_params = 0x0003e1c6 ); +PROVIDE ( mbedtls_mpi_get_bit = 0x0002f54a ); +PROVIDE ( mbedtls_ecies_decrypt = 0x0002eeaa ); +PROVIDE ( mbedtls_mpi_read_binary = 0x0002f67e ); +PROVIDE ( mbedtls_asn1_write_int = 0x0003e278 ); +PROVIDE ( mbedtls_sha1_init = 0x00034830 ); +PROVIDE ( mbedtls_cipher_info_from_values = 0x0003a2d0 ); +PROVIDE ( mbedtls_asn1_get_int = 0x00031c4a ); +PROVIDE ( mbedtls_ctr_drbg_seed_entropy_len = 0x00031276 ); +PROVIDE ( mbedtls_fast_ec_copy = 0x0002dff0 ); +PROVIDE ( mbedtls_ecies_write_kdf = 0x0002d0ce ); +PROVIDE ( memcpy = 0x00044664 ); +PROVIDE ( mbedtls_sha1_starts = 0x00034860 ); +PROVIDE ( mbedtls_sha1_process = 0x0003489c ); +PROVIDE ( mbedtls_cipher_info_from_string = 0x0003a298 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_scalarmult_base = 0x000241a8 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_frombytes = 0x0002a1ba ); +PROVIDE ( mbedtls_hmac_drbg_random_with_add = 0x0002ea62 ); +PROVIDE ( mbedtls_fast_ec_get_type = 0x0002e1d4 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_isnonzero = 0x00029d6c ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_mul = 0x00026e74 ); +PROVIDE ( mbedtls_platform_set_printf = 0x00042af8 ); +PROVIDE ( mbedtls_ecp_curve_info_from_name = 0x000411c6 ); +PROVIDE ( mbedtls_aes_setkey_dec = 0x00043b80 ); +PROVIDE ( mbedtls_ecp_group_free = 0x0004123c ); +PROVIDE ( mbedtls_kdf_list = 0x0002bf48 ); +PROVIDE ( mbedtls_rsa_copy = 0x00033f26 ); +PROVIDE ( mbedtls_version_get_string_full = 0x000360b4 ); +PROVIDE ( mbedtls_rsa_rsaes_pkcs1_v15_encrypt = 0x000330b0 ); +PROVIDE ( mbedtls_ecies_read_hmac = 0x0002cf32 ); +PROVIDE ( mbedtls_asn1_get_alg_null = 0x00031ed2 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_add = 0x0002a012 ); +PROVIDE ( mbedtls_sha256_starts = 0x00043bce ); +PROVIDE ( mbedtls_sha256_update = 0x00043be2 ); +PROVIDE ( mbedtls_mpi_bitlen = 0x0002f61e ); +PROVIDE ( mbedtls_ecdsa_free = 0x0003ee0a ); +PROVIDE ( mbedtls_rsa_check_pubkey = 0x000329f6 ); +PROVIDE ( mbedtls_sha512_free = 0x00043c0a ); +PROVIDE ( mbedtls_md5_update = 0x0002ccd4 ); +PROVIDE ( mbedtls_oid_get_md_alg = 0x00037fca ); +PROVIDE ( mbedtls_ecp_check_pub_priv = 0x0004286c ); +PROVIDE ( mbedtls_mpi_mul_mpi = 0x00043b44 ); +PROVIDE ( mbedtls_kdf = 0x0002bfa8 ); +PROVIDE ( mbedtls_ecp_set_zero = 0x0004132a ); +PROVIDE ( mbedtls_dhm_free = 0x0002d8b8 ); +PROVIDE ( mbedtls_cipher_auth_decrypt = 0x0003a92e ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_0 = 0x0002a88e ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_to_p2 = 0x000283e0 ); +PROVIDE ( mbedtls_mpi_init = 0x0002f1d0 ); +PROVIDE ( mbedtls_mpi_lsb = 0x0002f5de ); +PROVIDE ( mbedtls_pkcs12_pbe = 0x0002dee6 ); +PROVIDE ( mbedtls_oid_get_oid_by_sig_alg = 0x00037e3e ); +PROVIDE ( mbedtls_cipher_free = 0x0003a302 ); +PROVIDE ( mbedtls_memory_buffer_alloc_free = 0x00031af6 ); +PROVIDE ( mbedtls_curve25519_verify = 0x00029bd2 ); +PROVIDE ( iot_sprintf = 0x0004455e ); +PROVIDE ( mbedtls_pk_parse_key = 0x000372dc ); +PROVIDE ( mbedtls_oid_get_numeric_string = 0x0003810c ); +PROVIDE ( mbedtls_hmac_drbg_reseed = 0x0002e922 ); +PROVIDE ( mbedtls_rsa_rsaes_pkcs1_v15_decrypt = 0x000333fa ); +PROVIDE ( mbedtls_pk_free = 0x000313e0 ); +PROVIDE ( mbedtls_pk_get_name = 0x00031740 ); +PROVIDE ( mbedtls_mpi_add_mpi = 0x0002fb78 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_0 = 0x0002a0ba ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_frombytes_negate_vartime = 0x0002a8b8 ); +PROVIDE ( mbedtls_sha512 = 0x00043c4e ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_sub = 0x0002a47e ); +PROVIDE ( mbedtls_md5_process = 0x0002c03a ); +PROVIDE ( mbedtls_asn1_write_bool = 0x0003e21a ); +PROVIDE ( mbedtls_hmac_drbg_set_entropy_len = 0x0002ea5a ); +PROVIDE ( mbedtls_hmac_drbg_set_prediction_resistance = 0x0002ea56 ); +PROVIDE ( mbedtls_oid_get_oid_by_pk_alg = 0x00037ebc ); +PROVIDE ( mbedtls_pk_decrypt = 0x000315a6 ); +PROVIDE ( mbedtls_gcm_setkey = 0x0003d6a8 ); +PROVIDE ( mbedtls_ecp_gen_keypair = 0x00042824 ); +PROVIDE ( mbedtls_asn1_write_mpi = 0x0003e020 ); +PROVIDE ( mbedtls_mpi_sub_mpi = 0x0002fbd6 ); +PROVIDE ( mbedtls_md_get_name = 0x00037cc8 ); +PROVIDE ( mbedtls_rsa_rsassa_pss_verify_ext = 0x00033928 ); +PROVIDE ( mbedtls_dhm_calc_secret = 0x0002d6be ); +PROVIDE ( mbedtls_ctr_drbg_seed = 0x000312e0 ); +PROVIDE ( mbedtls_ecdh_get_params = 0x0003e71e ); +PROVIDE ( mbedtls_asn1_get_bitstring = 0x00031cd8 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_add = 0x00029d00 ); +PROVIDE ( mbedtls_asn1_store_named_data = 0x0003e49c ); +PROVIDE ( mbedtls_ecies_write_version = 0x0002d0b4 ); +PROVIDE ( mbedtls_oid_get_oid_by_md = 0x00038018 ); +PROVIDE ( mbedtls_gcm_starts = 0x0003d87c ); +PROVIDE ( mbedtls_rsa_pkcs1_encrypt = 0x000331dc ); +PROVIDE ( mbedtls_rsa_rsassa_pkcs1_v15_sign = 0x0003372e ); +PROVIDE ( mbedtls_ecp_point_read_binary = 0x00041d82 ); +PROVIDE ( mbedtls_asn1_write_printable_string = 0x0003e306 ); +PROVIDE ( mbedtls_ctr_drbg_reseed = 0x000311d4 ); +PROVIDE ( mbedtls_ecies_read_content_info = 0x0002cfb8 ); +PROVIDE ( mbedtls_mpi_lset = 0x0002f500 ); +PROVIDE ( mbedtls_md5_free = 0x0002bfe2 ); +PROVIDE ( mbedtls_fast_ec_sign = 0x0002e076 ); +PROVIDE ( mbedtls_cipher_write_tag = 0x0003a7f8 ); +PROVIDE ( mbedtls_platform_set_fprintf = 0x00042b04 ); +PROVIDE ( mbedtls_ecp_point_read_string = 0x00041c6a ); +PROVIDE ( mbedtls_ecies_read_envelope = 0x0002ce1e ); +PROVIDE ( mbedtls_rsa_public = 0x00032cbe ); +PROVIDE ( mbedtls_ecdsa_from_keypair = 0x0003edbc ); +PROVIDE ( mbedtls_ecp_gen_key = 0x00042834 ); +PROVIDE ( mbedtls_pk_verify_ext = 0x0003163e ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p1p1_to_p3 = 0x0002a0e4 ); +PROVIDE ( mbedtls_mpi_div_int = 0x00030144 ); +PROVIDE ( mbedtls_fast_ec_init = 0x0002df24 ); +PROVIDE ( mbedtls_cipher_setkey = 0x0003a332 ); +PROVIDE ( mbedtls_sha512_process = 0x00043c30 ); +PROVIDE ( mbedtls_pk_get_bitlen = 0x0003162c ); +PROVIDE ( mbedtls_mpi_mul_int = 0x0002fc8c ); +PROVIDE ( mbedtls_mpi_exp_mod = 0x000303b8 ); +PROVIDE ( mbedtls_mpi_safe_cond_assign = 0x0002f3d0 ); +PROVIDE ( mbedtls_aes_setkey_enc = 0x00043b76 ); +PROVIDE ( mbedtls_ecies_read_version = 0x0002ce3c ); +PROVIDE ( mbedtls_cipher_update = 0x0003a40c ); +PROVIDE ( mbedtls_hardclock_poll = 0x0004080c ); +PROVIDE ( mbedtls_ecp_curve_list = 0x0004113a ); +PROVIDE ( mbedtls_kdf_get_type = 0x0002bf9e ); +PROVIDE ( mbedtls_md_init = 0x0003790a ); +PROVIDE ( mbedtls_dhm_make_params = 0x0002d46c ); +PROVIDE ( mbedtls_oid_get_pkcs12_pbe_alg = 0x0003803e ); +PROVIDE ( crypto_sign_ed25519_ref10_sc_muladd = 0x00024344 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p3_dbl = 0x00029310 ); +PROVIDE ( mbedtls_ecp_gen_keypair_base = 0x00042716 ); +PROVIDE ( mbedtls_mpi_cmp_abs = 0x0002f8a6 ); +PROVIDE ( mbedtls_pk_verify = 0x000314de ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_copy = 0x0002a9e6 ); +PROVIDE ( mbedtls_rsa_check_pub_priv = 0x00032c78 ); +PROVIDE ( format_str = 0x0004451e ); +PROVIDE ( mbedtls_entropy_free = 0x0002e6d0 ); +PROVIDE ( mbedtls_asn1_write_bitstring = 0x0003e3aa ); +PROVIDE ( mbedtls_fast_ec_free = 0x0002df90 ); +PROVIDE ( mbedtls_ecp_point_free = 0x00041234 ); +PROVIDE ( mbedtls_sha512_update = 0x00043c3a ); +PROVIDE ( mbedtls_platform_set_exit = 0x00042b10 ); +PROVIDE ( mbedtls_cipher_setup = 0x0003a7a6 ); +PROVIDE ( mbedtls_mpi_cmp_int = 0x0002f9ae ); +PROVIDE ( mbedtls_ecp_check_pubkey = 0x00041f36 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_madd = 0x00026dd8 ); +PROVIDE ( mbedtls_entropy_init = 0x0002e646 ); +PROVIDE ( mbedtls_memory_buffer_alloc_init = 0x00031a72 ); +PROVIDE ( mbedtls_pk_write_key_pkcs8_der = 0x00032210 ); +PROVIDE ( mbedtls_mpi_mod_int = 0x00030170 ); +PROVIDE ( mbedtls_oid_get_oid_by_cipher_alg = 0x00037fa4 ); +PROVIDE ( mbedtls_fast_ec_get_key_bitlen = 0x0002e1e8 ); +PROVIDE ( mbedtls_ecies_encrypt = 0x0002eb64 ); +PROVIDE ( mbedtls_ecdh_read_params = 0x0003e6da ); +PROVIDE ( mbedtls_oid_get_cipher_alg = 0x00037f56 ); +PROVIDE ( mbedtls_rsa_rsassa_pss_sign = 0x00033590 ); +PROVIDE ( mbedtls_mpi_copy = 0x0002f32a ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_sq2 = 0x00027cc4 ); +PROVIDE ( mbedtls_ed25519_get_pubkey = 0x000296b8 ); +PROVIDE ( mbedtls_ecdsa_init = 0x0003ee06 ); +PROVIDE ( mbedtls_curve25519_key_exchange = 0x00029906 ); +PROVIDE ( mbedtls_sha1_update = 0x00035f34 ); +PROVIDE ( mbedtls_mpi_swap = 0x0002f39c ); +PROVIDE ( mbedtls_ecdh_read_public = 0x0003e7f0 ); +PROVIDE ( mbedtls_ed25519_key_to_curve25519 = 0x00029752 ); +PROVIDE ( mbedtls_dhm_read_public = 0x0002d5b4 ); +PROVIDE ( mbedtls_asn1_write_len = 0x0003de90 ); +PROVIDE ( mbedtls_md_hmac_update = 0x00037b5a ); +PROVIDE ( mbedtls_ecp_tls_read_group = 0x00041e84 ); +PROVIDE ( mbedtls_mpi_shift_l = 0x0002f766 ); +PROVIDE ( mbedtls_mpi_cmp_mpi = 0x0002f91a ); +PROVIDE ( mbedtls_gcm_finish = 0x0003db12 ); +PROVIDE ( mbedtls_ecp_group_load = 0x0003c858 ); +PROVIDE ( mbedtls_asn1_write_oid = 0x0003e102 ); +PROVIDE ( mbedtls_ecp_point_write_binary = 0x00041caa ); +PROVIDE ( mbedtls_ctr_drbg_set_reseed_interval = 0x000311a2 ); +PROVIDE ( mbedtls_dhm_parse_dhm = 0x0002d928 ); +PROVIDE ( mbedtls_oid_get_sig_alg = 0x00037e16 ); +PROVIDE ( mbedtls_rsa_pkcs1_verify = 0x00033cde ); +PROVIDE ( mbedtls_mpi_add_abs = 0x0002f9da ); +PROVIDE ( mbedtls_ecdh_make_params = 0x0003e65a ); +PROVIDE ( mbedtls_entropy_gather = 0x0002e71e ); +PROVIDE ( mbedtls_ecdh_compute_shared = 0x0003e58a ); +PROVIDE ( mbedtls_ecdsa_genkey = 0x0003ed86 ); +PROVIDE ( mbedtls_fast_ec_verify = 0x0002e0c4 ); +PROVIDE ( mbedtls_mpi_mod_mpi = 0x00043b4e ); +PROVIDE ( mbedtls_md_process = 0x00037c92 ); +PROVIDE ( mbedtls_md_setup = 0x00037992 ); +PROVIDE ( mbedtls_fast_ec_compute_shared = 0x0002e110 ); +PROVIDE ( mbedtls_ecdsa_write_signature = 0x0003ec22 ); +PROVIDE ( mbedtls_platform_set_calloc_free = 0x00042ad8 ); +PROVIDE ( mbedtls_pk_parse_subpubkey = 0x000370ec ); +PROVIDE ( mbedtls_cipher_check_tag = 0x0003a822 ); +PROVIDE ( mbedtls_hmac_drbg_free = 0x0002eb3c ); +PROVIDE ( mbedtls_cipher_crypt = 0x0003a896 ); +PROVIDE ( mbedtls_pk_encrypt = 0x000315cc ); +PROVIDE ( mbedtls_mpi_gcd = 0x000307ce ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_precomp_0 = 0x00024054 ); +PROVIDE ( mbedtls_md_finish = 0x00037a30 ); +PROVIDE ( iot_snprintf = 0x000445f6 ); +PROVIDE ( mbedtls_sha256_clone = 0x00043bbc ); +PROVIDE ( mbedtls_ecp_mul = 0x0004211a ); +PROVIDE ( mbedtls_hmac_drbg_update = 0x0002e814 ); +PROVIDE ( mbedtls_md_list = 0x0003781c ); +PROVIDE ( mbedtls_pk_sign = 0x0003153e ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_cswap = 0x00028cea ); +PROVIDE ( crypto_sign_ed25519_ref10_sc_reduce = 0x0002aa62 ); +PROVIDE ( mbedtls_rsa_private = 0x00032d3e ); +PROVIDE ( mbedtls_md5_starts = 0x0002c008 ); +PROVIDE ( mbedtls_ecdh_make_public = 0x0003e782 ); +PROVIDE ( mbedtls_md_get_type = 0x00037cbe ); +PROVIDE ( mbedtls_kdf_get_name = 0x0002bf94 ); +PROVIDE ( mbedtls_oid_get_sig_alg_desc = 0x00037df6 ); +PROVIDE ( mbedtls_gcm_crypt_and_tag = 0x0003dc42 ); +PROVIDE ( mbedtls_sha256_free = 0x00043bb2 ); +PROVIDE ( mbedtls_version_get_number = 0x000360a0 ); +PROVIDE ( mbedtls_ecies_write_content_info = 0x0002d230 ); +PROVIDE ( mbedtls_gcm_auth_decrypt = 0x0003dca2 ); +PROVIDE ( mbedtls_ecp_keypair_init = 0x0004120e ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_neg = 0x0002a13a ); +PROVIDE ( mbedtls_md_hmac_finish = 0x00037b7e ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_tobytes = 0x000290d4 ); +PROVIDE ( mbedtls_aes_init = 0x00043b62 ); +PROVIDE ( mbedtls_cipher_init = 0x0003a2f8 ); +PROVIDE ( mbedtls_pk_info_from_type = 0x0003140e ); +PROVIDE ( mbedtls_sha256_process = 0x00043bd8 ); +PROVIDE ( mbedtls_rsa_set_padding = 0x000329ec ); +PROVIDE ( mbedtls_md5_init = 0x0002bfd8 ); +PROVIDE ( mbedtls_cipher_info_from_type = 0x0003a27e ); +PROVIDE ( mbedtls_fast_ec_get_sig_len = 0x0002e1fc ); +PROVIDE ( mbedtls_cipher_list = 0x0003a242 ); +PROVIDE ( mbedtls_md5_clone = 0x0002bff6 ); +PROVIDE ( mbedtls_md_init_ctx = 0x000379ea ); +PROVIDE ( mbedtls_md_info_from_string = 0x00037826 ); +PROVIDE ( mbedtls_sha512_finish = 0x00043c44 ); +PROVIDE ( mbedtls_asn1_find_named_data = 0x00031f6c ); +PROVIDE ( mbedtls_platform_set_snprintf = 0x00042aec ); +PROVIDE ( mbedtls_mpi_add_int = 0x0002fc34 ); +PROVIDE ( mbedtls_asn1_free_named_data_list = 0x00031f38 ); +PROVIDE ( mbedtls_pk_debug = 0x00031716 ); +PROVIDE ( mbedtls_fast_ec_gen_key = 0x0002e042 ); +PROVIDE ( mbedtls_entropy_update_manual = 0x0002e714 ); +PROVIDE ( mbedtls_ecp_is_zero = 0x00041c16 ); +PROVIDE ( mbedtls_ecdh_free = 0x0003e60c ); +PROVIDE ( mbedtls_oid_get_pk_alg = 0x00037e6e ); +PROVIDE ( mbedtls_ecp_tls_write_group = 0x00041ee6 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_isnegative = 0x0002a9ce ); +PROVIDE ( mbedtls_pk_write_key_der = 0x0003268e ); +PROVIDE ( mbedtls_mpi_inv_mod = 0x00030b2e ); +PROVIDE ( mbedtls_hmac_drbg_seed = 0x0002e9c0 ); +PROVIDE ( mbedtls_sha1_clone = 0x0003484e ); +PROVIDE ( mbedtls_ecp_tls_write_point = 0x00041e4e ); +PROVIDE ( mbedtls_mpi_div_mpi = 0x0002fdfa ); +PROVIDE ( mbedtls_mpi_size = 0x0002f66c ); +PROVIDE ( mbedtls_cipher_update_ad = 0x0003a3e0 ); +PROVIDE ( mbedtls_aes_crypt_ecb = 0x00043b8a ); +PROVIDE ( mbedtls_sha1_free = 0x0003483a ); +PROVIDE ( mbedtls_aes_crypt_ctr = 0x00043b9e ); +PROVIDE ( mbedtls_asn1_get_mpi = 0x00031ca6 ); +PROVIDE ( mbedtls_mpi_set_bit = 0x0002f56a ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_cmov = 0x00028410 ); +PROVIDE ( iot_vsnprintf = 0x000445ca ); +PROVIDE ( mbedtls_asn1_write_raw_buffer = 0x0003dfe4 ); +PROVIDE ( mbedtls_mpi_is_prime = 0x00030db0 ); +PROVIDE ( mbedtls_ecp_curve_info_from_tls_id = 0x000411a8 ); +PROVIDE ( mbedtls_rsa_rsassa_pkcs1_v15_verify = 0x00033b4e ); +PROVIDE ( mbedtls_sha1 = 0x00036062 ); +PROVIDE ( mbedtls_curve25519_get_pubkey = 0x000298b2 ); +PROVIDE ( mbedtls_ecdsa_read_signature = 0x0003ece2 ); +PROVIDE ( mbedtls_asn1_get_sequence_of = 0x00031d74 ); +PROVIDE ( mbedtls_pkcs12_pbe_sha1_rc4_128 = 0x0002da46 ); +PROVIDE ( mbedtls_pkcs12_pbe_ext = 0x0002dcbe ); +PROVIDE ( mbedtls_gcm_update = 0x0003d9e0 ); +PROVIDE ( mpi_montmul = 0x00043b58 ); +PROVIDE ( mbedtls_ecp_tls_read_point = 0x00041e1e ); +PROVIDE ( mbedtls_oid_get_ec_grp = 0x00037ee2 ); +PROVIDE ( mbedtls_fast_ec_check_pub_priv = 0x0002e144 ); +PROVIDE ( mbedtls_md_clone = 0x00037966 ); +PROVIDE ( mbedtls_gcm_free = 0x0003dd16 ); +PROVIDE ( mbedtls_ecp_group_init = 0x00041200 ); +PROVIDE ( mbedtls_ecp_grp_id_list = 0x00041144 ); +PROVIDE ( mbedtls_md_hmac_reset = 0x00037be2 ); +PROVIDE ( mbedtls_sha512_init = 0x00043c00 ); +PROVIDE ( mbedtls_ecies_write_envelope = 0x0002d06c ); +PROVIDE ( mbedtls_sha512_starts = 0x00043c26 ); +PROVIDE ( mbedtls_md_update = 0x00037a10 ); +PROVIDE ( mbedtls_md_get_size = 0x00037cb2 ); +PROVIDE ( format_str_v = 0x00043ce2 ); +PROVIDE ( mbedtls_md5_finish = 0x0002ccdc ); +PROVIDE ( mbedtls_mpi_free = 0x0002f1e0 ); +PROVIDE ( mbedtls_md_hmac = 0x00037c22 ); +PROVIDE ( mbedtls_asn1_write_null = 0x0003e0c8 ); +PROVIDE ( mbedtls_fast_ec_setup = 0x0002df2c ); +PROVIDE ( mbedtls_pk_parse_public_key = 0x0003751c ); +PROVIDE ( mbedtls_hmac_drbg_random = 0x0002eb34 ); +PROVIDE ( mbedtls_ecdh_calc_secret = 0x0003e828 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_double_scalarmult_vartime = 0x0002a5fc ); +PROVIDE ( mbedtls_pk_setup_rsa_alt = 0x00031466 ); +PROVIDE ( mbedtls_dhm_init = 0x0002d3f4 ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_mul121666 = 0x00028e40 ); +PROVIDE ( mbedtls_aes_crypt_cbc = 0x00043b94 ); +PROVIDE ( mbedtls_hmac_drbg_init = 0x0002e80a ); +PROVIDE ( mbedtls_hmac_drbg_set_reseed_interval = 0x0002ea5e ); +PROVIDE ( mbedtls_pk_write_pubkey_der = 0x000320fa ); +PROVIDE ( mbedtls_mpi_safe_cond_swap = 0x0002f45a ); +PROVIDE ( crypto_sign_ed25519_ref10_fe_sub = 0x00029f96 ); +PROVIDE ( mbedtls_oid_get_oid_by_ec_grp = 0x00037f30 ); +PROVIDE ( mbedtls_cipher_finish = 0x0003a656 ); +PROVIDE ( mbedtls_md_hmac_starts = 0x00037a72 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_p1p1_to_p2 = 0x000242c6 ); +PROVIDE ( mbedtls_fast_ec_get_key_len = 0x0002e1f2 ); +PROVIDE ( mbedtls_cipher_set_padding_mode = 0x0003a772 ); +PROVIDE ( mbedtls_rsa_init = 0x000329c4 ); +PROVIDE ( mbedtls_rsa_pkcs1_sign = 0x0003390a ); +PROVIDE ( mbedtls_pk_setup = 0x0003142c ); +PROVIDE ( mbedtls_pk_init = 0x000313d4 ); +PROVIDE ( mbedtls_mpi_sub_abs = 0x0002faaa ); +PROVIDE ( mbedtls_mpi_fill_random = 0x000308da ); +PROVIDE ( mbedtls_entropy_func = 0x0002e72e ); +PROVIDE ( mbedtls_md_info_from_type = 0x000378ec ); +PROVIDE ( mbedtls_entropy_add_source = 0x0002e6e2 ); +PROVIDE ( mbedtls_md_free = 0x00037912 ); +PROVIDE ( mbedtls_mpi_write_string = 0x0003022e ); +PROVIDE ( mbedtls_rsa_gen_key = 0x00033d72 ); +PROVIDE ( mbedtls_version_get_string = 0x000360a6 ); +PROVIDE ( mbedtls_asn1_free_named_data = 0x00031efc ); +PROVIDE ( mbedtls_oid_get_kdf_alg = 0x00038098 ); +PROVIDE ( mbedtls_ecp_check_privkey = 0x000420b0 ); +PROVIDE ( mbedtls_memory_buffer_set_verify = 0x00031a64 ); +PROVIDE ( mbedtls_cipher_set_iv = 0x0003a372 ); +PROVIDE ( mbedtls_pk_check_pair = 0x000315f2 ); +PROVIDE ( crypto_sign_ed25519_ref10_ge_msub = 0x00028508 ); +PROVIDE ( mbedtls_ecies_read_kdf = 0x0002ce60 ); +PROVIDE ( mbedtls_asn1_write_algorithm_identifier = 0x0003e154 ); +PROVIDE ( mbedtls_ecies_info_from_type = 0x0002e554 ); +PROVIDE ( mbedtls_memory_buffer_alloc_verify = 0x00031a6e ); +PROVIDE ( mbedtls_md5 = 0x0002cde0 ); +PROVIDE ( romlib_section_init = 0x0002400a ); +PROVIDE ( mbedtls_x509_crt_free = 0x0003fe1c ); +PROVIDE ( mbedtls_x509_crt_info = 0x0003f458 ); +PROVIDE ( mbedtls_x509_crt_init = 0x0003fe12 ); +PROVIDE ( mbedtls_x509_crt_parse = 0x00040568 ); +PROVIDE ( mbedtls_x509_crt_parse_der = 0x0003ff12 ); +PROVIDE ( mbedtls_x509_crt_profile_default = 0x00053d58 ); +PROVIDE ( mbedtls_x509_crt_profile_next = 0x00053d68 ); +PROVIDE ( mbedtls_x509_crt_profile_suiteb = 0x00053d78 ); +PROVIDE ( mbedtls_x509_crt_verify = 0x0003fdfe ); +PROVIDE ( mbedtls_x509_crt_verify_info = 0x0003fb70 ); +PROVIDE ( mbedtls_x509_crt_verify_with_profile = 0x0003fc1e ); +PROVIDE ( mbedtls_base64_decode = 0x000376b6 ); +PROVIDE ( mbedtls_base64_encode = 0x0003759a ); diff --git a/tools/bin_tool/bin2hex.c b/tools/bin_tool/bin2hex.c old mode 100644 new mode 100755 diff --git a/tools/bin_tool/bin2hex_frame.c b/tools/bin_tool/bin2hex_frame.c old mode 100644 new mode 100755 diff --git a/tools/bin_tool/hex2bin.c b/tools/bin_tool/hex2bin.c old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/Kl3_rom_自测记录表_V1.0.xlsx b/tools/rom_img/riscv3/Kl3_rom_自测记录表_V1.0.xlsx old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/ROM_IMG_V3.1.0.0_20210811.zip b/tools/rom_img/riscv3/ROM_IMG_V3.1.0.0_20210811.zip old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/ROM_IMG_V3.1.0.1_20210907.zip b/tools/rom_img/riscv3/ROM_IMG_V3.1.0.1_20210907.zip old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/ROM_IMG_V3.1.0.2_20210914.zip b/tools/rom_img/riscv3/ROM_IMG_V3.1.0.2_20210914.zip old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/ROM_IMG_V3.1.0.3_20210917.zip b/tools/rom_img/riscv3/ROM_IMG_V3.1.0.3_20210917.zip old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/ROM_IMG_V3.1.0.4_20211014.zip b/tools/rom_img/riscv3/ROM_IMG_V3.1.0.4_20211014.zip old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/ROM_IMG_V3.2.0.0_20211126.zip b/tools/rom_img/riscv3/ROM_IMG_V3.2.0.0_20211126.zip old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/ROM_IMG_V3.2.0.2_20211202.zip b/tools/rom_img/riscv3/ROM_IMG_V3.2.0.2_20211202.zip old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/ROM_IMG_V3.2.1.0_20211203.zip b/tools/rom_img/riscv3/ROM_IMG_V3.2.1.0_20211203.zip old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/ROM_IMG_V3.2.1.1_20211206.zip b/tools/rom_img/riscv3/ROM_IMG_V3.2.1.1_20211206.zip old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/rom_symbol b/tools/rom_img/riscv3/rom_symbol old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/romhex.py b/tools/rom_img/riscv3/romhex.py old mode 100644 new mode 100755 diff --git a/tools/rom_img/riscv3/sec_cpu_symbol b/tools/rom_img/riscv3/sec_cpu_symbol old mode 100644 new mode 100755