diff options
Diffstat (limited to 'circuitpython/lib/nrfutil/tests')
13 files changed, 3804 insertions, 0 deletions
diff --git a/circuitpython/lib/nrfutil/tests/bdd/environment.py b/circuitpython/lib/nrfutil/tests/bdd/environment.py new file mode 100644 index 0000000..dc66699 --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/bdd/environment.py @@ -0,0 +1,37 @@ +# Copyright (c) 2015, Nordic Semiconductor +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import logging + + +logging.basicConfig(format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s', + datefmt='%m-%d %H:%M:%S ', level=logging.DEBUG) + + +def before_all(context): + pass diff --git a/circuitpython/lib/nrfutil/tests/bdd/genpkg_generate_dfu_package.feature b/circuitpython/lib/nrfutil/tests/bdd/genpkg_generate_dfu_package.feature new file mode 100644 index 0000000..7fec533 --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/bdd/genpkg_generate_dfu_package.feature @@ -0,0 +1,673 @@ +# Notice: +# It can be smart to use the function util.generate_options_table_for_cucumber() to generate entries in Examples for +# the options. It will save you a lot of time :-) + +Feature: Generate DFU package + Scenario Outline: package generation + Given the user wants to generate a DFU package with application <application>, bootloader <bootloader> and SoftDevice <softdevice> with name <package> + And with option --application-version <app_ver> + And with option --dev-revision <dev_rev> + And with option --dev-type <dev_type> + And with option --dfu-ver <dfu_ver> + And with option --sd-req <sd_req> + And with option --key-file <pem_file> + When user press enter + Then the generated DFU package <package> contains correct data + + Examples: + | application | bootloader | softdevice | app_ver | dev_rev | dev_type | dfu_ver | sd_req | pem_file | package | + | blinky.bin | dfu_test_bootloader_b.hex | dfu_test_softdevice_b.hex | none | none | none | not_set | none | not_set | 111_000000.zip | + | blinky.bin | dfu_test_bootloader_b.hex | not_set | none | none | none | not_set | none | not_set | 110_000000.zip | + | blinky.bin | not_set | dfu_test_softdevice_b.hex | none | none | none | not_set | none | not_set | 101_000000.zip | + | blinky.bin | not_set | not_set | none | none | none | not_set | none | not_set | 100_000000.zip | + | not_set | dfu_test_bootloader_b.hex | dfu_test_softdevice_b.hex | none | none | none | not_set | none | not_set | 011_000000.zip | + | not_set | dfu_test_bootloader_b.hex | not_set | none | none | none | not_set | none | not_set | 010_000000.zip | + | not_set | not_set | dfu_test_softdevice_b.hex | none | none | none | not_set | none | not_set | 001_000000.zip | + | blinky.bin | not_set | not_set | none | none | none | not_set | none | not_set | 100_000000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | not_set | none | not_set | 100_000001.zip | + | blinky.bin | not_set | not_set | 0xd3 | none | none | not_set | none | not_set | 100_000002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | not_set | none | not_set | 100_000010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | not_set | none | not_set | 100_000011.zip | + | blinky.bin | not_set | not_set | 0xcb | not_set | none | not_set | none | not_set | 100_000012.zip | + | blinky.bin | not_set | not_set | none | 0x4c | none | not_set | none | not_set | 100_000020.zip | + | blinky.bin | not_set | not_set | not_set | 0xb6 | none | not_set | none | not_set | 100_000021.zip | + | blinky.bin | not_set | not_set | 0x07 | 0x22 | none | not_set | none | not_set | 100_000022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | not_set | none | not_set | 100_000100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | not_set | none | not_set | 100_000101.zip | + | blinky.bin | not_set | not_set | 0xdd | none | not_set | not_set | none | not_set | 100_000102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | not_set | none | not_set | 100_000110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | not_set | none | not_set | 100_000111.zip | + | blinky.bin | not_set | not_set | 0x19 | not_set | not_set | not_set | none | not_set | 100_000112.zip | + | blinky.bin | not_set | not_set | none | 0x19 | not_set | not_set | none | not_set | 100_000120.zip | + | blinky.bin | not_set | not_set | not_set | 0x92 | not_set | not_set | none | not_set | 100_000121.zip | + | blinky.bin | not_set | not_set | 0x28 | 0xe6 | not_set | not_set | none | not_set | 100_000122.zip | + | blinky.bin | not_set | not_set | none | none | 0xe9 | not_set | none | not_set | 100_000200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x26 | not_set | none | not_set | 100_000201.zip | + | blinky.bin | not_set | not_set | 0xea | none | 0xcf | not_set | none | not_set | 100_000202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x57 | not_set | none | not_set | 100_000210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x53 | not_set | none | not_set | 100_000211.zip | + | blinky.bin | not_set | not_set | 0xbb | not_set | 0x36 | not_set | none | not_set | 100_000212.zip | + | blinky.bin | not_set | not_set | none | 0x01 | 0x1a | not_set | none | not_set | 100_000220.zip | + | blinky.bin | not_set | not_set | not_set | 0x39 | 0x0e | not_set | none | not_set | 100_000221.zip | + | blinky.bin | not_set | not_set | 0x29 | 0x6d | 0x7b | not_set | none | not_set | 100_000222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.5 | none | not_set | 100_001000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.5 | none | not_set | 100_001001.zip | + | blinky.bin | not_set | not_set | 0x70 | none | none | 0.5 | none | not_set | 100_001002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.5 | none | not_set | 100_001010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.5 | none | not_set | 100_001011.zip | + | blinky.bin | not_set | not_set | 0x57 | not_set | none | 0.5 | none | not_set | 100_001012.zip | + | blinky.bin | not_set | not_set | none | 0x2f | none | 0.5 | none | not_set | 100_001020.zip | + | blinky.bin | not_set | not_set | not_set | 0xc9 | none | 0.5 | none | not_set | 100_001021.zip | + | blinky.bin | not_set | not_set | 0x7c | 0x05 | none | 0.5 | none | not_set | 100_001022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.5 | none | not_set | 100_001100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.5 | none | not_set | 100_001101.zip | + | blinky.bin | not_set | not_set | 0x18 | none | not_set | 0.5 | none | not_set | 100_001102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.5 | none | not_set | 100_001110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.5 | none | not_set | 100_001111.zip | + | blinky.bin | not_set | not_set | 0xec | not_set | not_set | 0.5 | none | not_set | 100_001112.zip | + | blinky.bin | not_set | not_set | none | 0x4d | not_set | 0.5 | none | not_set | 100_001120.zip | + | blinky.bin | not_set | not_set | not_set | 0xa1 | not_set | 0.5 | none | not_set | 100_001121.zip | + | blinky.bin | not_set | not_set | 0xb1 | 0xb1 | not_set | 0.5 | none | not_set | 100_001122.zip | + | blinky.bin | not_set | not_set | none | none | 0x0f | 0.5 | none | not_set | 100_001200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x1f | 0.5 | none | not_set | 100_001201.zip | + | blinky.bin | not_set | not_set | 0x75 | none | 0xf4 | 0.5 | none | not_set | 100_001202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x72 | 0.5 | none | not_set | 100_001210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x37 | 0.5 | none | not_set | 100_001211.zip | + | blinky.bin | not_set | not_set | 0x41 | not_set | 0x02 | 0.5 | none | not_set | 100_001212.zip | + | blinky.bin | not_set | not_set | none | 0xb6 | 0x96 | 0.5 | none | not_set | 100_001220.zip | + | blinky.bin | not_set | not_set | not_set | 0xaf | 0x38 | 0.5 | none | not_set | 100_001221.zip | + | blinky.bin | not_set | not_set | 0xbe | 0x81 | 0x37 | 0.5 | none | not_set | 100_001222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.6 | none | not_set | 100_002000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.6 | none | not_set | 100_002001.zip | + | blinky.bin | not_set | not_set | 0x7f | none | none | 0.6 | none | not_set | 100_002002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.6 | none | not_set | 100_002010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.6 | none | not_set | 100_002011.zip | + | blinky.bin | not_set | not_set | 0x15 | not_set | none | 0.6 | none | not_set | 100_002012.zip | + | blinky.bin | not_set | not_set | none | 0xb8 | none | 0.6 | none | not_set | 100_002020.zip | + | blinky.bin | not_set | not_set | not_set | 0x92 | none | 0.6 | none | not_set | 100_002021.zip | + | blinky.bin | not_set | not_set | 0x6f | 0xf6 | none | 0.6 | none | not_set | 100_002022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.6 | none | not_set | 100_002100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.6 | none | not_set | 100_002101.zip | + | blinky.bin | not_set | not_set | 0xfd | none | not_set | 0.6 | none | not_set | 100_002102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.6 | none | not_set | 100_002110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.6 | none | not_set | 100_002111.zip | + | blinky.bin | not_set | not_set | 0x19 | not_set | not_set | 0.6 | none | not_set | 100_002112.zip | + | blinky.bin | not_set | not_set | none | 0xfc | not_set | 0.6 | none | not_set | 100_002120.zip | + | blinky.bin | not_set | not_set | not_set | 0xf3 | not_set | 0.6 | none | not_set | 100_002121.zip | + | blinky.bin | not_set | not_set | 0x2c | 0x97 | not_set | 0.6 | none | not_set | 100_002122.zip | + | blinky.bin | not_set | not_set | none | none | 0x54 | 0.6 | none | not_set | 100_002200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0xe7 | 0.6 | none | not_set | 100_002201.zip | + | blinky.bin | not_set | not_set | 0x71 | none | 0x8c | 0.6 | none | not_set | 100_002202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x74 | 0.6 | none | not_set | 100_002210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x4b | 0.6 | none | not_set | 100_002211.zip | + | blinky.bin | not_set | not_set | 0x40 | not_set | 0xd0 | 0.6 | none | not_set | 100_002212.zip | + | blinky.bin | not_set | not_set | none | 0x72 | 0x5c | 0.6 | none | not_set | 100_002220.zip | + | blinky.bin | not_set | not_set | not_set | 0x5f | 0x85 | 0.6 | none | not_set | 100_002221.zip | + | blinky.bin | not_set | not_set | 0x6b | 0x9b | 0xaf | 0.6 | none | not_set | 100_002222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.7 | none | not_set | 100_003000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.7 | none | not_set | 100_003001.zip | + | blinky.bin | not_set | not_set | 0x0d | none | none | 0.7 | none | not_set | 100_003002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.7 | none | not_set | 100_003010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.7 | none | not_set | 100_003011.zip | + | blinky.bin | not_set | not_set | 0x54 | not_set | none | 0.7 | none | not_set | 100_003012.zip | + | blinky.bin | not_set | not_set | none | 0xfc | none | 0.7 | none | not_set | 100_003020.zip | + | blinky.bin | not_set | not_set | not_set | 0x79 | none | 0.7 | none | not_set | 100_003021.zip | + | blinky.bin | not_set | not_set | 0xb8 | 0x20 | none | 0.7 | none | not_set | 100_003022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.7 | none | not_set | 100_003100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.7 | none | not_set | 100_003101.zip | + | blinky.bin | not_set | not_set | 0xd0 | none | not_set | 0.7 | none | not_set | 100_003102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.7 | none | not_set | 100_003110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.7 | none | not_set | 100_003111.zip | + | blinky.bin | not_set | not_set | 0x69 | not_set | not_set | 0.7 | none | not_set | 100_003112.zip | + | blinky.bin | not_set | not_set | none | 0x65 | not_set | 0.7 | none | not_set | 100_003120.zip | + | blinky.bin | not_set | not_set | not_set | 0xd2 | not_set | 0.7 | none | not_set | 100_003121.zip | + | blinky.bin | not_set | not_set | 0x48 | 0x65 | not_set | 0.7 | none | not_set | 100_003122.zip | + | blinky.bin | not_set | not_set | none | none | 0x19 | 0.7 | none | not_set | 100_003200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0xe7 | 0.7 | none | not_set | 100_003201.zip | + | blinky.bin | not_set | not_set | 0x34 | none | 0x65 | 0.7 | none | not_set | 100_003202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x21 | 0.7 | none | not_set | 100_003210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x3b | 0.7 | none | not_set | 100_003211.zip | + | blinky.bin | not_set | not_set | 0x5c | not_set | 0x1f | 0.7 | none | not_set | 100_003212.zip | + | blinky.bin | not_set | not_set | none | 0x88 | 0xb3 | 0.7 | none | not_set | 100_003220.zip | + | blinky.bin | not_set | not_set | not_set | 0xe1 | 0xb5 | 0.7 | none | not_set | 100_003221.zip | + | blinky.bin | not_set | not_set | 0x4c | 0xeb | 0x4d | 0.7 | none | not_set | 100_003222.zip | + | blinky.bin | not_set | not_set | none | none | none | not_set | not_set | not_set | 100_010000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | not_set | not_set | not_set | 100_010001.zip | + | blinky.bin | not_set | not_set | 0x33 | none | none | not_set | not_set | not_set | 100_010002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | not_set | not_set | not_set | 100_010010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | not_set | not_set | not_set | 100_010011.zip | + | blinky.bin | not_set | not_set | 0x78 | not_set | none | not_set | not_set | not_set | 100_010012.zip | + | blinky.bin | not_set | not_set | none | 0xf7 | none | not_set | not_set | not_set | 100_010020.zip | + | blinky.bin | not_set | not_set | not_set | 0x23 | none | not_set | not_set | not_set | 100_010021.zip | + | blinky.bin | not_set | not_set | 0x06 | 0xf5 | none | not_set | not_set | not_set | 100_010022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | not_set | not_set | not_set | 100_010100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | not_set | not_set | not_set | 100_010101.zip | + | blinky.bin | not_set | not_set | 0x88 | none | not_set | not_set | not_set | not_set | 100_010102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | not_set | not_set | not_set | 100_010110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | not_set | not_set | not_set | 100_010111.zip | + | blinky.bin | not_set | not_set | 0x15 | not_set | not_set | not_set | not_set | not_set | 100_010112.zip | + | blinky.bin | not_set | not_set | none | 0x52 | not_set | not_set | not_set | not_set | 100_010120.zip | + | blinky.bin | not_set | not_set | not_set | 0x0b | not_set | not_set | not_set | not_set | 100_010121.zip | + | blinky.bin | not_set | not_set | 0x49 | 0x52 | not_set | not_set | not_set | not_set | 100_010122.zip | + | blinky.bin | not_set | not_set | none | none | 0x66 | not_set | not_set | not_set | 100_010200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x62 | not_set | not_set | not_set | 100_010201.zip | + | blinky.bin | not_set | not_set | 0x1f | none | 0xdf | not_set | not_set | not_set | 100_010202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x23 | not_set | not_set | not_set | 100_010210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x98 | not_set | not_set | not_set | 100_010211.zip | + | blinky.bin | not_set | not_set | 0x28 | not_set | 0x8f | not_set | not_set | not_set | 100_010212.zip | + | blinky.bin | not_set | not_set | none | 0xce | 0x5a | not_set | not_set | not_set | 100_010220.zip | + | blinky.bin | not_set | not_set | not_set | 0x8d | 0x50 | not_set | not_set | not_set | 100_010221.zip | + | blinky.bin | not_set | not_set | 0x44 | 0xb3 | 0x8f | not_set | not_set | not_set | 100_010222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.5 | not_set | not_set | 100_011000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.5 | not_set | not_set | 100_011001.zip | + | blinky.bin | not_set | not_set | 0x54 | none | none | 0.5 | not_set | not_set | 100_011002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.5 | not_set | not_set | 100_011010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.5 | not_set | not_set | 100_011011.zip | + | blinky.bin | not_set | not_set | 0xbe | not_set | none | 0.5 | not_set | not_set | 100_011012.zip | + | blinky.bin | not_set | not_set | none | 0xaa | none | 0.5 | not_set | not_set | 100_011020.zip | + | blinky.bin | not_set | not_set | not_set | 0xf0 | none | 0.5 | not_set | not_set | 100_011021.zip | + | blinky.bin | not_set | not_set | 0x19 | 0x4a | none | 0.5 | not_set | not_set | 100_011022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.5 | not_set | not_set | 100_011100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.5 | not_set | not_set | 100_011101.zip | + | blinky.bin | not_set | not_set | 0x74 | none | not_set | 0.5 | not_set | not_set | 100_011102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.5 | not_set | not_set | 100_011110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.5 | not_set | not_set | 100_011111.zip | + | blinky.bin | not_set | not_set | 0x8b | not_set | not_set | 0.5 | not_set | not_set | 100_011112.zip | + | blinky.bin | not_set | not_set | none | 0xc7 | not_set | 0.5 | not_set | not_set | 100_011120.zip | + | blinky.bin | not_set | not_set | not_set | 0x02 | not_set | 0.5 | not_set | not_set | 100_011121.zip | + | blinky.bin | not_set | not_set | 0x98 | 0xb1 | not_set | 0.5 | not_set | not_set | 100_011122.zip | + | blinky.bin | not_set | not_set | none | none | 0xe5 | 0.5 | not_set | not_set | 100_011200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0xad | 0.5 | not_set | not_set | 100_011201.zip | + | blinky.bin | not_set | not_set | 0x30 | none | 0x8d | 0.5 | not_set | not_set | 100_011202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x1c | 0.5 | not_set | not_set | 100_011210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x74 | 0.5 | not_set | not_set | 100_011211.zip | + | blinky.bin | not_set | not_set | 0xf6 | not_set | 0xdb | 0.5 | not_set | not_set | 100_011212.zip | + | blinky.bin | not_set | not_set | none | 0xd9 | 0xe4 | 0.5 | not_set | not_set | 100_011220.zip | + | blinky.bin | not_set | not_set | not_set | 0x84 | 0x1a | 0.5 | not_set | not_set | 100_011221.zip | + | blinky.bin | not_set | not_set | 0x8c | 0x4f | 0xe2 | 0.5 | not_set | not_set | 100_011222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.6 | not_set | not_set | 100_012000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.6 | not_set | not_set | 100_012001.zip | + | blinky.bin | not_set | not_set | 0x20 | none | none | 0.6 | not_set | not_set | 100_012002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.6 | not_set | not_set | 100_012010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.6 | not_set | not_set | 100_012011.zip | + | blinky.bin | not_set | not_set | 0xae | not_set | none | 0.6 | not_set | not_set | 100_012012.zip | + | blinky.bin | not_set | not_set | none | 0x1a | none | 0.6 | not_set | not_set | 100_012020.zip | + | blinky.bin | not_set | not_set | not_set | 0x18 | none | 0.6 | not_set | not_set | 100_012021.zip | + | blinky.bin | not_set | not_set | 0x33 | 0x65 | none | 0.6 | not_set | not_set | 100_012022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.6 | not_set | not_set | 100_012100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.6 | not_set | not_set | 100_012101.zip | + | blinky.bin | not_set | not_set | 0x38 | none | not_set | 0.6 | not_set | not_set | 100_012102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.6 | not_set | not_set | 100_012110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.6 | not_set | not_set | 100_012111.zip | + | blinky.bin | not_set | not_set | 0xe5 | not_set | not_set | 0.6 | not_set | not_set | 100_012112.zip | + | blinky.bin | not_set | not_set | none | 0x74 | not_set | 0.6 | not_set | not_set | 100_012120.zip | + | blinky.bin | not_set | not_set | not_set | 0xc4 | not_set | 0.6 | not_set | not_set | 100_012121.zip | + | blinky.bin | not_set | not_set | 0x45 | 0x51 | not_set | 0.6 | not_set | not_set | 100_012122.zip | + | blinky.bin | not_set | not_set | none | none | 0x64 | 0.6 | not_set | not_set | 100_012200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x80 | 0.6 | not_set | not_set | 100_012201.zip | + | blinky.bin | not_set | not_set | 0x0c | none | 0x39 | 0.6 | not_set | not_set | 100_012202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x96 | 0.6 | not_set | not_set | 100_012210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x33 | 0.6 | not_set | not_set | 100_012211.zip | + | blinky.bin | not_set | not_set | 0xba | not_set | 0xbb | 0.6 | not_set | not_set | 100_012212.zip | + | blinky.bin | not_set | not_set | none | 0x11 | 0x28 | 0.6 | not_set | not_set | 100_012220.zip | + | blinky.bin | not_set | not_set | not_set | 0x91 | 0x81 | 0.6 | not_set | not_set | 100_012221.zip | + | blinky.bin | not_set | not_set | 0x2b | 0x60 | 0x0c | 0.6 | not_set | not_set | 100_012222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.7 | not_set | not_set | 100_013000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.7 | not_set | not_set | 100_013001.zip | + | blinky.bin | not_set | not_set | 0xcf | none | none | 0.7 | not_set | not_set | 100_013002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.7 | not_set | not_set | 100_013010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.7 | not_set | not_set | 100_013011.zip | + | blinky.bin | not_set | not_set | 0x2f | not_set | none | 0.7 | not_set | not_set | 100_013012.zip | + | blinky.bin | not_set | not_set | none | 0xc3 | none | 0.7 | not_set | not_set | 100_013020.zip | + | blinky.bin | not_set | not_set | not_set | 0x54 | none | 0.7 | not_set | not_set | 100_013021.zip | + | blinky.bin | not_set | not_set | 0x2c | 0x67 | none | 0.7 | not_set | not_set | 100_013022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.7 | not_set | not_set | 100_013100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.7 | not_set | not_set | 100_013101.zip | + | blinky.bin | not_set | not_set | 0x04 | none | not_set | 0.7 | not_set | not_set | 100_013102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.7 | not_set | not_set | 100_013110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.7 | not_set | not_set | 100_013111.zip | + | blinky.bin | not_set | not_set | 0xe6 | not_set | not_set | 0.7 | not_set | not_set | 100_013112.zip | + | blinky.bin | not_set | not_set | none | 0x68 | not_set | 0.7 | not_set | not_set | 100_013120.zip | + | blinky.bin | not_set | not_set | not_set | 0x72 | not_set | 0.7 | not_set | not_set | 100_013121.zip | + | blinky.bin | not_set | not_set | 0x84 | 0x81 | not_set | 0.7 | not_set | not_set | 100_013122.zip | + | blinky.bin | not_set | not_set | none | none | 0xba | 0.7 | not_set | not_set | 100_013200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x7d | 0.7 | not_set | not_set | 100_013201.zip | + | blinky.bin | not_set | not_set | 0xb8 | none | 0x1a | 0.7 | not_set | not_set | 100_013202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0xff | 0.7 | not_set | not_set | 100_013210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0xb8 | 0.7 | not_set | not_set | 100_013211.zip | + | blinky.bin | not_set | not_set | 0x94 | not_set | 0x9e | 0.7 | not_set | not_set | 100_013212.zip | + | blinky.bin | not_set | not_set | none | 0xc7 | 0x4b | 0.7 | not_set | not_set | 100_013220.zip | + | blinky.bin | not_set | not_set | not_set | 0x80 | 0x20 | 0.7 | not_set | not_set | 100_013221.zip | + | blinky.bin | not_set | not_set | 0xb5 | 0x77 | 0xbf | 0.7 | not_set | not_set | 100_013222.zip | + | blinky.bin | not_set | not_set | none | none | none | not_set | 0x9eee,0x7e19,0x1f29 | not_set | 100_020000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | not_set | 0x48b3 | not_set | 100_020001.zip | + | blinky.bin | not_set | not_set | 0xc5 | none | none | not_set | 0x358c,0x21ba | not_set | 100_020002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | not_set | 0xd4a1,0x0744 | not_set | 100_020010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | not_set | 0xcdc3 | not_set | 100_020011.zip | + | blinky.bin | not_set | not_set | 0xa4 | not_set | none | not_set | 0x65ea,0x9a9e,0x167d | not_set | 100_020012.zip | + | blinky.bin | not_set | not_set | none | 0x11 | none | not_set | 0x6b24,0xf50d | not_set | 100_020020.zip | + | blinky.bin | not_set | not_set | not_set | 0x8c | none | not_set | 0x7f3f,0x14df | not_set | 100_020021.zip | + | blinky.bin | not_set | not_set | 0x94 | 0x0e | none | not_set | 0x36aa,0x5f86 | not_set | 100_020022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | not_set | 0x97fc,0x7d68,0x1350 | not_set | 100_020100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | not_set | 0x4487 | not_set | 100_020101.zip | + | blinky.bin | not_set | not_set | 0xa9 | none | not_set | not_set | 0x9abf | not_set | 100_020102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | not_set | 0xe61d,0x394f | not_set | 100_020110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | not_set | 0xf6ab,0x6ed8 | not_set | 100_020111.zip | + | blinky.bin | not_set | not_set | 0x07 | not_set | not_set | not_set | 0x7d1d | not_set | 100_020112.zip | + | blinky.bin | not_set | not_set | none | 0x85 | not_set | not_set | 0xfde4,0xd40c,0xe81f | not_set | 100_020120.zip | + | blinky.bin | not_set | not_set | not_set | 0xb0 | not_set | not_set | 0x14fd,0x2dab | not_set | 100_020121.zip | + | blinky.bin | not_set | not_set | 0xc5 | 0x16 | not_set | not_set | 0x2d78,0x08da,0x2505 | not_set | 100_020122.zip | + | blinky.bin | not_set | not_set | none | none | 0xe6 | not_set | 0xbb52 | not_set | 100_020200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x2d | not_set | 0x748c | not_set | 100_020201.zip | + | blinky.bin | not_set | not_set | 0xdc | none | 0x54 | not_set | 0xc7c2,0xd360,0xad5b,0x1b87 | not_set | 100_020202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x81 | not_set | 0x6b14,0x534f | not_set | 100_020210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x47 | not_set | 0x9bf0,0x5d81,0xe2dd,0x02b2 | not_set | 100_020211.zip | + | blinky.bin | not_set | not_set | 0x53 | not_set | 0x96 | not_set | 0x8d27,0x1c8d | not_set | 100_020212.zip | + | blinky.bin | not_set | not_set | none | 0x0b | 0x0f | not_set | 0x0f66,0xae4b,0xe10e,0x5687 | not_set | 100_020220.zip | + | blinky.bin | not_set | not_set | not_set | 0xf5 | 0x9f | not_set | 0xee32,0x81dd | not_set | 100_020221.zip | + | blinky.bin | not_set | not_set | 0xce | 0x39 | 0x77 | not_set | 0xe3fc | not_set | 100_020222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.5 | 0x6c13,0xc805 | not_set | 100_021000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.5 | 0xa3ef,0xd077,0xa2f5,0x00e7 | not_set | 100_021001.zip | + | blinky.bin | not_set | not_set | 0xcf | none | none | 0.5 | 0xff23,0x5981,0xbedf,0xb817 | not_set | 100_021002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.5 | 0x238d | not_set | 100_021010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.5 | 0xac00,0xaffa,0xb51c,0x8049 | not_set | 100_021011.zip | + | blinky.bin | not_set | not_set | 0xcb | not_set | none | 0.5 | 0xf549,0x0cb6,0xa55b | not_set | 100_021012.zip | + | blinky.bin | not_set | not_set | none | 0x8b | none | 0.5 | 0xa774,0x2904,0x44ed | not_set | 100_021020.zip | + | blinky.bin | not_set | not_set | not_set | 0x0f | none | 0.5 | 0x4f42,0x959d,0x1802,0x7ab4 | not_set | 100_021021.zip | + | blinky.bin | not_set | not_set | 0x2e | 0xc7 | none | 0.5 | 0x8dd8,0xc966,0xba0a | not_set | 100_021022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.5 | 0x9ae1,0xec05 | not_set | 100_021100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.5 | 0xe650 | not_set | 100_021101.zip | + | blinky.bin | not_set | not_set | 0x18 | none | not_set | 0.5 | 0x0d63,0x8d8a | not_set | 100_021102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.5 | 0x8400,0x49e3 | not_set | 100_021110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.5 | 0x2ae0,0x08ed,0xb09e,0xdd0c | not_set | 100_021111.zip | + | blinky.bin | not_set | not_set | 0xab | not_set | not_set | 0.5 | 0x86f8,0xb4ff,0x6ff7 | not_set | 100_021112.zip | + | blinky.bin | not_set | not_set | none | 0xa8 | not_set | 0.5 | 0xbb0e,0x2ffd | not_set | 100_021120.zip | + | blinky.bin | not_set | not_set | not_set | 0x57 | not_set | 0.5 | 0xe2ad,0xfdda,0x3d3b | not_set | 100_021121.zip | + | blinky.bin | not_set | not_set | 0x66 | 0x49 | not_set | 0.5 | 0x8ed0 | not_set | 100_021122.zip | + | blinky.bin | not_set | not_set | none | none | 0x96 | 0.5 | 0x85e9 | not_set | 100_021200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x53 | 0.5 | 0x7434 | not_set | 100_021201.zip | + | blinky.bin | not_set | not_set | 0x5f | none | 0xa9 | 0.5 | 0xdeab,0xccda,0x7ee3,0x2c2f | not_set | 100_021202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x8a | 0.5 | 0xb7ac,0xc007,0xad41,0xfe30 | not_set | 100_021210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x28 | 0.5 | 0x0942 | not_set | 100_021211.zip | + | blinky.bin | not_set | not_set | 0xcd | not_set | 0x3c | 0.5 | 0x590d,0x49e9 | not_set | 100_021212.zip | + | blinky.bin | not_set | not_set | none | 0x08 | 0xe1 | 0.5 | 0xb01e,0xe190,0x4825 | not_set | 100_021220.zip | + | blinky.bin | not_set | not_set | not_set | 0x27 | 0x7e | 0.5 | 0x2fbb | not_set | 100_021221.zip | + | blinky.bin | not_set | not_set | 0xf2 | 0x15 | 0xba | 0.5 | 0x3b61,0x8636 | not_set | 100_021222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.6 | 0xfc23,0x3777 | not_set | 100_022000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.6 | 0x7930,0xbc19 | not_set | 100_022001.zip | + | blinky.bin | not_set | not_set | 0x87 | none | none | 0.6 | 0x51ee,0x9228 | not_set | 100_022002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.6 | 0x583c,0x8601 | not_set | 100_022010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.6 | 0x2a67,0x0283,0xdc4b | not_set | 100_022011.zip | + | blinky.bin | not_set | not_set | 0xcb | not_set | none | 0.6 | 0xa044 | not_set | 100_022012.zip | + | blinky.bin | not_set | not_set | none | 0x50 | none | 0.6 | 0x3afc,0xd36a,0x68c8,0xf66b | not_set | 100_022020.zip | + | blinky.bin | not_set | not_set | not_set | 0xa6 | none | 0.6 | 0xb26b | not_set | 100_022021.zip | + | blinky.bin | not_set | not_set | 0x24 | 0x26 | none | 0.6 | 0x23c6 | not_set | 100_022022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.6 | 0xe825 | not_set | 100_022100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.6 | 0xbe95 | not_set | 100_022101.zip | + | blinky.bin | not_set | not_set | 0x28 | none | not_set | 0.6 | 0x061e,0x1c6d,0xa02d,0xeb9f | not_set | 100_022102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.6 | 0xccc6 | not_set | 100_022110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.6 | 0x2cf4,0x3dbf,0x3015,0x3a11 | not_set | 100_022111.zip | + | blinky.bin | not_set | not_set | 0x69 | not_set | not_set | 0.6 | 0x49d8 | not_set | 100_022112.zip | + | blinky.bin | not_set | not_set | none | 0x07 | not_set | 0.6 | 0x5816,0xeae2,0x4c5c,0x164b | not_set | 100_022120.zip | + | blinky.bin | not_set | not_set | not_set | 0x14 | not_set | 0.6 | 0x3513,0x0464 | not_set | 100_022121.zip | + | blinky.bin | not_set | not_set | 0xba | 0x44 | not_set | 0.6 | 0x98cb,0x3f0b,0xea9a | not_set | 100_022122.zip | + | blinky.bin | not_set | not_set | none | none | 0x7f | 0.6 | 0xa301,0xb7c7,0x8baa,0xf91a | not_set | 100_022200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0xf6 | 0.6 | 0x79f4,0x0a71,0x7153 | not_set | 100_022201.zip | + | blinky.bin | not_set | not_set | 0xa1 | none | 0x6e | 0.6 | 0x12d3,0xbd74,0xd1ce,0xf24f | not_set | 100_022202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x12 | 0.6 | 0xa75c,0xc411,0xe043 | not_set | 100_022210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x3f | 0.6 | 0x5e94,0x434e,0xfba2,0x672b | not_set | 100_022211.zip | + | blinky.bin | not_set | not_set | 0x84 | not_set | 0xa8 | 0.6 | 0x639e | not_set | 100_022212.zip | + | blinky.bin | not_set | not_set | none | 0x57 | 0x8a | 0.6 | 0x7689,0xbecb,0xb70a,0x7aed | not_set | 100_022220.zip | + | blinky.bin | not_set | not_set | not_set | 0x75 | 0xaf | 0.6 | 0x6f95 | not_set | 100_022221.zip | + | blinky.bin | not_set | not_set | 0xdd | 0x35 | 0xe1 | 0.6 | 0x77ee,0xcfcb,0xe477 | not_set | 100_022222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.7 | 0x8d22,0x01b5,0x8215,0xc099 | not_set | 100_023000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.7 | 0x6f64,0x88f7,0xb87e,0xedd2 | not_set | 100_023001.zip | + | blinky.bin | not_set | not_set | 0x1c | none | none | 0.7 | 0x22d0 | not_set | 100_023002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.7 | 0xd22b,0x47d4,0xdc8c,0x2e63 | not_set | 100_023010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.7 | 0xfbef | not_set | 100_023011.zip | + | blinky.bin | not_set | not_set | 0x04 | not_set | none | 0.7 | 0x4d1b,0x4fd9,0x2909,0x57b6 | not_set | 100_023012.zip | + | blinky.bin | not_set | not_set | none | 0x02 | none | 0.7 | 0x0601,0xfadf,0xa309 | not_set | 100_023020.zip | + | blinky.bin | not_set | not_set | not_set | 0x2e | none | 0.7 | 0xeeb4,0x296c,0xb5d5 | not_set | 100_023021.zip | + | blinky.bin | not_set | not_set | 0x1c | 0xa7 | none | 0.7 | 0xf8d5,0x69d5,0x8470 | not_set | 100_023022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.7 | 0x2e79,0x0f64 | not_set | 100_023100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.7 | 0x11a0 | not_set | 100_023101.zip | + | blinky.bin | not_set | not_set | 0x5d | none | not_set | 0.7 | 0x4f17 | not_set | 100_023102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.7 | 0x9cda,0x7c3b | not_set | 100_023110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.7 | 0x1770,0x889f | not_set | 100_023111.zip | + | blinky.bin | not_set | not_set | 0xd1 | not_set | not_set | 0.7 | 0x0e09,0x2c98 | not_set | 100_023112.zip | + | blinky.bin | not_set | not_set | none | 0x20 | not_set | 0.7 | 0x2c87,0x36e8,0xc2aa | not_set | 100_023120.zip | + | blinky.bin | not_set | not_set | not_set | 0x67 | not_set | 0.7 | 0x12b8,0x60ec,0x39da | not_set | 100_023121.zip | + | blinky.bin | not_set | not_set | 0xfe | 0x37 | not_set | 0.7 | 0xe971,0xc49e | not_set | 100_023122.zip | + | blinky.bin | not_set | not_set | none | none | 0x4a | 0.7 | 0x655d,0x595d | not_set | 100_023200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0xed | 0.7 | 0x1bb3,0xcb67,0x4c69 | not_set | 100_023201.zip | + | blinky.bin | not_set | not_set | 0x5f | none | 0xe1 | 0.7 | 0x4aca,0xbea2 | not_set | 100_023202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x09 | 0.7 | 0xc4bd,0x086d,0xb12a,0x5218 | not_set | 100_023210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x43 | 0.7 | 0x4336,0x7805 | not_set | 100_023211.zip | + | blinky.bin | not_set | not_set | 0x5a | not_set | 0x57 | 0.7 | 0x5d40,0xf31f | not_set | 100_023212.zip | + | blinky.bin | not_set | not_set | none | 0x22 | 0xcc | 0.7 | 0xe5c8 | not_set | 100_023220.zip | + | blinky.bin | not_set | not_set | not_set | 0xc0 | 0x6c | 0.7 | 0xfe83 | not_set | 100_023221.zip | + | blinky.bin | not_set | not_set | 0x7d | 0xa2 | 0xe5 | 0.7 | 0xd584,0xbbbb,0x2804 | not_set | 100_023222.zip | + | blinky.bin | not_set | not_set | none | none | none | not_set | none | test.pem | 100_100000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | not_set | none | test.pem | 100_100001.zip | + | blinky.bin | not_set | not_set | 0x11 | none | none | not_set | none | test.pem | 100_100002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | not_set | none | test.pem | 100_100010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | not_set | none | test.pem | 100_100011.zip | + | blinky.bin | not_set | not_set | 0xbe | not_set | none | not_set | none | test.pem | 100_100012.zip | + | blinky.bin | not_set | not_set | none | 0x43 | none | not_set | none | test.pem | 100_100020.zip | + | blinky.bin | not_set | not_set | not_set | 0xa6 | none | not_set | none | test.pem | 100_100021.zip | + | blinky.bin | not_set | not_set | 0xd8 | 0x0a | none | not_set | none | test.pem | 100_100022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | not_set | none | test.pem | 100_100100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | not_set | none | test.pem | 100_100101.zip | + | blinky.bin | not_set | not_set | 0xae | none | not_set | not_set | none | test.pem | 100_100102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | not_set | none | test.pem | 100_100110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | not_set | none | test.pem | 100_100111.zip | + | blinky.bin | not_set | not_set | 0x91 | not_set | not_set | not_set | none | test.pem | 100_100112.zip | + | blinky.bin | not_set | not_set | none | 0x35 | not_set | not_set | none | test.pem | 100_100120.zip | + | blinky.bin | not_set | not_set | not_set | 0xfe | not_set | not_set | none | test.pem | 100_100121.zip | + | blinky.bin | not_set | not_set | 0xfc | 0x45 | not_set | not_set | none | test.pem | 100_100122.zip | + | blinky.bin | not_set | not_set | none | none | 0xf7 | not_set | none | test.pem | 100_100200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x7a | not_set | none | test.pem | 100_100201.zip | + | blinky.bin | not_set | not_set | 0x5f | none | 0x93 | not_set | none | test.pem | 100_100202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x51 | not_set | none | test.pem | 100_100210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0xce | not_set | none | test.pem | 100_100211.zip | + | blinky.bin | not_set | not_set | 0xe5 | not_set | 0xd1 | not_set | none | test.pem | 100_100212.zip | + | blinky.bin | not_set | not_set | none | 0xd4 | 0xc3 | not_set | none | test.pem | 100_100220.zip | + | blinky.bin | not_set | not_set | not_set | 0xed | 0xa4 | not_set | none | test.pem | 100_100221.zip | + | blinky.bin | not_set | not_set | 0xac | 0x6f | 0x9c | not_set | none | test.pem | 100_100222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.5 | none | test.pem | 100_101000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.5 | none | test.pem | 100_101001.zip | + | blinky.bin | not_set | not_set | 0x1f | none | none | 0.5 | none | test.pem | 100_101002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.5 | none | test.pem | 100_101010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.5 | none | test.pem | 100_101011.zip | + | blinky.bin | not_set | not_set | 0x5d | not_set | none | 0.5 | none | test.pem | 100_101012.zip | + | blinky.bin | not_set | not_set | none | 0xec | none | 0.5 | none | test.pem | 100_101020.zip | + | blinky.bin | not_set | not_set | not_set | 0x6e | none | 0.5 | none | test.pem | 100_101021.zip | + | blinky.bin | not_set | not_set | 0x55 | 0x2d | none | 0.5 | none | test.pem | 100_101022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.5 | none | test.pem | 100_101100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.5 | none | test.pem | 100_101101.zip | + | blinky.bin | not_set | not_set | 0xfc | none | not_set | 0.5 | none | test.pem | 100_101102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.5 | none | test.pem | 100_101110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.5 | none | test.pem | 100_101111.zip | + | blinky.bin | not_set | not_set | 0xdb | not_set | not_set | 0.5 | none | test.pem | 100_101112.zip | + | blinky.bin | not_set | not_set | none | 0xb1 | not_set | 0.5 | none | test.pem | 100_101120.zip | + | blinky.bin | not_set | not_set | not_set | 0x10 | not_set | 0.5 | none | test.pem | 100_101121.zip | + | blinky.bin | not_set | not_set | 0xd4 | 0x9a | not_set | 0.5 | none | test.pem | 100_101122.zip | + | blinky.bin | not_set | not_set | none | none | 0xac | 0.5 | none | test.pem | 100_101200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x2e | 0.5 | none | test.pem | 100_101201.zip | + | blinky.bin | not_set | not_set | 0x8d | none | 0x93 | 0.5 | none | test.pem | 100_101202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x4e | 0.5 | none | test.pem | 100_101210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x5e | 0.5 | none | test.pem | 100_101211.zip | + | blinky.bin | not_set | not_set | 0x78 | not_set | 0x53 | 0.5 | none | test.pem | 100_101212.zip | + | blinky.bin | not_set | not_set | none | 0x76 | 0x7e | 0.5 | none | test.pem | 100_101220.zip | + | blinky.bin | not_set | not_set | not_set | 0x3b | 0x97 | 0.5 | none | test.pem | 100_101221.zip | + | blinky.bin | not_set | not_set | 0x71 | 0xe9 | 0xbc | 0.5 | none | test.pem | 100_101222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.6 | none | test.pem | 100_102000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.6 | none | test.pem | 100_102001.zip | + | blinky.bin | not_set | not_set | 0xe9 | none | none | 0.6 | none | test.pem | 100_102002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.6 | none | test.pem | 100_102010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.6 | none | test.pem | 100_102011.zip | + | blinky.bin | not_set | not_set | 0xa2 | not_set | none | 0.6 | none | test.pem | 100_102012.zip | + | blinky.bin | not_set | not_set | none | 0x26 | none | 0.6 | none | test.pem | 100_102020.zip | + | blinky.bin | not_set | not_set | not_set | 0x99 | none | 0.6 | none | test.pem | 100_102021.zip | + | blinky.bin | not_set | not_set | 0x72 | 0x3e | none | 0.6 | none | test.pem | 100_102022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.6 | none | test.pem | 100_102100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.6 | none | test.pem | 100_102101.zip | + | blinky.bin | not_set | not_set | 0x17 | none | not_set | 0.6 | none | test.pem | 100_102102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.6 | none | test.pem | 100_102110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.6 | none | test.pem | 100_102111.zip | + | blinky.bin | not_set | not_set | 0x9c | not_set | not_set | 0.6 | none | test.pem | 100_102112.zip | + | blinky.bin | not_set | not_set | none | 0xb9 | not_set | 0.6 | none | test.pem | 100_102120.zip | + | blinky.bin | not_set | not_set | not_set | 0x91 | not_set | 0.6 | none | test.pem | 100_102121.zip | + | blinky.bin | not_set | not_set | 0x5a | 0x17 | not_set | 0.6 | none | test.pem | 100_102122.zip | + | blinky.bin | not_set | not_set | none | none | 0x11 | 0.6 | none | test.pem | 100_102200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x8b | 0.6 | none | test.pem | 100_102201.zip | + | blinky.bin | not_set | not_set | 0x61 | none | 0x01 | 0.6 | none | test.pem | 100_102202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0xf4 | 0.6 | none | test.pem | 100_102210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x3e | 0.6 | none | test.pem | 100_102211.zip | + | blinky.bin | not_set | not_set | 0xb9 | not_set | 0xe4 | 0.6 | none | test.pem | 100_102212.zip | + | blinky.bin | not_set | not_set | none | 0xf3 | 0xcb | 0.6 | none | test.pem | 100_102220.zip | + | blinky.bin | not_set | not_set | not_set | 0x8d | 0xdd | 0.6 | none | test.pem | 100_102221.zip | + | blinky.bin | not_set | not_set | 0x69 | 0xa7 | 0xf3 | 0.6 | none | test.pem | 100_102222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.7 | none | test.pem | 100_103000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.7 | none | test.pem | 100_103001.zip | + | blinky.bin | not_set | not_set | 0xfe | none | none | 0.7 | none | test.pem | 100_103002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.7 | none | test.pem | 100_103010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.7 | none | test.pem | 100_103011.zip | + | blinky.bin | not_set | not_set | 0xdb | not_set | none | 0.7 | none | test.pem | 100_103012.zip | + | blinky.bin | not_set | not_set | none | 0xfa | none | 0.7 | none | test.pem | 100_103020.zip | + | blinky.bin | not_set | not_set | not_set | 0x3d | none | 0.7 | none | test.pem | 100_103021.zip | + | blinky.bin | not_set | not_set | 0xe1 | 0xc7 | none | 0.7 | none | test.pem | 100_103022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.7 | none | test.pem | 100_103100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.7 | none | test.pem | 100_103101.zip | + | blinky.bin | not_set | not_set | 0x74 | none | not_set | 0.7 | none | test.pem | 100_103102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.7 | none | test.pem | 100_103110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.7 | none | test.pem | 100_103111.zip | + | blinky.bin | not_set | not_set | 0xc2 | not_set | not_set | 0.7 | none | test.pem | 100_103112.zip | + | blinky.bin | not_set | not_set | none | 0x0a | not_set | 0.7 | none | test.pem | 100_103120.zip | + | blinky.bin | not_set | not_set | not_set | 0x3b | not_set | 0.7 | none | test.pem | 100_103121.zip | + | blinky.bin | not_set | not_set | 0x64 | 0xda | not_set | 0.7 | none | test.pem | 100_103122.zip | + | blinky.bin | not_set | not_set | none | none | 0x22 | 0.7 | none | test.pem | 100_103200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x32 | 0.7 | none | test.pem | 100_103201.zip | + | blinky.bin | not_set | not_set | 0xc8 | none | 0x2a | 0.7 | none | test.pem | 100_103202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x46 | 0.7 | none | test.pem | 100_103210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0xf5 | 0.7 | none | test.pem | 100_103211.zip | + | blinky.bin | not_set | not_set | 0xb6 | not_set | 0x5e | 0.7 | none | test.pem | 100_103212.zip | + | blinky.bin | not_set | not_set | none | 0x75 | 0xf6 | 0.7 | none | test.pem | 100_103220.zip | + | blinky.bin | not_set | not_set | not_set | 0xd7 | 0xc6 | 0.7 | none | test.pem | 100_103221.zip | + | blinky.bin | not_set | not_set | 0xe0 | 0xe5 | 0xb2 | 0.7 | none | test.pem | 100_103222.zip | + | blinky.bin | not_set | not_set | none | none | none | not_set | not_set | test.pem | 100_110000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | not_set | not_set | test.pem | 100_110001.zip | + | blinky.bin | not_set | not_set | 0xd4 | none | none | not_set | not_set | test.pem | 100_110002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | not_set | not_set | test.pem | 100_110010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | not_set | not_set | test.pem | 100_110011.zip | + | blinky.bin | not_set | not_set | 0x15 | not_set | none | not_set | not_set | test.pem | 100_110012.zip | + | blinky.bin | not_set | not_set | none | 0x5d | none | not_set | not_set | test.pem | 100_110020.zip | + | blinky.bin | not_set | not_set | not_set | 0x0e | none | not_set | not_set | test.pem | 100_110021.zip | + | blinky.bin | not_set | not_set | 0x08 | 0x5e | none | not_set | not_set | test.pem | 100_110022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | not_set | not_set | test.pem | 100_110100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | not_set | not_set | test.pem | 100_110101.zip | + | blinky.bin | not_set | not_set | 0xf9 | none | not_set | not_set | not_set | test.pem | 100_110102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | not_set | not_set | test.pem | 100_110110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | not_set | not_set | test.pem | 100_110111.zip | + | blinky.bin | not_set | not_set | 0x38 | not_set | not_set | not_set | not_set | test.pem | 100_110112.zip | + | blinky.bin | not_set | not_set | none | 0xb6 | not_set | not_set | not_set | test.pem | 100_110120.zip | + | blinky.bin | not_set | not_set | not_set | 0x19 | not_set | not_set | not_set | test.pem | 100_110121.zip | + | blinky.bin | not_set | not_set | 0x9d | 0xae | not_set | not_set | not_set | test.pem | 100_110122.zip | + | blinky.bin | not_set | not_set | none | none | 0xaf | not_set | not_set | test.pem | 100_110200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0xdc | not_set | not_set | test.pem | 100_110201.zip | + | blinky.bin | not_set | not_set | 0xfa | none | 0x14 | not_set | not_set | test.pem | 100_110202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0xc5 | not_set | not_set | test.pem | 100_110210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x1a | not_set | not_set | test.pem | 100_110211.zip | + | blinky.bin | not_set | not_set | 0x7f | not_set | 0xd9 | not_set | not_set | test.pem | 100_110212.zip | + | blinky.bin | not_set | not_set | none | 0xc1 | 0x25 | not_set | not_set | test.pem | 100_110220.zip | + | blinky.bin | not_set | not_set | not_set | 0x88 | 0xb9 | not_set | not_set | test.pem | 100_110221.zip | + | blinky.bin | not_set | not_set | 0x7f | 0x12 | 0x58 | not_set | not_set | test.pem | 100_110222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.5 | not_set | test.pem | 100_111000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.5 | not_set | test.pem | 100_111001.zip | + | blinky.bin | not_set | not_set | 0x15 | none | none | 0.5 | not_set | test.pem | 100_111002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.5 | not_set | test.pem | 100_111010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.5 | not_set | test.pem | 100_111011.zip | + | blinky.bin | not_set | not_set | 0x15 | not_set | none | 0.5 | not_set | test.pem | 100_111012.zip | + | blinky.bin | not_set | not_set | none | 0x47 | none | 0.5 | not_set | test.pem | 100_111020.zip | + | blinky.bin | not_set | not_set | not_set | 0xfa | none | 0.5 | not_set | test.pem | 100_111021.zip | + | blinky.bin | not_set | not_set | 0x2b | 0x25 | none | 0.5 | not_set | test.pem | 100_111022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.5 | not_set | test.pem | 100_111100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.5 | not_set | test.pem | 100_111101.zip | + | blinky.bin | not_set | not_set | 0x39 | none | not_set | 0.5 | not_set | test.pem | 100_111102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.5 | not_set | test.pem | 100_111110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.5 | not_set | test.pem | 100_111111.zip | + | blinky.bin | not_set | not_set | 0x33 | not_set | not_set | 0.5 | not_set | test.pem | 100_111112.zip | + | blinky.bin | not_set | not_set | none | 0x87 | not_set | 0.5 | not_set | test.pem | 100_111120.zip | + | blinky.bin | not_set | not_set | not_set | 0xe1 | not_set | 0.5 | not_set | test.pem | 100_111121.zip | + | blinky.bin | not_set | not_set | 0x53 | 0x4a | not_set | 0.5 | not_set | test.pem | 100_111122.zip | + | blinky.bin | not_set | not_set | none | none | 0x9b | 0.5 | not_set | test.pem | 100_111200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x06 | 0.5 | not_set | test.pem | 100_111201.zip | + | blinky.bin | not_set | not_set | 0xa5 | none | 0x3f | 0.5 | not_set | test.pem | 100_111202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x01 | 0.5 | not_set | test.pem | 100_111210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0xc7 | 0.5 | not_set | test.pem | 100_111211.zip | + | blinky.bin | not_set | not_set | 0xd7 | not_set | 0x80 | 0.5 | not_set | test.pem | 100_111212.zip | + | blinky.bin | not_set | not_set | none | 0x5d | 0x3f | 0.5 | not_set | test.pem | 100_111220.zip | + | blinky.bin | not_set | not_set | not_set | 0x91 | 0x15 | 0.5 | not_set | test.pem | 100_111221.zip | + | blinky.bin | not_set | not_set | 0xfd | 0x1a | 0xb6 | 0.5 | not_set | test.pem | 100_111222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.6 | not_set | test.pem | 100_112000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.6 | not_set | test.pem | 100_112001.zip | + | blinky.bin | not_set | not_set | 0x7f | none | none | 0.6 | not_set | test.pem | 100_112002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.6 | not_set | test.pem | 100_112010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.6 | not_set | test.pem | 100_112011.zip | + | blinky.bin | not_set | not_set | 0x72 | not_set | none | 0.6 | not_set | test.pem | 100_112012.zip | + | blinky.bin | not_set | not_set | none | 0x3d | none | 0.6 | not_set | test.pem | 100_112020.zip | + | blinky.bin | not_set | not_set | not_set | 0xbb | none | 0.6 | not_set | test.pem | 100_112021.zip | + | blinky.bin | not_set | not_set | 0xf7 | 0x20 | none | 0.6 | not_set | test.pem | 100_112022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.6 | not_set | test.pem | 100_112100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.6 | not_set | test.pem | 100_112101.zip | + | blinky.bin | not_set | not_set | 0x3d | none | not_set | 0.6 | not_set | test.pem | 100_112102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.6 | not_set | test.pem | 100_112110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.6 | not_set | test.pem | 100_112111.zip | + | blinky.bin | not_set | not_set | 0x2a | not_set | not_set | 0.6 | not_set | test.pem | 100_112112.zip | + | blinky.bin | not_set | not_set | none | 0x3d | not_set | 0.6 | not_set | test.pem | 100_112120.zip | + | blinky.bin | not_set | not_set | not_set | 0xdf | not_set | 0.6 | not_set | test.pem | 100_112121.zip | + | blinky.bin | not_set | not_set | 0x7a | 0x58 | not_set | 0.6 | not_set | test.pem | 100_112122.zip | + | blinky.bin | not_set | not_set | none | none | 0x80 | 0.6 | not_set | test.pem | 100_112200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x9f | 0.6 | not_set | test.pem | 100_112201.zip | + | blinky.bin | not_set | not_set | 0xd5 | none | 0x12 | 0.6 | not_set | test.pem | 100_112202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0xea | 0.6 | not_set | test.pem | 100_112210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x87 | 0.6 | not_set | test.pem | 100_112211.zip | + | blinky.bin | not_set | not_set | 0x39 | not_set | 0x84 | 0.6 | not_set | test.pem | 100_112212.zip | + | blinky.bin | not_set | not_set | none | 0x7f | 0x82 | 0.6 | not_set | test.pem | 100_112220.zip | + | blinky.bin | not_set | not_set | not_set | 0x6b | 0x66 | 0.6 | not_set | test.pem | 100_112221.zip | + | blinky.bin | not_set | not_set | 0x53 | 0xce | 0xe5 | 0.6 | not_set | test.pem | 100_112222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.7 | not_set | test.pem | 100_113000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.7 | not_set | test.pem | 100_113001.zip | + | blinky.bin | not_set | not_set | 0xed | none | none | 0.7 | not_set | test.pem | 100_113002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.7 | not_set | test.pem | 100_113010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.7 | not_set | test.pem | 100_113011.zip | + | blinky.bin | not_set | not_set | 0x4c | not_set | none | 0.7 | not_set | test.pem | 100_113012.zip | + | blinky.bin | not_set | not_set | none | 0x7d | none | 0.7 | not_set | test.pem | 100_113020.zip | + | blinky.bin | not_set | not_set | not_set | 0x7a | none | 0.7 | not_set | test.pem | 100_113021.zip | + | blinky.bin | not_set | not_set | 0x59 | 0x4a | none | 0.7 | not_set | test.pem | 100_113022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.7 | not_set | test.pem | 100_113100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.7 | not_set | test.pem | 100_113101.zip | + | blinky.bin | not_set | not_set | 0x3f | none | not_set | 0.7 | not_set | test.pem | 100_113102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.7 | not_set | test.pem | 100_113110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.7 | not_set | test.pem | 100_113111.zip | + | blinky.bin | not_set | not_set | 0x71 | not_set | not_set | 0.7 | not_set | test.pem | 100_113112.zip | + | blinky.bin | not_set | not_set | none | 0x9e | not_set | 0.7 | not_set | test.pem | 100_113120.zip | + | blinky.bin | not_set | not_set | not_set | 0xc4 | not_set | 0.7 | not_set | test.pem | 100_113121.zip | + | blinky.bin | not_set | not_set | 0xe8 | 0xa5 | not_set | 0.7 | not_set | test.pem | 100_113122.zip | + | blinky.bin | not_set | not_set | none | none | 0x57 | 0.7 | not_set | test.pem | 100_113200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0xae | 0.7 | not_set | test.pem | 100_113201.zip | + | blinky.bin | not_set | not_set | 0xb7 | none | 0xd0 | 0.7 | not_set | test.pem | 100_113202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0xe1 | 0.7 | not_set | test.pem | 100_113210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x76 | 0.7 | not_set | test.pem | 100_113211.zip | + | blinky.bin | not_set | not_set | 0xa2 | not_set | 0x80 | 0.7 | not_set | test.pem | 100_113212.zip | + | blinky.bin | not_set | not_set | none | 0x75 | 0xff | 0.7 | not_set | test.pem | 100_113220.zip | + | blinky.bin | not_set | not_set | not_set | 0xb1 | 0xc8 | 0.7 | not_set | test.pem | 100_113221.zip | + | blinky.bin | not_set | not_set | 0x64 | 0x64 | 0x79 | 0.7 | not_set | test.pem | 100_113222.zip | + | blinky.bin | not_set | not_set | none | none | none | not_set | 0xedc8 | test.pem | 100_120000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | not_set | 0x2c1d | test.pem | 100_120001.zip | + | blinky.bin | not_set | not_set | 0xe8 | none | none | not_set | 0x3ace,0x2f36 | test.pem | 100_120002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | not_set | 0x81ef,0xab1e | test.pem | 100_120010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | not_set | 0x6be6,0xaa70,0x769d | test.pem | 100_120011.zip | + | blinky.bin | not_set | not_set | 0x27 | not_set | none | not_set | 0x4ae0,0x9c9b,0x37ab | test.pem | 100_120012.zip | + | blinky.bin | not_set | not_set | none | 0x84 | none | not_set | 0x6387,0x1cbb,0x2307,0x917e | test.pem | 100_120020.zip | + | blinky.bin | not_set | not_set | not_set | 0x43 | none | not_set | 0x238c,0xedab | test.pem | 100_120021.zip | + | blinky.bin | not_set | not_set | 0xb8 | 0x96 | none | not_set | 0xa0e9,0x7477,0x4831,0x675c | test.pem | 100_120022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | not_set | 0x631f,0x300a | test.pem | 100_120100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | not_set | 0x30de | test.pem | 100_120101.zip | + | blinky.bin | not_set | not_set | 0x53 | none | not_set | not_set | 0xfb81 | test.pem | 100_120102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | not_set | 0xba05,0xd884,0xf29d,0x42b4 | test.pem | 100_120110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | not_set | 0x7fd8 | test.pem | 100_120111.zip | + | blinky.bin | not_set | not_set | 0x79 | not_set | not_set | not_set | 0x5100 | test.pem | 100_120112.zip | + | blinky.bin | not_set | not_set | none | 0x0f | not_set | not_set | 0x9246,0x5db5,0x96b6 | test.pem | 100_120120.zip | + | blinky.bin | not_set | not_set | not_set | 0xae | not_set | not_set | 0x3eff | test.pem | 100_120121.zip | + | blinky.bin | not_set | not_set | 0x44 | 0x27 | not_set | not_set | 0xb087,0x70da | test.pem | 100_120122.zip | + | blinky.bin | not_set | not_set | none | none | 0xe6 | not_set | 0xd3b0 | test.pem | 100_120200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x2c | not_set | 0x9c41,0x953e | test.pem | 100_120201.zip | + | blinky.bin | not_set | not_set | 0x78 | none | 0x36 | not_set | 0x6453,0xe79c,0x9a72,0x0054 | test.pem | 100_120202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x70 | not_set | 0xac7a | test.pem | 100_120210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x52 | not_set | 0xebe0,0x77a8,0x2fb2 | test.pem | 100_120211.zip | + | blinky.bin | not_set | not_set | 0x58 | not_set | 0x08 | not_set | 0xb475 | test.pem | 100_120212.zip | + | blinky.bin | not_set | not_set | none | 0x3b | 0xf2 | not_set | 0xfd44 | test.pem | 100_120220.zip | + | blinky.bin | not_set | not_set | not_set | 0x7d | 0x6e | not_set | 0x484e,0xa1e1,0xee6e,0x23e6 | test.pem | 100_120221.zip | + | blinky.bin | not_set | not_set | 0xc7 | 0x2d | 0xdf | not_set | 0x87c8,0x4c7a | test.pem | 100_120222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.5 | 0xa594,0xd782,0xd2de,0x10a5 | test.pem | 100_121000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.5 | 0x49a7,0xccdb | test.pem | 100_121001.zip | + | blinky.bin | not_set | not_set | 0x50 | none | none | 0.5 | 0x4d22,0x7c0a,0x1b8b,0x8ac1 | test.pem | 100_121002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.5 | 0x2486,0x5254,0x4d24,0xf56b | test.pem | 100_121010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.5 | 0x76de | test.pem | 100_121011.zip | + | blinky.bin | not_set | not_set | 0x34 | not_set | none | 0.5 | 0x6bbc,0xcea5,0xb74b | test.pem | 100_121012.zip | + | blinky.bin | not_set | not_set | none | 0xb8 | none | 0.5 | 0x825c,0x4269 | test.pem | 100_121020.zip | + | blinky.bin | not_set | not_set | not_set | 0xf7 | none | 0.5 | 0x9bcf | test.pem | 100_121021.zip | + | blinky.bin | not_set | not_set | 0xea | 0x46 | none | 0.5 | 0x6cf7 | test.pem | 100_121022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.5 | 0xe7ce,0xba8c,0x9a8c,0x61bf | test.pem | 100_121100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.5 | 0x7926,0xf847 | test.pem | 100_121101.zip | + | blinky.bin | not_set | not_set | 0x9b | none | not_set | 0.5 | 0x6f8c | test.pem | 100_121102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.5 | 0x6d71,0xdddd,0x4388 | test.pem | 100_121110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.5 | 0x0daf,0xb6d7 | test.pem | 100_121111.zip | + | blinky.bin | not_set | not_set | 0x33 | not_set | not_set | 0.5 | 0x2ec2,0xc08c,0x54cb,0x69f9 | test.pem | 100_121112.zip | + | blinky.bin | not_set | not_set | none | 0x57 | not_set | 0.5 | 0x3760 | test.pem | 100_121120.zip | + | blinky.bin | not_set | not_set | not_set | 0x2d | not_set | 0.5 | 0xba4e,0x93b4,0x1a91 | test.pem | 100_121121.zip | + | blinky.bin | not_set | not_set | 0xd4 | 0x7b | not_set | 0.5 | 0x326e,0x5fb1 | test.pem | 100_121122.zip | + | blinky.bin | not_set | not_set | none | none | 0x07 | 0.5 | 0x6e23,0xd2d5,0x28f0 | test.pem | 100_121200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x74 | 0.5 | 0x5ceb,0x3e76,0x3d4f | test.pem | 100_121201.zip | + | blinky.bin | not_set | not_set | 0xe3 | none | 0x24 | 0.5 | 0xccc6,0xd5cc,0x48af,0x26fd | test.pem | 100_121202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x50 | 0.5 | 0x9ed9,0x3d56,0x3464,0x14a0 | test.pem | 100_121210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x8b | 0.5 | 0x8ce3,0xe7ed,0x6a8e,0x2f5e | test.pem | 100_121211.zip | + | blinky.bin | not_set | not_set | 0xc0 | not_set | 0x98 | 0.5 | 0x281c,0xde91,0x829d | test.pem | 100_121212.zip | + | blinky.bin | not_set | not_set | none | 0xe5 | 0x99 | 0.5 | 0x7bc5,0xd7f9,0x3f17 | test.pem | 100_121220.zip | + | blinky.bin | not_set | not_set | not_set | 0xf7 | 0x2d | 0.5 | 0xb170,0x2cb4,0x6d74,0xc280 | test.pem | 100_121221.zip | + | blinky.bin | not_set | not_set | 0xda | 0x15 | 0x21 | 0.5 | 0xcc28 | test.pem | 100_121222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.6 | 0xbd91,0xb19f | test.pem | 100_122000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.6 | 0xe15e,0xb1a8,0xb30f | test.pem | 100_122001.zip | + | blinky.bin | not_set | not_set | 0x15 | none | none | 0.6 | 0x1cb4,0xe663,0x990c | test.pem | 100_122002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.6 | 0xd0c7,0xd442,0x4b54,0xe00a | test.pem | 100_122010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.6 | 0x4589,0x2a0f,0x2dad | test.pem | 100_122011.zip | + | blinky.bin | not_set | not_set | 0x46 | not_set | none | 0.6 | 0xc3d8,0xbfb4,0xb477,0x44fb | test.pem | 100_122012.zip | + | blinky.bin | not_set | not_set | none | 0x2e | none | 0.6 | 0xc508,0x6ad9 | test.pem | 100_122020.zip | + | blinky.bin | not_set | not_set | not_set | 0xff | none | 0.6 | 0x37bf,0x3db0,0x53c5 | test.pem | 100_122021.zip | + | blinky.bin | not_set | not_set | 0x1f | 0x00 | none | 0.6 | 0xf7e7 | test.pem | 100_122022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.6 | 0x768d,0x6506,0x49b0,0xe4f4 | test.pem | 100_122100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.6 | 0xb2ce | test.pem | 100_122101.zip | + | blinky.bin | not_set | not_set | 0x57 | none | not_set | 0.6 | 0x9f32,0x1aec,0x0c11,0xe22a | test.pem | 100_122102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.6 | 0x002a,0x56ea,0xa835,0x4ff8 | test.pem | 100_122110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.6 | 0x5d36 | test.pem | 100_122111.zip | + | blinky.bin | not_set | not_set | 0x3a | not_set | not_set | 0.6 | 0x860a,0x335c,0xd037 | test.pem | 100_122112.zip | + | blinky.bin | not_set | not_set | none | 0xab | not_set | 0.6 | 0x46a7 | test.pem | 100_122120.zip | + | blinky.bin | not_set | not_set | not_set | 0x7f | not_set | 0.6 | 0xbf23,0x00d4 | test.pem | 100_122121.zip | + | blinky.bin | not_set | not_set | 0x99 | 0x1b | not_set | 0.6 | 0xfac2 | test.pem | 100_122122.zip | + | blinky.bin | not_set | not_set | none | none | 0x47 | 0.6 | 0x7548,0x8a18 | test.pem | 100_122200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0xcb | 0.6 | 0x4f4e | test.pem | 100_122201.zip | + | blinky.bin | not_set | not_set | 0xa2 | none | 0xbb | 0.6 | 0x0dac | test.pem | 100_122202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0x70 | 0.6 | 0x9b2d,0x89fa | test.pem | 100_122210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x27 | 0.6 | 0x6353,0x7647 | test.pem | 100_122211.zip | + | blinky.bin | not_set | not_set | 0x11 | not_set | 0xff | 0.6 | 0x8ca7,0x2665 | test.pem | 100_122212.zip | + | blinky.bin | not_set | not_set | none | 0x39 | 0xb7 | 0.6 | 0x644e,0xc60b,0xbf44 | test.pem | 100_122220.zip | + | blinky.bin | not_set | not_set | not_set | 0xad | 0x71 | 0.6 | 0x1fa6,0x5cf3,0x430b,0x4fd2 | test.pem | 100_122221.zip | + | blinky.bin | not_set | not_set | 0x27 | 0x3d | 0xd8 | 0.6 | 0x3b4a,0x45f0,0xc4c7,0x8af3 | test.pem | 100_122222.zip | + | blinky.bin | not_set | not_set | none | none | none | 0.7 | 0xa000,0x4356,0x70dc,0x2304 | test.pem | 100_123000.zip | + | blinky.bin | not_set | not_set | not_set | none | none | 0.7 | 0xfe10,0x31db | test.pem | 100_123001.zip | + | blinky.bin | not_set | not_set | 0xe4 | none | none | 0.7 | 0xf113,0x84fd | test.pem | 100_123002.zip | + | blinky.bin | not_set | not_set | none | not_set | none | 0.7 | 0xdad5,0x5b52,0xb732,0x0445 | test.pem | 100_123010.zip | + | blinky.bin | not_set | not_set | not_set | not_set | none | 0.7 | 0x2be7,0x9f38 | test.pem | 100_123011.zip | + | blinky.bin | not_set | not_set | 0x58 | not_set | none | 0.7 | 0xeb9d | test.pem | 100_123012.zip | + | blinky.bin | not_set | not_set | none | 0xbb | none | 0.7 | 0x399c | test.pem | 100_123020.zip | + | blinky.bin | not_set | not_set | not_set | 0x5c | none | 0.7 | 0x140d | test.pem | 100_123021.zip | + | blinky.bin | not_set | not_set | 0x17 | 0x83 | none | 0.7 | 0x48b7,0xd0a3,0xbec0,0x1b48 | test.pem | 100_123022.zip | + | blinky.bin | not_set | not_set | none | none | not_set | 0.7 | 0x2506,0xe218,0x6d03 | test.pem | 100_123100.zip | + | blinky.bin | not_set | not_set | not_set | none | not_set | 0.7 | 0x9e42,0x629e | test.pem | 100_123101.zip | + | blinky.bin | not_set | not_set | 0xbf | none | not_set | 0.7 | 0x6314 | test.pem | 100_123102.zip | + | blinky.bin | not_set | not_set | none | not_set | not_set | 0.7 | 0x7f87,0xbb8e,0xa3d9 | test.pem | 100_123110.zip | + | blinky.bin | not_set | not_set | not_set | not_set | not_set | 0.7 | 0xb55b | test.pem | 100_123111.zip | + | blinky.bin | not_set | not_set | 0x07 | not_set | not_set | 0.7 | 0x855b | test.pem | 100_123112.zip | + | blinky.bin | not_set | not_set | none | 0x88 | not_set | 0.7 | 0x661b,0x6082,0x0add,0x5f93 | test.pem | 100_123120.zip | + | blinky.bin | not_set | not_set | not_set | 0xfa | not_set | 0.7 | 0x1f06,0x7c8b,0x53dc,0xf342 | test.pem | 100_123121.zip | + | blinky.bin | not_set | not_set | 0xf8 | 0xd5 | not_set | 0.7 | 0x8381,0x3cc5,0x1392 | test.pem | 100_123122.zip | + | blinky.bin | not_set | not_set | none | none | 0xf3 | 0.7 | 0x46c6,0xa2a9 | test.pem | 100_123200.zip | + | blinky.bin | not_set | not_set | not_set | none | 0x00 | 0.7 | 0x5127,0xed30,0x194c,0x8c7a | test.pem | 100_123201.zip | + | blinky.bin | not_set | not_set | 0xe4 | none | 0xd3 | 0.7 | 0xd2a4,0xb1a6,0x4cd6,0x2fa5 | test.pem | 100_123202.zip | + | blinky.bin | not_set | not_set | none | not_set | 0xd2 | 0.7 | 0x63d4,0x01f2,0x5a63 | test.pem | 100_123210.zip | + | blinky.bin | not_set | not_set | not_set | not_set | 0x9b | 0.7 | 0xa64e,0x9586,0xc0b5 | test.pem | 100_123211.zip | + | blinky.bin | not_set | not_set | 0x6f | not_set | 0x0e | 0.7 | 0x4b13 | test.pem | 100_123212.zip | + | blinky.bin | not_set | not_set | none | 0xf8 | 0xcc | 0.7 | 0xa27a,0x1aab,0x7677 | test.pem | 100_123220.zip | + | blinky.bin | not_set | not_set | not_set | 0x89 | 0x00 | 0.7 | 0x1595,0x01e3,0x5b1b | test.pem | 100_123221.zip | + | blinky.bin | not_set | not_set | 0x2c | 0x2b | 0xc8 | 0.7 | 0xba47,0x8a49 | test.pem | 100_123222.zip | diff --git a/circuitpython/lib/nrfutil/tests/bdd/genpkg_help_information.feature b/circuitpython/lib/nrfutil/tests/bdd/genpkg_help_information.feature new file mode 100644 index 0000000..01d62d5 --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/bdd/genpkg_help_information.feature @@ -0,0 +1,10 @@ +Feature: Help information + Scenario: User types --help + Given user types 'nrfutil dfu genpkg --help' + When user press enter + Then output contains 'Generate a zipfile package for distribution to Apps supporting Nordic DFU' and exit code is 0 + + Scenario: User does not type mandatory arguments + Given user types 'nrfutil dfu genpkg' + When user press enter + Then output contains 'Error: Missing argument "zipfile".' and exit code is 2 diff --git a/circuitpython/lib/nrfutil/tests/bdd/steps/common_steps.py b/circuitpython/lib/nrfutil/tests/bdd/steps/common_steps.py new file mode 100644 index 0000000..ffe7459 --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/bdd/steps/common_steps.py @@ -0,0 +1,84 @@ +# Copyright (c) 2015, Nordic Semiconductor +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +from Queue import Queue +import logging +import os +import subprocess +from threading import Thread +from util import process_pipe, ON_POSIX + +logger = logging.getLogger(__file__) + + +class Exec(object): + def __init__(self, exec_path): + self.path = exec_path + self.name = os.path.basename(self.path) + self.dir = os.path.dirname(self.path) + self.out_queue = Queue() + self.stdout_thread = None + self.stderr_thread = None + self.process = None + + def execute(self, args, working_directory): + args = args + shell = False + + args.insert(0, self.path) + + self.process = subprocess.Popen(args=args, + bufsize=0, + cwd=working_directory, + executable=self.path, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + close_fds=ON_POSIX, + universal_newlines=True, + shell=shell) + + if self.process.poll() is not None: + raise Exception("Error starting {} application {}, return code is {}".format( + self.path, + self.process.poll())) + + self.stdout_thread = Thread(target=process_pipe, args=(self.process.stdout, self.out_queue)) + self.stdout_thread.start() + + self.stderr_thread = Thread(target=process_pipe, args=(self.process.stderr, self.out_queue)) + self.stderr_thread.start() + + def kill(self): + if self.process is not None: + self.process.kill() + self.process.stdin.close() + + +def get_resources_path(): + return os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "..", "resources") diff --git a/circuitpython/lib/nrfutil/tests/bdd/steps/genpkg_generate_dfu_package_steps.py b/circuitpython/lib/nrfutil/tests/bdd/steps/genpkg_generate_dfu_package_steps.py new file mode 100644 index 0000000..9cab77a --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/bdd/steps/genpkg_generate_dfu_package_steps.py @@ -0,0 +1,250 @@ +# Copyright (c) 2015, Nordic Semiconductor +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import json +import logging +import os +from zipfile import ZipFile +from behave import given, then, when +from click.testing import CliRunner +from nordicsemi.__main__ import cli, int_as_text_to_int +from common_steps import get_resources_path + + +logger = logging.getLogger(__file__) + + +@given(u'the user wants to generate a DFU package with application {application}, bootloader {bootloader} and SoftDevice {softdevice} with name {package}') +def step_impl(context, application, bootloader, softdevice, package): + runner = CliRunner() + context.runner = runner + args = ['dfu', 'genpkg'] + + if application != u'not_set': + args.extend(['--application', os.path.join(get_resources_path(), application)]) + context.application = application + else: + context.application = None + + if bootloader != u'not_set': + args.extend(['--bootloader', os.path.join(get_resources_path(), bootloader)]) + context.bootloader = bootloader + else: + context.bootloader = None + + if softdevice != u'not_set': + args.extend(['--softdevice', os.path.join(get_resources_path(), softdevice)]) + context.softdevice = softdevice + else: + context.softdevice = None + + args.append(package) + + context.args = args + + +@given(u'with option --application-version {app_ver}') +def step_impl(context, app_ver): + context.application_version = None + + if app_ver == u'not_set': + context.application_version = 0xFFFFFFFF + elif app_ver == u'none': + context.args.extend(['--application-version', 'None']) + else: + context.args.extend(['--application-version', app_ver]) + context.application_version = int_as_text_to_int(app_ver) + + +@given(u'with option --dev-revision {dev_rev}') +def step_impl(context, dev_rev): + context.dev_revision = None + + if dev_rev == u'not_set': + context.dev_revision = 0xFFFF + elif dev_rev == u'none': + context.args.extend(['--dev-revision', 'None']) + else: + context.args.extend(['--dev-revision', dev_rev]) + context.dev_revision = int_as_text_to_int(dev_rev) + + +@given(u'with option --dev-type {dev_type}') +def step_impl(context, dev_type): + context.dev_type = None + + if dev_type == u'not_set': + context.dev_type = 0xFFFF + elif dev_type == u'none': + context.args.extend(['--dev-type', 'None']) + else: + context.args.extend(['--dev-type', dev_type]) + context.dev_type = int_as_text_to_int(dev_type) + + +@given(u'with option --dfu-ver {dfu_ver}') +def step_impl(context, dfu_ver): + context.firmware_hash = None + context.ext_packet_id = None + context.init_packet_ecds = None + + if dfu_ver == u'not_set': + context.dfu_ver = 0.5 + context.ext_packet_id = 0 + else: + if dfu_ver == 0.5: + pass + elif dfu_ver == 0.6: + context.ext_packet_id = 0 + elif dfu_ver == 0.7: + context.ext_packet_id = 1 + context.firmware_hash = 'exists' + elif dfu_ver == 0.8: + context.ext_packet_id = 2 + context.firmware_hash = 'exists' + context.init_packet_ecds = 'exists' + + context.args.extend(['--dfu-ver', dfu_ver]) + context.dfu_ver = float(dfu_ver) + + +@given(u'with option --sd-req {sd_reqs}') +def step_impl(context, sd_reqs): + context.sd_req = None + + if sd_reqs == u'not_set': + context.sd_req = [0xFFFE] + elif sd_reqs == u'none': + context.args.extend(['--sd-req', 'None']) + else: + context.args.extend(['--sd-req', sd_reqs]) + + sd_reqs = sd_reqs.split(",") + sd_reqs_value = [] + + for sd_req in sd_reqs: + sd_reqs_value.append(int_as_text_to_int(sd_req)) + + context.sd_req = sd_reqs_value + + +@given(u'with option --key-file {pem_file}') +def step_impl(context, pem_file): + if pem_file != u'not_set': + context.args.extend(['--key-file', os.path.join(get_resources_path(), pem_file)]) + context.dfu_ver = 0.8 + + +@when(u'user press enter') +def step_impl(context): + pass + + +@then(u'the generated DFU package {package} contains correct data') +def step_impl(context, package): + with context.runner.isolated_filesystem(): + pkg_full_name = os.path.join(os.getcwd(), package) + logger.debug("Package full name %s", pkg_full_name) + + result = context.runner.invoke(cli, context.args) + logger.debug("exit_code: %s, output: \'%s\'", result.exit_code, result.output) + assert result.exit_code == 0 + + with ZipFile(pkg_full_name, 'r') as pkg: + infolist = pkg.infolist() + + expected_zip_content = ["manifest.json"] + + if context.bootloader and context.softdevice: + expected_zip_content.append("sd_bl.bin") + expected_zip_content.append("sd_bl.dat") + elif context.bootloader: + expected_zip_content.append(context.bootloader.split(".")[0] + ".bin") + expected_zip_content.append(context.bootloader.split(".")[0] + ".dat") + elif context.softdevice: + expected_zip_content.append(context.softdevice.split(".")[0] + ".bin") + expected_zip_content.append(context.softdevice.split(".")[0] + ".dat") + + if context.application: + expected_zip_content.append(context.application.split(".")[0] + '.bin') + expected_zip_content.append(context.application.split(".")[0] + '.dat') + + for file_information in infolist: + assert file_information.filename in expected_zip_content + assert file_information.file_size > 0 + + # Extract all and load json document to see if it is correct regarding to paths + pkg.extractall() + + with open('manifest.json', 'r') as f: + _json = json.load(f) + + if context.dfu_ver: + assert 'dfu_version' in _json['manifest'] + assert _json['manifest']['dfu_version'] == context.dfu_ver + + if context.bootloader and context.softdevice: + data = _json['manifest']['softdevice_bootloader']['init_packet_data'] + assert_init_packet_data(context, data) + elif context.bootloader: + data = _json['manifest']['bootloader']['init_packet_data'] + assert_init_packet_data(context, data) + elif context.softdevice: + data = _json['manifest']['softdevice']['init_packet_data'] + assert_init_packet_data(context, data) + if context.application: + data = _json['manifest']['application']['init_packet_data'] + assert_init_packet_data(context, data) + + +def assert_init_packet_data(context, data): + if context.application_version: + assert 'application_version' in data + assert data['application_version'] == context.application_version + + if context.dev_revision: + assert 'device_revision' in data + assert data['device_revision'] == context.dev_revision + + if context.dev_type: + assert 'device_type' in data + assert data['device_type'] == context.dev_type + + if context.sd_req: + assert 'softdevice_req' in data + assert data['softdevice_req'] == context.sd_req + + if context.ext_packet_id: + assert 'ext_packet_id' in data + assert data['ext_packet_id'] == context.ext_packet_id + + if context.firmware_hash: + assert 'firmware_hash' in data + + if context.init_packet_ecds: + assert 'init_packet_ecds' in data diff --git a/circuitpython/lib/nrfutil/tests/bdd/steps/genpkg_help_information_steps.py b/circuitpython/lib/nrfutil/tests/bdd/steps/genpkg_help_information_steps.py new file mode 100644 index 0000000..7ea98b5 --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/bdd/steps/genpkg_help_information_steps.py @@ -0,0 +1,64 @@ +# Copyright (c) 2015, Nordic Semiconductor +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +from Queue import Empty +import logging +import os +import time +import sys + +from click.testing import CliRunner +from behave import then, given, when + +from nordicsemi.__main__ import cli, int_as_text_to_int + + +logger = logging.getLogger(__file__) + +STDOUT_TEXT_WAIT_TIME = 50 # Number of seconds to wait for expected output from stdout + + +@given(u'user types \'{command}\'') +def step_impl(context, command): + args = command.split(' ') + assert args[0] == 'nrfutil' + + exec_args = args[1:] + + runner = CliRunner() + context.runner = runner + context.args = exec_args + + +@then(u'output contains \'{stdout_text}\' and exit code is {exit_code}') +def step_impl(context, stdout_text, exit_code): + result = context.runner.invoke(cli, context.args) + logger.debug("exit_code: %s, output: \'%s\'", result.exit_code, result.output) + assert result.exit_code == int_as_text_to_int(exit_code) + assert result.output != None + assert result.output.find(stdout_text) >= 0 diff --git a/circuitpython/lib/nrfutil/tests/bdd/steps/util.py b/circuitpython/lib/nrfutil/tests/bdd/steps/util.py new file mode 100644 index 0000000..ba46075 --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/bdd/steps/util.py @@ -0,0 +1,154 @@ +# Copyright (c) 2015, Nordic Semiconductor +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +from random import randint +import time +import sys +import math + +ON_POSIX = 'posix' in sys.builtin_module_names + + +def process_pipe(pipe, queue): + for line in iter(pipe.readline, b''): + queue.put({'type': 'output', 'data': line}) + + pipe.close() + queue.put({'type': 'output_terminated'}) + + +def kill_process(target): + if 'proc' in target: + target['proc'].kill() + + # Close file descriptors + target['proc'].stdin.close() + time.sleep(1) # Let the application terminate before proceeding + + +def kill_processes(context): + targets = context.target_registry.get_all() + + for target in targets: + kill_process(target) + + +def generate_options_table_for_cucumber(): + retval = "" + + number_of_2_option_options = 1 + number_of_3_option_options = 4 + number_of_4_option_options = 1 + + number_of_optional_option_permutations = 1 + number_of_optional_option_permutations *= int(math.pow(2, number_of_2_option_options)) + number_of_optional_option_permutations *= int(math.pow(3, number_of_3_option_options)) + number_of_optional_option_permutations *= int(math.pow(4, number_of_4_option_options)) + + for x in xrange(0, number_of_optional_option_permutations): + retval += "{0:<8}".format(" ") + retval += "| {0:<12}| {1:<29}| {2:<29}|".format("blinky.bin", "not_set", "not_set") + + permutation_name = "" + options_factor = 1 + + option = int(x / options_factor % 3) + options_factor *= 3 + permutation_name = str(option) + permutation_name + + if option == 0: + retval += " {0:<8}|".format("none") + if option == 1: + retval += " {0:<8}|".format("not_set") + if option == 2: + retval += " {0:<8}|".format("0x{0:02x}".format(randint(0, 255))) + + option = int(x / options_factor % 3) + options_factor *= 3 + permutation_name = str(option) + permutation_name + + if option == 0: + retval += " {0:<8}|".format("none") + if option == 1: + retval += " {0:<8}|".format("not_set") + if option == 2: + retval += " {0:<8}|".format("0x{0:02x}".format(randint(0, 255))) + + option = int(x / options_factor % 3) + options_factor *= 3 + permutation_name = str(option) + permutation_name + + if option == 0: + retval += " {0:<9}|".format("none") + if option == 1: + retval += " {0:<9}|".format("not_set") + if option == 2: + retval += " {0:<9}|".format("0x{0:02x}".format(randint(0, 255))) + + + option = int(x / options_factor % 4) + options_factor *= 4 + permutation_name = str(option) + permutation_name + + if option == 0: + retval += " {0:<8}|".format("not_set") + if option == 1: + retval += " {0:<8}|".format("0.5") + if option == 2: + retval += " {0:<8}|".format("0.6") + if option == 3: + retval += " {0:<8}|".format("0.7") + + option = int(x / options_factor % 3) + options_factor *= 3 + permutation_name = str(option) + permutation_name + + if option == 0: + retval += " {0:<28}|".format("none") + if option == 1: + retval += " {0:<28}|".format("not_set") + if option == 2: + sd_reqs = [] + + for i in xrange(0, randint(1, 4)): + sd_reqs.append("0x{0:04x}".format(randint(0, 65535))) + + retval += " {0:<28}|".format(",".join(sd_reqs)) + + option = int(x / options_factor % 2) + permutation_name = str(option) + permutation_name + + if option == 0: + retval += " {0:<9}|".format("not_set") + if option == 1: + retval += " {0:<9}|".format("test.pem") + + retval += " {0:<15}|".format("100_{0:0>6}.zip".format(permutation_name)) + retval += "\n" + + return retval diff --git a/circuitpython/lib/nrfutil/tests/resources/blinky.bin b/circuitpython/lib/nrfutil/tests/resources/blinky.bin Binary files differnew file mode 100644 index 0000000..b745f0d --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/resources/blinky.bin diff --git a/circuitpython/lib/nrfutil/tests/resources/dfu_test_app_hrm_s110.hex b/circuitpython/lib/nrfutil/tests/resources/dfu_test_app_hrm_s110.hex new file mode 100644 index 0000000..7270637 --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/resources/dfu_test_app_hrm_s110.hex @@ -0,0 +1,1229 @@ +:020000040001F9 +:108000005031002059810100738101007581010008 +:108010000000000000000000000000000000000060 +:108020000000000000000000000000007781010057 +:108030000000000000000000798101007B81010048 +:108040007D8101007D810100918401007D8101001D +:108050007D81010000000000A98201007D810100F6 +:108060007D8101007D8101007D8101007D81010014 +:108070007D8101007D8101007D8101007D81010004 +:108080007D810100A58301007D8101007D810100CA +:10809000C58301007D810100198401007D810100FB +:1080A0007D8101007D8101000000000000000000D2 +:1080B00000000000000000000000000000000000C0 +:1080C0000348854600F0C0F800480047C5B80100E5 +:1080D00050310020401E00BF00BF00BF00BF00BFE6 +:1080E00000BF00BF00BF00BF00BF00BF00BFF1D195 +:1080F00070470000401E00BF00BF00BF00BF00BFB0 +:1081000000BF00BF00BF00BF00BF00BF00BFF1D174 +:1081100070470000056885F3088846680A4AEFF34F +:1081200005839A42304602D1084CA6463047074C98 +:10813000064D0646064FF0B4034C034D024E024F67 +:10814000F0B404480047000000000000FFFFFFFFFC +:1081500000000021F9FFFFFF0321094802680A43DC +:108160000260084802680A430260074880470748DF +:108170000047FEE7FEE7FEE7FEE7FEE7FEE700005A +:1081800024050040540500403D840100C1800100E9 +:1081900030B50B46014600202022012409E00D469F +:1081A000D5409D4205D31D469540491B2546954027 +:1081B00040191546521E002DF1DC30BD10B5431A92 +:1081C000934209D28318881803E0401E01785B1E91 +:1081D0001970521EF9D210BD03460B439B0703D002 +:1081E00009E008C9121F08C0042AFAD203E00B787C +:1081F0000370401C491C521EF9D210BDD2B201E0DE +:108200000270401C491EFBD270470022F6E710B5F1 +:1082100013460A4604461946FFF7F0FF204610BDF4 +:10822000421C0178401C0029FBD1801A704730B5F0 +:1082300004460020034600E05B1C934203D2E05C4E +:10824000CD5C401BF8D030BD064C0125064E05E044 +:10825000E36807CC2B430C3C98471034B442F7D367 +:10826000FFF732FF50CC010070CC010030B58C1804 +:108270000278401C13071B0F01D10378401C120920 +:1082800006D10278401C03E005780D70401C491CA3 +:108290005B1EF9D101E00B70491C521EFBD1A142BB +:1082A000E6D3002030BD0000F0B52A4885B004694F +:1082B00029480021C1630E46284F45E01420796803 +:1082C000704345180120B968B04008423AD00020F8 +:1082D00000900390E8682968C04360400840014668 +:1082E0000290284604F036F81A4800692968604070 +:1082F000084016D0224642400192E868C0435040F0 +:10830000084001460090284604F024F8019A00989D +:10831000A9689043014003910098696802401140A8 +:1083200000910298A968A04301400398029A014372 +:10833000686822401040009A104302460A4301D068 +:108340002A699047761CF6B278788642B6D305B093 +:10835000F0BD0000000500504061004038210020C1 +:108360008307FF22DB0E9A408907090E99400028F7 +:108370000BDA0007000F0838830808489B0018181C +:10838000C36993430B43C3617047830804489B0050 +:108390001B181868904308431860704700ED00E010 +:1083A00000E400E010B506490020086048608860DD +:1083B000C860034940390860486004F09BFA10BD6A +:1083C00040110140FEB50020C043124D0290686983 +:1083D000019068462E6902F0F5FE074603F0B0F9F9 +:1083E0000446002F08D002AA0199009802F00AFF63 +:1083F000029803F0EFF906E0029803F0EBF9002889 +:1084000001D1002C02D0304601F022FE002068711C +:10841000FEBD00004421002010B507484068002838 +:1084200007D08047002803D00022114600F03EFA12 +:1084300010BD03F001F910BD7021002010B503F04C +:1084400049F9002805D00E490C484860C8130D4969 +:1084500088610D48018CC9B201290ED1818C0907B0 +:108460000BD1018D0906090F042906D1808D000664 +:10847000000F02D105490120886010BDDFFF07C051 +:1084800000050040006C0040C00F00F000060040F6 +:108490007CB51B4CA0681B4E0025002818D0A56099 +:1084A00019488069C1B2194800F023FA002805D0A4 +:1084B00001216A4611700190684607E013488168FF +:1084C000C068401A012803D168460570B168884722 +:1084D000E069002803D0E561032003F075FB606AC2 +:1084E00000280BD0656208498039086808600221BD +:1084F0006A4611700190B168684688477CBD0000EB +:108500000021004008210020002500401428002000 +:1085100030B47446641E2578641CAB4200D21D46FC +:10852000635D5B00E31830BC184702E008C8121F07 +:1085300008C1002AFAD170477047002001E001C14C +:10854000121F002AFBD1704738B50D4C6078022805 +:1085500002D00C490120886069460B4800F0B8F948 +:10856000002802D000F016F838BD0848802181604C +:108570006A46074B1278DA6102226270416038BDA8 +:108580000821002000200040242800200023004073 +:10859000002500401CB506490120C8600549487007 +:1085A00003206A4610708968684688471CBD000031 +:1085B00000200040082100200449002048700449A0 +:1085C0000122CA604A600349086070470821002000 +:1085D0000020004000250040F7B582B00025064687 +:1085E000157000781446002805D03046039903F032 +:1085F000F7F9050008D1B07800281ED02078039F35 +:10860000001D1F2802D90C2005B0F0BD684679DF97 +:108610000028F9D121780322481C20707A5421784F +:108620001922481C20707A542078C11968460088A5 +:1086300004F0EAF92178401820702078039A411C50 +:1086400002232170135420780399471C01222770BC +:108650000A542078F278471C039927700A547068EE +:10866000002815D00021415620788C460246C01CB7 +:1086700003991F28C7D8501C20708B5422780A23D6 +:10868000501C20708B5420786246431C23700A547F +:108690003089002809D03046009406220221083093 +:1086A000039B04F02FFA0500AED1308A002809D0D0 +:1086B00030460094072203211030039B04F022FA75 +:1086C0000500A1D1308B002809D030460094152236 +:1086D00014211830039B04F015FA050094D1306A78 +:1086E000002805D02246039901F004FD05008BD136 +:1086F000706A002805D02246039903F03FF905006F +:1087000082D12C20805D002806D022463046039975 +:1087100003F0A5FE0500C7D1284675E710B594B053 +:1087200030216846FFF771FD02216846017001247F +:1087300084700621C1700321018212480590002136 +:10874000684600F097FB002803D00022114600F095 +:10875000ADF820210CA8FFF758FD08A80476FF20EB +:108760002D300F90B42010900023074A0CA96846C2 +:1087700000F0AEFB002803D00022114600F096F86E +:1087800014B010BD3820002075BA010004484268BA +:108790000121C9050B46934383600A40C2607047BC +:1087A0000005005010B505484168002903D0407805 +:1087B00000F0FCF810BD082010BD000020210020B2 +:1087C000F8B50B46052A01D20720F8BD1349144D10 +:1087D00048600B708A60002101240BE0DA00121857 +:1087E00016789778B600BF0076193760167822465B +:1087F000B24011431A465B1EDBB2002AEED1074895 +:10880000084B0A46401C00F01BF90028DDD1034844 +:10881000054A00210C3000F04BF9F8BD2021002062 +:108820000007005075B401003DA201003EB50446AA +:1088300004200190184802906946204601F0DAFFB2 +:10884000002807D01549884203D00022114600F0C5 +:108850002DF83EBD10480C38017BC90716D0104AD0 +:108860000C218088A7DF002810D00E4988420DD047 +:1088700008280BD0891C884208D0112806D00A4944 +:10888000884203D00022114600F010F8204601F083 +:1088900067FF0028D9D13EBD0C2000204080000099 +:1088A000FFFF00000230000001340000BFF34F8FD3 +:1088B00003490248C860BFF34F8FFEE70400FA0582 +:1088C00000ED00E0014B1B6818470000F027002076 +:1088D0008268C36893420AD0826883881A4003681A +:1088E0009A5C0A708168491C8160002070470520ED +:1088F00070478268C3689B1A8288934208D8C3680D +:1089000013400268D154C168491CC16000207047FF +:108910000420704710B5002903D08A070024002ADC +:1089200001D0072010BD0F4A0B4651601070142172 +:108930005470414318469460FFF767FC00200A49D1 +:10894000C0438860094840210160094A1068FF233C +:108950001B0498430B041843106006480160002074 +:1089600010BD0000382100200063004080E200E0DC +:1089700004E400E000E100E00A4B5A68002A04D059 +:108980005B78984203D30720704708207047142370 +:1089900058438018044A12690068024000200A60A7 +:1089A000704700003821002000050050F0B51F4A34 +:1089B0005168002904D05378984203D30720F0BDB2 +:1089C0000820F0BD1A4B0025DD631A4B1C6997681F +:1089D000002F02D1184EDB057360012686403E430E +:1089E0009660142250434218D560002201230D588E +:1089F00093401D4215D01C4202D003252D0405E0F2 +:108A000001256D044618F7681F43F7600B4B96006D +:108A1000F3181E6803273F04BE431E601E682E43E2 +:108A20001E60521C202AE1D30020F0BD3821002016 +:108A30004061004000050050006300400007005006 +:108A4000F8B5114F84467D68002D07D0002B07D064 +:108A500078783C78A04205D30420F8BD0820F8BD02 +:108A60000720F8BD0E461424164344432E516419C2 +:108A70002361A260616061460870411C797003F057 +:108A800013F90020F8BD00003821002038B50C464D +:108A9000A268064B12019D5809786288009202462E +:108AA000204608302369A84738BD0000002900206F +:108AB00070B5114CA568002D06D0002A06D00028FC +:108AC00004D00023247809E0082070BD072070BD81 +:108AD00024265E43AE5D002E04D05B1CA342F7DB70 +:108AE000042070BD242401265C432E556419617056 +:108AF000A2610360002070BD44210020FFB59807EB +:108B0000002481B01E4615460F4600280BD1002ECA +:108B100009D003F0FDFB22490A9888610F703246A4 +:108B200000208E6008E0072005B0F0BD24234343F9 +:108B3000D4549B181C75401CB842F7DB24204743D3 +:108B4000BB19032048700F461846CB6019461830F1 +:108B5000002218232E465E43D3005B181C705C7005 +:108B60009D7058603018521C032AF5DB0020C0436A +:108B70003861BC70FC7001240A482405046003219C +:108B80001420FFF7EDFB08480460084C0198A06032 +:108B900003211120FFF7E4FB606878610020C3E740 +:108BA0004421002080E200E000E100E000150140E7 +:108BB000FEB504461D48174682680D46002A0CD0B3 +:108BC00001788C4201D2052D01D20720FEBD21463D +:108BD00024235943535C012B01D00820FEBD881883 +:108BE000407801281DD0002603F050FFC0000F4937 +:108BF0000190C9684018694603F072FF002812D03E +:108C0000012101700A49446049680830E2C00749FF +:108C10000198C96841180098487003F0F9FD0020D8 +:108C2000FEBD2E46E0E70420FEBD000044210020EA +:108C300000150140F8B5144D0446A868002809D075 +:108C400029788C4201D30720F8BD24216143405C80 +:108C5000012801D00820F8BD03F018FFC600E8681D +:108C60006946301803F03CFF00280AD00221017049 +:108C70004460E86831180098487003F0C9FD00208E +:108C8000F8BD0420F8BD00004421002010B5184CA8 +:108C90000121002209042069FFF78AFF002803D080 +:108CA00000221146FFF702FE01210022C90360697C +:108CB000FFF77EFF002803D000221146FFF7F6FDE4 +:108CC00000220C49A069FFF773FF002803D000229F +:108CD0001146FFF7EBFD05210022C903E069FFF70C +:108CE00067FF002803D000221146FFF7DFFD10BD0B +:108CF0000020002066260000F0B50546007D002417 +:108D000093B00E4600280DD0012001466846103170 +:108D100003940173717B4173817BF92001406846A4 +:108D2000891C81731C2104A8FFF76FFA6946087C2F +:108D300002210843694608742A7DEF21002A02D0E7 +:108D40001022104300E008406A461074059407940E +:108D50000894287D002800D003A8099001270A94D0 +:108D600010469771304A82800094B27B0270F27B89 +:108D700042708078F9221040F722801C1040EF21C9 +:108D800008404108490068468170317B0172142116 +:108D90000BA8FFF73AFA01A80B9068460C9087865B +:108DA000C486078702A80F90A888AB1D0BAA04A948 +:108DB000A2DF002835D1B068002830D0684687711E +:108DC0001A4981800094317C017000200146684678 +:108DD00041708078F9210840F721801C0840EF217C +:108DE0000840410849006846817011A8B16800F048 +:108DF00060FD064614210BA8FFF707FA01A80B90A7 +:108E000068460C908686C486068711A80F902A466D +:108E1000E8880E320BA9A3DF002802D100E0EC8124 +:108E2000002013B0F0BD0000192A0000082900003E +:108E300010B50C490C4803F0F7FAC1B2094868387C +:108E400000F012FA00280BD0082809D00749884200 +:108E500006D00749884203D000221146FFF726FDBD +:108E600010BD00005025002020200020043000000C +:108E70000134000070B50C4692B000216A461170B2 +:108E800007251171002809D0C17849070CD502A91E +:108E9000FFF7A2FB002808D102AE00E00026002C5C +:108EA0000ED0E078002802D0284612B070BD01AA8A +:108EB0000AA92046FFF790FB0028F6D10AAA00E095 +:108EC0000022684603790178304672DFEDE7000042 +:108ED00070B5040012D0002910D04A480025457111 +:108EE0000361C26020224848FFF768F94648C1681C +:108EF000002905D00169002902D002E00E2070BDD2 +:108F000005728169002902D0C169002900D1057567 +:108F100000F0DCF83C494039084610380160203147 +:108F2000816030213038FFF770F937482178803878 +:108F30000170A1788170E178C170617841706269D7 +:108F4000216942610161E268A168C26081600146F5 +:108F5000E369A269CB618A61616A002917D0014681 +:108F6000A0310246AC3241628A60636A1B880B8082 +:108F7000616A436A898899800021436A04E0656ACE +:108F8000AD686D5C5554491C9D888D42F7D8A16A27 +:108F900000291CD01C4A583211460C398A60816263 +:108FA000A36A9B888B80A16A836A09881980002143 +:108FB000836A04E0A56AAD686D5C5554491C9D88C0 +:108FC0008D42F7D82C210A5D0F4960390A73216A56 +:108FD000002909D00B4914310162226A52884A8063 +:108FE000216A026A098811806168002904D0054954 +:108FF000C91D416061684160034800218038FFF766 +:1090000039FF70BD642000203026002010B5028892 +:10901000204C102A15D00021112A15D0192A0FD161 +:10902000807900280CD1607901281CD002282DD02D +:10903000032805D12171E2680846002A00D0904734 +:1090400010BD8088208110BD617013490979A1711C +:10905000808821898842F6D1012012E02169002907 +:10906000F1D0884710BDA079002809D009481930EF +:1090700002F0EEFD002803D0A079401EA071EBE7BE +:10908000022000F02BF80028E8D110BD022020714A +:109090000320F6E7642000203026002010B50228C7 +:1090A00001D003280ED1084C207800280AD00020D7 +:1090B0002070607900F012F8002803D0216900299F +:1090C00000D0884710BD00006420002010B50721A3 +:1090D0000148FFF79AF810BD7C200020F0B5604CE5 +:1090E00087B0607106A802F01DFE002879D10698AD +:1090F0000127002801D02770AFE0FFF7E7FF594DA7 +:1091000000266878002808D06079012816D1E16827 +:10911000002906D0E770072088476079012802D02F +:109120000CE0E67002E06878002805D04C48193061 +:1091300002F08EFD002801D102206071287A0028FB +:1091400004D16079022801D103206071287D0028B4 +:1091500004D16079032801D166712671E168002984 +:109160000AD06079022801D0032805D12878002888 +:1091700002D06078002814D0A67018216846FFF746 +:1091800044F86846067001960672039660790128D5 +:109190000BD0344F0426503F02280FD0032850D163 +:1091A0002EE0A77006208847E7E72D481830019089 +:1091B0006846077046820682277145E0288A69461C +:1091C0004882A88908822748503803F0FFFC00280D +:1091D00005D02878002802D06078002802D002202C +:1091E0002EE03BE00220694608721E480397803853 +:1091F000C6700021FFF73EFE00282FD1267120E027 +:10920000288B69460882A88B48821648503803F09C +:10921000DDFC002805D02878002802D060780028DE +:1092200001D003200CE00220694608720D48039724 +:109230008038C6700021FFF71DFE00280ED10520E2 +:1092400020716079002803D0684673DF002805D1BB +:10925000E168002901D020798847002007B0F0BDDF +:10926000642000203026002073B586B0044669468D +:10927000227C097F00208A4225D0002501266846ED +:1092800000950680458007A801902174E188608AD6 +:109290006A46A4DF002816D1608A0D49884214D09E +:1092A000207D002811D00295039504950595E1884D +:1092B00068460181867241888181049001980590F9 +:1092C000608A02A9A6DF08B070BD0820FBE7000095 +:1092D000FFFF000038B50446086820600020C04346 +:1092E000608208792075FF200D46207401216846B0 +:1092F000817006490180221D69460120A0DF0028F7 +:1093000003D129462046FFF7F7FC38BD0F180000AF +:1093100038B50A88102A1AD0112A1AD0502A1BD11F +:10932000027D002A18D0CA884389891D9A4213D128 +:109330000A8B022A10D10268002A0DD0CB7E8C7EC7 +:1093400019022143C907C90F07D0002106E0898807 +:1093500001E00021C943418238BD01216B461970EB +:109360006946904738BD000070B5054601461C228D +:109370000F48FEF723FF0F4C0026267029680029AE +:1093800007D00822A018FEF719FF204608307ADF20 +:1093900002E0084808307BDF002808D1401E6080CA +:1093A00004486670044A0021001DFFF781FB70BD70 +:1093B000A82600208420002029CA0100F8B5224CEC +:1093C000028800271F4DE689102A16D029464968D1 +:1093D000112A21D0122A2DD0502A1CD1C288801DDA +:1093E000B24218D1028B022A15D1C27E837E1002AE +:1093F0001843C007C00F0CD112E081886980014674 +:109400001048082216311030FEF7D8FE6F70002E7B +:1094100001D100F0B7FEF8BD0020C04368806F7036 +:109420000846FFF707FC0028F5D0A1690029F2D013 +:109430008847F8BD811D034808221030FEF7BEFEA4 +:10944000E7E7000084200020A826002010B502488D +:109450004068FFF7EFFB10BD8420002030B585B0D9 +:109460000D46040039D0002D37D06868002834D06C +:109470000020C0431A4B20800FCB049301AB07C3DD +:1094800018486946088001A8811E63DF002822D1A0 +:10949000221D69460120A0DF00281CD16846807883 +:1094A000A071204601F0D2F8002814D1204601F026 +:1094B00089F800280FD12946204601F009F9002833 +:1094C00009D16868A062A868002800D0E062064957 +:1094D00001200870002005B030BD0E20FBE7000021 +:1094E0000CCC0100301500009C2000203EB5002867 +:1094F00028D0002926D0826A002A23D00A88102A80 +:1095000021D0112A30D0502A1FD0512A1AD10A4610 +:109510000446891D0878022814D14888238A984275 +:1095200010D1907A04280DD006280BD0052809D038 +:109530002046891C02F0D4FA002803D0E16A0029F1 +:1095400000D088473EBD898810E0CB8802899342CD +:10955000F8D108226B461A708A7F1A712031029165 +:10956000826A694690473EBD0021C94301803EBDE5 +:1095700030B585B0002822D00388134CA34220D0F8 +:10958000124B1B78002B1CD0104B10255B1C1D7040 +:109590005970002401259A70032269460A820094BA +:1095A000019402940394028A0A808D708C8004A92D +:1095B0000291039300886946A6DF05B030BD0E20F6 +:1095C000FBE70820F9E70000FFFF00009C200020D7 +:1095D0007FB504460121684681714A4981804A4A23 +:1095E00001A90120A0DF00287ED1228825463C3534 +:1095F000002A09D044482B46801C009043486168EB +:1096000000F00CFC00287BD12289002A0AD03E48B9 +:109610002B460A3000903D48E168401F00F0FEFBF9 +:1096200000286DD1228A002A0AD037482B461230F2 +:10963000009036486169001F00F0F0FB00285FD100 +:10964000228B002A0AD030482B461A3000902F482F +:10965000E169801E00F0E2FB002851D1228C002A33 +:109660000AD029482B46223000902848616AC01E43 +:1096700000F0D4FB002843D1228D002A0AD02248D2 +:109680002B462A3000902148E16A401E00F0C6FBBC +:10969000002835D1216B00290ED002A803F08CF8E8 +:1096A00019482B46323000901848082202A9801F22 +:1096B00000F0B4FB002823D1606B00280BD01249C6 +:1096C0002B463A310091027901681048401C00F0A5 +:1096D000A5FB002814D1A16B002910D002A802F02C +:1096E00001FB0948423000E00AE0009007482B46A1 +:1096F000072202A9273000F091FB002800D10020AA +:1097000004B070BD0A180000A4200020292A00001F +:1097100010B5044601F04AF92146114800F07EF8E0 +:109720000F4821461838FFF7F3FD2046FFF746FEA5 +:109730000B4821468030FFF7D9FE208810280BD136 +:10974000072000F011FA002803D000221146FFF78D +:10975000ADF80449A08888802046FFF757FC10BD6B +:10976000002500200020002030B50446008C134A5C +:109770008BB090421FD006AA204601F019FF69461F +:1097800005460880002001900290039004902289F1 +:109790008A8001228A71088106A803910490208C96 +:1097A00001A9A6DF002804D169460988A94200D092 +:1097B0000C200BB030BD0820FBE70000FFFF0000CD +:1097C00038B5044608682060087960710020C043FD +:1097D0000D4620840020222108554C2108530121E8 +:1097E000684681700C490180A21D69460120A0DFF6 +:1097F00000280FD12946204601F082FE002809D119 +:10980000A868002805D02946204600F08DF80028D9 +:1098100000D1002038BD00000D18000038B50A88BE +:10982000102A17D0112A17D0502A18D1CA88838934 +:10983000891D9A4213D10A8B022A10D10268002A8C +:109840000DD0CB7E8C7E19022143C907C90F07D0EA +:10985000002106E0898801E00021C943018438BD68 +:1098600001216B4619706946904738BD70B50546B1 +:1098700004464035A8890E46142807D12622A1188F +:10988000881EFEF79BFCA889401EA88180B241007B +:109890000919401CA8818E8470BD203081707047EA +:1098A00070B504460D460846FEF7BAFC2080656098 +:1098B00070BD0A780270497841700220704700003C +:1098C0001CB5002348221549082002F0B3FE0028E9 +:1098D00003D000221146FEF7E9FF0020009001901E +:1098E000012069460870684660DF002803D0002226 +:1098F0001146FEF7DBFF0A4802F092FE002803D073 +:1099000000221146FEF7D2FF064802F0ABFE002807 +:1099100003D000221146FEF7C9FF1CBD8C24002095 +:1099200011970100A9C70100F0B58FB00D4606469A +:109930001C216846FEF769FC684601780220014355 +:10994000684601700024019403940494059401274F +:1099500008A8069487701549684601840794E97B36 +:109960000177297C4177807FF9210840F721801C0D +:109970000840EF21084041084900684681771421DA +:1099800009A8FEF742FC08A8099007A80A906846B3 +:109990008785C4850786A8680D903346F088103304 +:1099A00009AA6946A2DF0FB0F0BD0000382A000006 +:1099B0001CB5044681786A460C4802F0C7F90028B5 +:1099C00012D160781C21484309491C2340181A46CB +:1099D000694602F073FA064806494C30807A8000E6 +:1099E0000A582146684690471CBD0000002100200F +:1099F000A427002030CC0100F8B5054608206946B0 +:109A0000088001236A461D492846AADF1C480068D1 +:109A10008047B12044DF002803D000221146FEF722 +:109A200045FF11DF002803D000221146FEF73EFF5C +:109A3000144C606913DF002803D000221146FEF7A2 +:109A400035FF284600F062FD01210F4A88051060AD +:109A50000E4802680D4B002080330D4685401542AC +:109A600004D0C606F60E0D46B5401D60401C2028E9 +:109A7000F3D3606900F00CF8F8BD00004429002021 +:109A8000682100200010001080E200E000E100E00A +:109A900010B5FEF73FFB10BD30B4002201290BD1F9 +:109AA0000B49C968002907D00A4B94001C5984420D +:109AB00004D0521C042AF8D330BC7047042AFBD2CD +:109AC00003481030805C0028F6D030BC0847000006 +:109AD00044200020DCCB010004280CD2074A126984 +:109AE000074B80001B5C01209840904300D0012070 +:109AF0000870002070470020FAE7000000050050C1 +:109B0000DCCB0100F0B500210F4D01270F4A0323E4 +:109B10001B048C002E593C468C40044207D0B400F4 +:109B2000A41826689E43266026681E4305E0B400FC +:109B3000A41826689E43266026682660491C0429CE +:109B4000E7D30020F0BD0000DCCB0100000700508F +:109B500002460020042A02D2024B99547047072083 +:109B6000704700005420002010B5054A0146127AC3 +:109B70000020D20702D0084600F04AF810BD0000CD +:109B80004420002070B50E461C4905464E608D608D +:109B90000020CA60A90717D5002420460B30C1B2A7 +:109BA0002046FFF7D5FF641C042C02D20028F4D015 +:109BB0000AE0002808D1720804211148FEF700FECF +:109BC000002801D1FEF7EEFDE90706D00F220D496E +:109BD00052058A600023CB608A6100280DD10748B6 +:109BE000094A00211430FEF763FF002805D103481D +:109BF000064A01211830FEF75BFF70BD44200020AB +:109C0000ECCB01000005005029B701008D87010051 +:109C1000FEB5784906464F684B690093BB00FB18B8 +:109C200000200122019352050546734C3300FEF7D4 +:109C30006FFC180D13133749596C828E858E97A1CE +:109C4000A5A5A5A5A5C3C8CDD4DADA120B22520565 +:109C5000A260E5600D70FEBD05208005A060E56096 +:109C600060680F235B055840800209D5A260E5605B +:109C7000022E02D1E120C0000AE07D20400107E071 +:109C8000E260A560022E01D1C82001E0FF209130E2 +:109C90000E706421FEF77CFA78430022014646E00C +:109CA00005208005A060E56060680F235B055840D3 +:109CB000800204D5A260E56019204001E8E7E26077 +:109CC000A560E1E705208005A060E56060680F23DE +:109CD0005B055840800202D5A260E560CDE7E260F6 +:109CE000A560D3E705208005A060E56060680F23CC +:109CF0005B055840800202D5A260E56001E0E260A9 +:109D0000A5600E707900002211E005208005A0609A +:109D1000E56060680F235B055840800202D5A260B1 +:109D2000E56001E0E260A5600E700022394600980F +:109D3000FEF73EFFFEBD05239B0544E06068012160 +:109D400089050A468243A2600840E06010E061682D +:109D50000120800502468A43A2600140E160E4E7F9 +:109D600061680120800502468A43A2600140E160EB +:109D70000199C8E70F214905E1601BE00F4688699A +:109D8000FEF758FF11218A1B1C4E01D0002802D07B +:109D9000A660E560FEBD012A0BD91046C8214843E4 +:109DA0006421FEF7F5F9796800224143B869FEF7AE +:109DB000FFFEE660A560FEBD0F225205A260E560D1 +:109DC00015E007239B05A360E5600EE00D22520518 +:109DD000A260E5600122920507E00322D205A2609D +:109DE000E560921001E00F225205E260A5600E705E +:109DF000FEBD00004420002000050050000080004F +:109E0000012905D0002908D1027843681046184777 +:109E1000037842680121184610477047FFB58FB09C +:109E20001E4615460F0004D1002211461046FEF7CB +:109E30003DFD002D04D1002211461046FEF736FDEF +:109E40001C216846FEF7E1F96846017802200143CB +:109E50006846017000240194039404940594012140 +:109E600008A80694817068460F9901840794317898 +:109E7000017771784177807FF9210840F721801CB4 +:109E80000840EF21084041084900684681771421C5 +:109E900009A8FEF7BAF908A8099007A80A90684629 +:109EA0008585C485058604480D9709AA69460088FA +:109EB000189BA2DF13B0F0BDA4200020F8B53B49E9 +:109EC00014230A780F205A43541821792569384EF3 +:109ED000241D02291AD004292ED0052964D101F0AD +:109EE000AFFF01462846FEF753F9064601F0A8FFEA +:109EF0000146A08871434019401A870801F0A0FF6D +:109F0000711C4843A1886288891836E0B0882269AC +:109F1000800261881318091AA288281810180122D3 +:109F20009202914203D28A08194629DF37E0FF22C4 +:109F30000132194629DF32E0A2681C481101CC30F9 +:109F4000091808894B894968A94203D16188584397 +:109F500088421BD0022A19D001F072FF0146284620 +:109F6000FEF716F9064601F06BFF7043281A8708C2 +:109F700001F066FF711C484361883A464919401A4E +:109F800083083146204602F079FB08E001F058FFD3 +:109F900001462846FEF7FCF8B188401828DF002863 +:109FA00002D1024901228A70F8BD00003428002045 +:109FB0001421002010B5084900204A78002A09D051 +:109FC0008978002906D1FFF779FF002802D01128EF +:109FD00000D1002010BD000034280020142250437E +:109FE000054A002180180171C18001220161C2600F +:109FF000416101817047000034280020F8B5134CFE +:10A00000069E65780A2D1FD027787D19EDB20A2D9E +:10A0100001D30A3DEDB214277D432D19287100208C +:10A0200068716A6103C92961E860EB802E81A178BB +:10A030000020002904D1FFF741FF112800D10020A2 +:10A040006178491C6170F8BD0420F8BD34280020F7 +:10A05000F8B5224801694A1C3DD024225143826848 +:10A0600089184E681E494C6847690079E11B0D024A +:10A070002D0AED1C002814D101201A4A000450605A +:10A08000184A403A50601849400008601749086073 +:10A090001749012008602F20FEF72CF80F490120F6 +:10A0A0000871B54200D23546E81900020C49000A91 +:10A0B000403108600A494968001B091B0902090A66 +:10A0C0000002000AC91C814204D90120064940044B +:10A0D00080390860F8BD02F01BF9F8BD442100206A +:10A0E000001501404013014080E200E000E100E083 +:10A0F00000100140F8B50D4611780646881D14463B +:10A100001F2801D90C20F8BD33880720062BFAD36D +:10A110001927FF01BB4202D9164A9342F3D1728834 +:10A12000062AF0D3BA4202D9124FBA42EBD1114FEC +:10A13000BB4203D0BA4201D09342E4D8481C052266 +:10A1400020706A5420781222411C21702A542078F1 +:10A150004119308802F058FC21784018C0B22070B4 +:10A160004119708802F050FC2178401820700020BE +:10A17000F8BD0000FFFF000010B500221146FEF7F9 +:10A1800095FB10BDF8B5164801F096FA144D00265F +:10A19000103D144C002807D0616900291BD0012014 +:10A1A0006A461070684615E02878002805D0616975 +:10A1B000002910D0684606700CE0687800280CD0A2 +:10A1C000A16800226868FEF7F3FC002803D0A169AB +:10A1D000002900D088472E70F8BD6168F1E70000C3 +:10A1E00094200020A826002070B5094B04469E7AD2 +:10A1F000082000250E4207D00648844202D0188964 +:10A20000A04202D10020156070BD052070BD000085 +:10A21000E4270020FFFF00000C214843064910B549 +:10A22000012240188272911E0181FF21C172072113 +:10A23000FDF7EBFF10BD0000E4270020F8B5184D36 +:10A2400069466878FEF798FB00281DD12F46002448 +:10A250001037012615E06968E000401803783146A0 +:10A260003A6899400A4210D04268002A0DD04178DD +:10A27000012901D1002100E00121FFF7C1FD641C8B +:10A28000E4B228788442E6D3F8BD7A680A42F6D070 +:10A2900041680029F3D041780129EDD0EAE70000B8 +:10A2A00020210020FEB50E46044681786A462348E8 +:10A2B00001F04CFD002826D160780C21204F484346 +:10A2C000C019807A40061FD4022E1DD0012E1DD049 +:10A2D0001C4DA0781C2148431B49002341181C2217 +:10A2E0006846A847002813D0022E0CD020780C21F5 +:10A2F000484313490C314018807A144980000A58A9 +:10A30000214668469047FEBD114DE2E7114DE0E75A +:10A31000022EF8D060780C214843C019817ABF2200 +:10A320001140817260781C21484305494039411829 +:10A330001C231A466846A847D8E7000000210020E1 +:10A34000E427002079C60100E026002020CC01008F +:10A3500001C2010049C0010070B50546114A12480A +:10A3600000241C2363431B189B7EFF2B04D0641C1A +:10A37000072CF6D3104670BD0A78022A09D01C2299 +:10A3800062431018FD22827607221030FDF716FF77 +:10A3900004E01C2161430818FE2181762C70002204 +:10A3A000E8E7000043800000E0260020F7B505251F +:10A3B0000F4F06460024002E0AD01C206043C0190F +:10A3C000072231461030FDF732FF002807D00AE09F +:10A3D0001C206043C019018B0298814203D101986F +:10A3E0000025046002E0641C072CE4D32846FEBD6F +:10A3F000E02600207CB5054681B26A46074801F098 +:10A40000A5FC040008D17421684601F0C9FC0400D1 +:10A4100002D1284601F028FC20467CBD0021002006 +:10A4200070B505460C46100003D000221146FEF719 +:10A430003DFA2078152802D12846FEF7F7F90020CA +:10A4400070BD00001FB501F001FD002803D00022FF +:10A450001146FEF72BFA03A90120FFF73DFB002868 +:10A4600003D000221146FEF721FA03A800F006FDF2 +:10A47000002803D000221146FEF718FA01A8052192 +:10A480000130FDF7C2FE6946487901221043E121FF +:10A490000840DF210C300840694648710720887168 +:10A4A0001020C871064800900A71064800F04EFE60 +:10A4B000002803D000221146FEF7F8F91FBD000066 +:10A4C00021A401000220002001B50549684600F0E2 +:10A4D0004DFA002803D000221146FEF7E7F908BD27 +:10A4E0006C21002010B5097800290AD0032201212F +:10A4F000FFF73EF8002803D000221146FEF7D6F9F8 +:10A5000010BD0088FFF778FA10BD000000B58BB0D1 +:10A5100000210091254900F07FFC002817D101A9F6 +:10A52000224800F023FC002813D021491F4800F0E6 +:10A5300007FD002803D000221146FEF7B7F91C489A +:10A5400000DF002803D000221146FEF7AFF90BB060 +:10A5500000BD0299072216481031FDF72FFE14485E +:10A560001022C01D0299FDF729FE11481122183052 +:10A570000199FDF723FE0E4801990A222A30123173 +:10A58000FDF71CFE0A4800DF002803D00022114618 +:10A59000FEF78CF90120009004200890684609908D +:10A5A00007A9024800F080F9CBE700006C210020E9 +:10A5B0001029002070470000014908607047000022 +:10A5C0006821002030B58FB005461C216846FDF794 +:10A5D0001CFE69460878082108431022104369468A +:10A5E0000870002401940394049405940694A879B7 +:10A5F00008A98870144869460884601C00070794FD +:10A60000000F0C7710304877887FF9210840F72138 +:10A61000801C0840104301210843694688771421B3 +:10A6200009A8FDF7F2FD08A8099007A80A90694655 +:10A630008C851720CC8508860D942B46A88810336E +:10A6400009AAA2DF0FB030BD3115000030B58FB0C0 +:10A6500005461C216846FDF7D8FD694608780421A7 +:10A6600008436946087000240194039404940594F7 +:10A670000694A87908A98870144869460884601C63 +:10A6800000070794000F0C77103048778A7FF92075 +:10A690000240F720921C0240EF20024001200243BA +:10A6A0008A77142109A8FDF7B0FD08A8099007A82A +:10A6B0000A9069468C851420CC8508860D942B461B +:10A6C000A888083309AAA2DF0FB030BD32150000F8 +:10A6D000F0B58FB00F4605461C216846FDF795FD85 +:10A6E00068460178022631430170002401940394E6 +:10A6F000049405940694A97908A8817017496846BE +:10A700000184601C0107090F684610310794017726 +:10A710000020014668464177817FF9200140F720FB +:10A72000891C0140EF2001400120014368468177E8 +:10A73000142109A8FDF769FD08A8099007A80A9047 +:10A7400068468685C48506860D972B46A8882033E3 +:10A7500009AA6946A2DF0FB0F0BD00003415000061 +:10A760003EB504461E4801781E48002930D0002C12 +:10A770002FD0217800292BD11B49002509680029F9 +:10A7800026D0A178072927D21C20184A48438018D0 +:10A79000807EFF2820D012486A46103001F0D6FA99 +:10A7A000002815D160230422694602A801F086FB27 +:10A7B0000299491C0CD0602304220D49684601F01F +:10A7C0001FFD002804D1A178084A89001C3A555081 +:10A7D0003EBD0448801D3EBD024808303EBD00001D +:10A7E000F020002008800000F0270020E026002054 +:10A7F0001CCC01003EB50C4627490A782749002A9F +:10A8000030D08A1D002805D0002C03D00278002A01 +:10A8100028D101E010463EBD214A1268002A21D00D +:10A820008178072920D21C221E4B4A43D218927EDF +:10A83000FF2A19D01B4AA3681C3A002B17D08900A5 +:10A840005350817814486A46103001F07FFA00288E +:10A85000E1D160230422694602A801F02FFB002801 +:10A8600009D016E008463EBD0C4808303EBD8900C0 +:10A870005158A160E5E70298401C0AD064231022D9 +:10A880006946A06801F01AFB0028EFD102996160C7 +:10A890003EBD024838303EBDF02000200880000058 +:10A8A000F0270020E0260020FEB5054629480C468A +:10A8B0000078294900281DD0881D002D19D0002CB2 +:10A8C00017D0A268002A14D02878002812D1234873 +:10A8D000006800280ED0A97807290DD21C20204A34 +:10A8E00048438018807EFF2806D06068042806D27E +:10A8F0000720FEBD0846FEBD17480830FEBD1548BE +:10A90000184E6A46103001F021FA0028F6D1602373 +:10A910000422694602A801F0D1FA002803D1029866 +:10A92000401C00D0104E60230422211D6846B04711 +:10A930000028E3D1642310226846A16801F060FC7E +:10A940000028DBD1AA78064B92001C3BA1689950E5 +:10A95000FEBD0000F020002008800000F02700204D +:10A96000E026002049C0010001C201000C4A137812 +:10A970000C4A002B11D0931D002905D0002803D0CC +:10A980000078002809D101E018467047064B1B6883 +:10A99000002B02D00870002070471046704700005E +:10A9A000F020002008800000F0270020F0B50546C8 +:10A9B00093B000200090FF24E7480E940078002810 +:10A9C0004ED0E64E306800284AD001A800F048FA80 +:10A9D000002803D000221146FDF768FF00200D90EB +:10A9E000281D05902A2168460183FF2181710021DD +:10A9F00001710391D94C28880C3C10280ED0A888EE +:10AA000003AA0221FFF7F0FB002807D103980C21CD +:10AA100041430919CA7A69468A7148712A88132004 +:10AA2000CF4F172A7ED00FDC102A1BD0112A53D00B +:10AA3000132A78D0142A13D103980C214843001903 +:10AA4000C07AFF2870D09FE0C649182A6DD01C2A12 +:10AA500063D0522A04D1B07A8000095801A88847EF +:10AA600013B0F0BDC04E03AA01213046FFF7BCFB76 +:10AA70000028F5D103990C20484302220019827264 +:10AA800011236A4613745171A98801810722A91DF7 +:10AA9000FDF794FB287DC10707D04108AE48083078 +:10AAA000405CFF2808D00E9006E032460EA9A81D93 +:10AAB000FFF77CFC002832D103990C22514309197D +:10AAC0000E98C8728A7A08231A438A726946887176 +:10AAD00001A8FEF76DFF22E003980C2148430119FD +:10AAE000887AFD2210408872010706D5C0090DD072 +:10AAF000002101A8FFF7D6FB08E068468079FF280F +:10AB000004D001F0B1F8FF206946887103980C2247 +:10AB1000504310210019817212206946087404A95B +:10AB200001A803E08AE03FE011E0DAE00D9AFDF7CA +:10AB3000C9FE6846007C122892D103980C2141433B +:10AB40000919897A01298BD0FFF766FB88E7EA8922 +:10AB50000EA90020FFF72AFC00280ED103990C2231 +:10AB6000514309190E98C8728A7A08231A438A72C7 +:10AB70006946887101A8FEF71BFF03980C21484322 +:10AB80000019C07AFF2806D003981C214843734956 +:10AB90004C394018009003981C214843C219A888DA +:10ABA0000023009982DF5BE769460874039B0C2051 +:10ABB00058430119887A042210438872C87AFF2802 +:10ABC0002ED01620694608742420434363481A2176 +:10ABD000303818180830FDF718FB03980C2148434B +:10ABE0000019817A40221143817203990C224A4351 +:10ABF00000200A901219D27A1C235A43D2190B92C0 +:10AC0000564A59434C3A89180C900791089009907C +:10AC1000321DA88807AB00217FDF002896D17EE790 +:10AC20000EA8FFF799FB0028DFD169460E988871BE +:10AC300003990C2251430919C872D6E7707A0C2186 +:10AC40004008400070720398FB2341438C46091969 +:10AC50008A7A6E461A408A7214233374AB79002BB9 +:10AC600004D0C87AFFF7C6FBA87973E0EB795B07DD +:10AC7000D5D5B379FF2BD2D0082632438A72EA7A2F +:10AC8000920706D51C224243D219957E6D086D00AD +:10AC90009576CA7AFF2AC2D06246A25C022A0FD0F9 +:10ACA0001C204343D81907221030FDF787FA684665 +:10ACB00080791C214843C019817EFD2211400AE0A1 +:10ACC0001C21484325494C394118498AC019018340 +:10ACD000817E490849008176012101A8FFF7E2FA47 +:10ACE0001DE7A8790209012A23D10007000F0128D6 +:10ACF0001FD103980C2242431219927A120718D5D9 +:10AD0000242148431549303940181A210830FDF7ED +:10AD10007CFA16206946087403980C2148430119EF +:10AD2000887A602210438872707A02210843707218 +:10AD30000FE003980C2250430019827A80231A43B3 +:10AD4000827215206A461074B07A8000095801A8F2 +:10AD5000884700200D90E2E6F0200020F027002038 +:10AD6000E026002040CC0100FFFF0000F0B50646C1 +:10AD700025480C460078254989B000283FD0881D19 +:10AD8000002E3AD0002C38D03078002837D1204817 +:10AD900000250068002832D0B078072831D21C2165 +:10ADA0001C4F4843C019807EFF282AD0E560B07848 +:10ADB00065614843C01920611548A5600C3060608A +:10ADC0001148B17807AA103000F0C0FF002814D154 +:10ADD0001C231A4607A9684601F070F800280CD118 +:10ADE0000B49E5600C3165612161B1781C2251434A +:10ADF000C919A56061606946216009B0F0BD0846C7 +:10AE0000FBE702480830F8E7F02000200880000047 +:10AE1000F0270020E026002030B50446002903D0AA +:10AE20000878002814D101E00B4830BD0B480023FE +:10AE3000006800280CD0094AFF2088700C3A158958 +:10AE40000520A542F1D14B70D07A8870002030BD2A +:10AE50000148801F30BD00000E800000F027002058 +:10AE6000002806D0FF21017041708170C170002060 +:10AE700070470148704700000E800000F0B585B0B3 +:10AE8000040036D0294800250560457285722846A1 +:10AE9000FFF7C2F9254824213038FDF7B6F900261E +:10AEA000FF27304600F0E0FE21488755761C072E2C +:10AEB000F7D37421684681800721C1801D481C4951 +:10AEC00000900831684601F04BF800280FD1184E69 +:10AED0000120083E3070207800280CD06946888810 +:10AEE000C988484381B23046103000F059FF05B0A0 +:10AEF000F0BD1148FBE7114F00240D48A1B202AA92 +:10AF0000083000F023FF002809D11C206043C0193D +:10AF100000231C2202A900F0D1FF002801D03570C7 +:10AF2000E5E7641C072CE8D3E1E70000F0270020E8 +:10AF3000F8200020C1AF01000E800000E0260020B4 +:10AF40000B4610B51A491B4A0978002920D0911DDB +:10AF5000002805D0002B03D00178002918D101E08A +:10AF6000084610BD14490968002911D0114A81789A +:10AF7000D21EFF290ED01C20414310480918887E9C +:10AF8000800705D4072218461031FDF717F9002273 +:10AF9000104610BD4078FF28FAD00C2148430649DE +:10AFA0000C394118887A8007F2D507221846ECE759 +:10AFB000F020002008800000F0270020E02600207C +:10AFC000FFB55D488FB00068189F1E46002875D0F9 +:10AFD000742F73D86846FFF743FF002803D0002280 +:10AFE0001146FDF763FC0024684604700471254691 +:10AFF00005970696A9B20DAA504800F0A7FE0028B2 +:10B0000006D108220DA90F98FDF711F9002817D0D5 +:10B010006D1C072DEED368468578FF2D4ED0109815 +:10B02000042810D046481C21301AFDF7B1F801273A +:10B0300007281ED204A80290119800280BD011E016 +:10B0400068468570E7E7742F03D040206946087191 +:10B050006CE02020FAE738463849A84010394968A2 +:10B06000084261D0284601F0D5FC202069460871CD +:10B070004AE031481C214C38301AFDF789F8002885 +:10B080001DD02D4824213038301AFDF781F80100F9 +:10B090002C482CD040216A4611712B498E4245D054 +:10B0A000274AA9001C3A5158B1423DD104A9029146 +:10B0B000C07A854228D16846447025E034E004A86F +:10B0C000029020216846017144701B480A940C309C +:10B0D0000B9058380790684680781C2148431849DF +:10B0E0004018089007A80690182005900CE0302220 +:10B0F00069460A714C70CF70807A800704D4114879 +:10B1000024212438FDF781F810986946032808792E +:10B1100010D0022108436946087104A8029001A9D1 +:10B120006846119AFDF7CEFB13B0F0BD6946087969 +:10B130000321EFE73843EFE7F0270020002100204C +:10B14000E0260020E42700201CCC010070B5064654 +:10B1500019480D46007800280ED01849002E0ED050 +:10B16000002D0CD02868002809D0154C2168002932 +:10B1700007D012480A3870BD1048801F70BD0846BD +:10B1800070BD20600522691D201DFDF717F8287984 +:10B19000A072207A0221400840000843FB210840A9 +:10B1A0002072E07901221043FD2210400840E07136 +:10B1B0000020307070BD0000F02000200E800000E4 +:10B1C000F027002010B50E4900238A78CC78A242DF +:10B1D00012D0521CD2B28A70022A00D18B708A78A7 +:10B1E000074B92001C339A580260486910180002FD +:10B1F000000A4861012010BD0360002010BD00005E +:10B2000044210020F7B5144C0025A76823691EE0EF +:10B2100024215943C9194E68864202D9301A486020 +:10B2200017E0801B751900264E600E750E699C464E +:10B230000B6AB646002E0AD0019E76193602360AEF +:10B240008E607646CE6016680E6261461160591CAB +:10B25000DED12361FEBD0000442100200EB5112087 +:10B2600069460872072214A102A87CDF002803D0D7 +:10B2700000221146FDF71AFB114878DF002803D0A1 +:10B2800000221146FDF712FB0020FF220090413200 +:10B29000694601900A804122D2004A808880FF20BE +:10B2A0009130C88068467ADF002803D0002211461A +:10B2B000FDF7FCFA0EBD00004466755F48524D0074 +:10B2C00041030000002070470020704700207047B5 +:10B2D000F8B506464078242104464C4324490C2204 +:10B2E00050436118224A00254B6824328018AE462C +:10B2F0002F469C46002B0CD0827A1346D20908D0E8 +:10B300005A0606D40D461A4A614689B217590835BD +:10B310008E46174C008924343B4672462946A9DFE5 +:10B320000B2819D0002800D01248012F13D17078B3 +:10B330000C214843001900890F4AA7DF00280AD0D2 +:10B340000E49884212D0082810D0891C88420DD09E +:10B3500011280BD00020F8BD70780C214843012340 +:10B360000019008972462946A9DFE0E70148F8BDC7 +:10B37000C027002041800000FFFF000002300000D5 +:10B3800070B50C46014660782422084D50434019A0 +:10B39000382300F093FD002807D16178242251431F +:10B3A00049194A68521C00D14A6070BDC02700206C +:10B3B000F3B589B00D461A206946888368780C2158 +:10B3C00003274843224E3B468019008907AA694655 +:10B3D000AADF002838D1687824214843741A00195C +:10B3E00069468A8B0830FCF722FF0028687807D06E +:10B3F000242148430119496800290DD0154E0CE05D +:10B400000C2141438919897A89071DD42421484395 +:10B410000019FCF7FAFE17E00F4E27506846828BA2 +:10B42000687824214843001942606878484300192D +:10B4300069460830FCF7C2FE6878242148430119A8 +:10B44000382324220998B04700200BB0F0BD00003B +:10B45000E427002001C2010049C0010010B5FFF738 +:10B4600037FF10BD10B5FFF78BFF10BD10B5FFF70C +:10B470009FFF10BD70B5094D04460E46E868FDF704 +:10B48000D9FB002809D128461030066044603443B7 +:10B490002246A968E868FDF78BFB70BD20210020DB +:10B4A00010B51349134800F0BFFF124C81B2283C7D +:10B4B000A068401CA0600E486038FEF755F90028CF +:10B4C0000BD0082809D00C49884206D00B49884285 +:10B4D00003D000221146FDF7E9F90321A068FCF72B +:10B4E00057FE002901D0012000E00020207010BD8F +:10B4F00060250020282000200430000001340000D6 +:10B50000F0B5002406460D46601C010795B0090FF2 +:10B5100008A810310C940174297B4174817CF927AF +:10B520003940891C81741C2105A8FCF76EFE684611 +:10B53000017D10200143684601750CA806940A900D +:10B540000894099401220B9408A88276174968464A +:10B5500001870D94697B08A80175A97B4175817DE0 +:10B56000F7203940891C0140EF200140114308A811 +:10B57000817514216846FCF748FE0EA800900DA8BE +:10B5800001900FAA0021304600F012F801466846EB +:10B5900001811421448181810FA804903346F088F1 +:10B5A00008336A4605A9A2DF15B0F0BD372A0000AE +:10B5B000F7B542790025002A00D004252222135C29 +:10B5C0000222002B00D01543CBB2FF2907D901225C +:10B5D0001543029A090A53709170032602E00299FA +:10B5E00002264B7004464034A189002901D0102165 +:10B5F0000D43002716E0B11C142909D9A189C91BE4 +:10B600004A007900091824302431FCF7D7FD0CE0FA +:10B61000029B7A0012189B19928C1A70120A5A70A7 +:10B62000CEB27F1CA189B942E5DCA089C01BA081F4 +:10B63000029805703046FEBDF8B51E4C20780028F3 +:10B6400037D02069002807D00026E068002805D000 +:10B650000025002E04D013E00126F6E70125F8E7C7 +:10B66000684651DF052806D0002806D00022114682 +:10B67000FDF71CF904E0012602E0216900988847E3 +:10B68000002D12D1608869460880A06861DF052816 +:10B6900006D0002806D000221146FDF707F904E085 +:10B6A000012502E0E168A0688847002ED8D0002D6F +:10B6B000CFD0F8BD70210020418805480288914212 +:10B6C00004D34088814201D8012070470020704790 +:10B6D0008C2000201048018CC9B2012917D1818C1F +:10B6E000090714D1018D09060A0F03D1828D1206B4 +:10B6F000120F0ED0090F012903D1828D1206120FED +:10B7000007D0032903D1808D0006000F01D000204F +:10B710007047012070470000C00F00F0800701D083 +:10B72000002070470120704710B50448017AC9070E +:10B7300002D00078FEF76CFA10BD00004420002013 +:10B74000F8B5234801690091457833E02048E900C5 +:10B75000C0680E1834782AE0182060437168641CB1 +:10B760000818B178E4B2A14200D10024017802297E +:10B7700002D003291BD113E0154A406824219268A6 +:10B7800041438F18397D002911D001F07BF800204A +:10B7900038750CE024277843C0180275006A03E06E +:10B7A0000B4900228B680869471CF3D10861707847 +:10B7B000A042D1D128466D1EEDB20028C6D1044862 +:10B7C00001690098814201D00120F8BD0020F8BD38 +:10B7D00044210020F8B5044638480027016900914B +:10B7E00046785CE03548F100C2688D1851E0601C75 +:10B7F00007D0324A24209268604321468018046AA8 +:10B8000024E02878182141436A68401CC0B25218CD +:10B810002870A978884200D12F70284B51682420C5 +:10B820009B684843C0181378012B34D1037D002B4B +:10B8300031D193688360D368C3601369036152692F +:10B84000C2611E4A5279002A00D087601B4B826871 +:10B850005B6996469C46D31A1A02194B120A9A4201 +:10B8600002D2C368D21808E0724663469A1A1202DE +:10B87000C368120A934202D99A1A426000E04760F4 +:10B8800087600122C7600275921E0262084600F0BE +:10B89000C7FF601CABD1287869788842A7D13046B1 +:10B8A000761EF6B200289DD10448016900988142B5 +:10B8B00001D00120F8BD0020F8BD00004421002087 +:10B8C000FFFF7F0088B0FDF7FBFF01F053F8274929 +:10B8D0000120FDF71FF8002803D000221146FCF7D5 +:10B8E000E5FF002222490320FEF74CF9002803D08F +:10B8F00000221146FCF7DAFFFEF7A4FDFFF7AEFCCD +:10B90000FCF70CFF00F0EAFD00F054FD1C21684636 +:10B91000FCF77BFC0521C90301910F2109040020DC +:10B9200002910090032269460A7310492C318A89DA +:10B930006946CA8108740F4805900F48069068460A +:10B94000FDF712FD002803D000221146FCF7AEFFE0 +:10B95000FDF79CF90220FDF7C1FB48DF0028FCD071 +:10B9600000221146FCF7A2FFF7E70000D4240020D4 +:10B97000CD0C0000BDBA010079A1010070B50546EB +:10B9800000790E46801C1446C0B21178821C8A18B9 +:10B990001F2A01D90C2070BD0A46491C2170401C89 +:10B9A000B0542078FF22411C217032542078811934 +:10B9B000288801F029F821784018C0B22070AA88A0 +:10B9C000002A09D0A968002908D08019FCF7F6FBE5 +:10B9D0002078297940182070002070BD072070BDA4 +:10B9E000F8B514780746A01C15460E461F2803D844 +:10B9F0007878801C1F2801D90C20F8BD1D20001B61 +:10BA000080B26946864608803019801C7DDF002898 +:10BA1000F3D13878022805D168460088704501D8EE +:10BA2000092107E078780821002801D0704501D964 +:10BA300068460088421C3255641CE2B2B154297831 +:10BA4000801C081828700020F8BD002070470020D6 +:10BA5000704700207047000031B5054C04E0401EDF +:10BA600000902046FCF736FB00980028F7D138BD3F +:10BA7000E703000010B5002809D0022806D1FEF720 +:10BA800073F817E000221146FCF710FF10BD0020EC +:10BA9000FEF76AF8002803D000221146FCF706FFE3 +:10BAA0000320FEF72FF8002803D000221146FCF7F0 +:10BAB000FDFE3CDF0028E5D110BD000010B5007888 +:10BAC000002809D105483B21808876DF002803D073 +:10BAD00000221146FCF7EAFE10BD00000020002005 +:10BAE000F0B58BB004460227684607730026099616 +:10BAF0008784C68408A80A900D46A18A208809AACE +:10BB0000A5DF002804D0E16A00291AD0884718E090 +:10BB10006846008CC007C00F13D068460682208894 +:10BB200003A9A8DF002813D1A97E28461B300122D3 +:10BB30000B00FCF7EDFC09460F1C2227292C442E94 +:10BB40004600FF20FE3069460882208803A9A8DF4E +:10BB50000BB0F0BD6B461E700BE006221EE069467E +:10BB60000A71029027E0204690470020F0E76B46DC +:10BB70001A702B8B022BF2D2EFE7684607706946EA +:10BB8000A26AF0E7032000E00420694612E00520E5 +:10BB9000FBE7298B032905D2032208212046FDF764 +:10BBA000E7FCD5E7417802780802104369468880AF +:10BBB00003D006200870A26AD5E70720FAE709201B +:10BBC000E3E70322EAE7000010B51D4A1D49030020 +:10BBD000FCF79EFC05040B31202712004878012851 +:10BBE0001FD0022808D1032005E04878002804D09F +:10BBF000032801D10220487010BD134B04201860A7 +:10BC0000124B012018609368D2689A42F3D0FCF777 +:10BC10009BFC10BD4878012806D0022804D00328D8 +:10BC2000F7D1FCF7C9FC10BD9068D1688142EED114 +:10BC3000FCF7B0FC10BD48780128E8D010BD00002A +:10BC4000242800200821002000250040002000407A +:10BC50000021425C002A01D001207047491C0629BE +:10BC6000F7D300207047000070B505461C200D4931 +:10BC700068434418204611300621FCF7C6FA2046D6 +:10BC80001021FCF7C2FAFF2121740020A176C043E5 +:10BC90002083284600F0BEFE024A0020A9001C3A7C +:10BCA000505070BDE0260020F0B50C4A00215368CA +:10BCB0001422504301240A4D03273F041E582246F4 +:10BCC0008A40164206D08A0052191668BE43166092 +:10BCD00016681660491C2029F0D3F0BD38210020D9 +:10BCE0000007005070B50D00044604D10022114633 +:10BCF0001046FCF7DBFD002C04D100221146104653 +:10BD0000FCF7D4FD2878207069886170090AA17059 +:10BD1000A988E170090A2171E8886071000AA071A0 +:10BD200070BD000007490978002906D0002806D018 +:10BD300005494978016000207047082070470E20AF +:10BD400070470000142100203428002030B5124B29 +:10BD50001B78002B07D0002807D0002A05D00468E4 +:10BD6000002C12D103E0082030BD0E2030BD0B4B5B +:10BD70001D68002D09D045681889414369185D89FF +:10BD8000454358682818884201D8072030BD146000 +:10BD90000020516030BD0000142100200029002047 +:10BDA000F8B505461B480F460078002805D0002D41 +:10BDB00005D02868002820D103E00820F8BD0E2017 +:10BDC000F8BD154C00262068002816D0608921890E +:10BDD000484361684118686881420ED9FFF79EFCAC +:10BDE00000280CD029686868090109194A6809897E +:10BDF000801AFCF7CDF9002903D00720F8BD1020E8 +:10BE0000F8BD3B460022294604200096FEF7F6F8CE +:10BE1000F8BD0000142100200029002010B50748BB +:10BE20004469601C06D000F00BF801462046FCF780 +:10BE3000AFF910BD01200007406910BD00100010CF +:10BE400001200007006980B270470000F8B50024A7 +:10BE5000184D194EAC806C7034707470B4702746F5 +:10BE60003846FEF7BBF87F1C0A2FF9D36C80FFF72A +:10BE7000D5FF871EFFF7E4FF47430F48AF60AC8054 +:10BE8000CC30046004818481448108206870FFF70D +:10BE9000D7FF0746FFF7C2FF441EFFF7D1FF6043FD +:10BEA0003946FCF775F928DF002802D10121B1706D +:10BEB0002970F8BD1421002034280020FFB5264841 +:10BEC00081B000781F4616460D46002808D0002D88 +:10BED00009D00198002806D02868002818D104E06D +:10BEE000082005B0F0BD0E20FBE71C4C20680028A0 +:10BEF0000ED0618920896268414389186A6891423D +:10BF000006D9002E04D0B04202D3F119814201D9E2 +:10BF10000720E6E70198FFF701FC00281AD0384611 +:10BF2000FFF7FCFB002815D06868FFF7F7FB002837 +:10BF300010D068683246C1190198FCF73FF90096A5 +:10BF4000286800220001245803212846019BA047AD +:10BF50000020C6E71020C4E714210020002900209B +:10BF6000F8B5374D044628780E4600282ED0002C10 +:10BF70002ED0002E2CD02068002829D0FFF760FF9B +:10BF80000146A088814228D3102826D3E0880028C3 +:10BF900023D0FFF743FF471EFFF752FF4743E088D8 +:10BFA000A1884843A9684018874216D3FFF748FF85 +:10BFB0000146E088A288504381420BDAFFF740FF38 +:10BFC000A188FCF7E5F8002907D103E00820F8BDB7 +:10BFD0000E20F8BD2079800701D00720F8BD6888C1 +:10BFE00001281BD03060174FA9680201D019716079 +:10BFF00041602168B950A1880181E1884181A08810 +:10C00000E188002648430446761CB6B2FFF718FFC5 +:10C01000A04205D2FFF714FF241A02E00420F8BD65 +:10C020000024FFF70DFFA9684018A860002CEBD191 +:10C0300068880101C9198E81401C68800020F8BD04 +:10C040001421002000290020F8B5044620481E468F +:10C05000007815460F46002807D0002F07D0002C87 +:10C0600005D02068002817D103E00820F8BD0E2075 +:10C07000F8BD1848016800290ED04289018940683E +:10C080004A4310186268904206D9002D04D0A94294 +:10C0900002D3A819884201D90720F8BD3846FFF716 +:10C0A0003DFB002811D03046FFF738FB00280CD0AC +:10C0B0006068FFF733FB002807D02B463A4621463D +:10C0C00002200096FDF79AFFF8BD1020F8BD000091 +:10C0D0001421002000290020F8B507460020464E14 +:10C0E0008646B07801281ED10020444BB0705A78A3 +:10C0F000082A19D034462578142169430C19022FD7 +:10C1000020D0032F0FD16079401CC0B26071241D74 +:10C1100003286AD0FDF7D2FE002804D0112802D0EF +:10C120002146FCF7B3FCF8BD022F09D01870FDF7CB +:10C1300041FF0028F7D0317814225143891959E082 +:10C140005870F4E72D498B885B1C9EB28E80237952 +:10C15000241D022B05D16788B102B94201D3012108 +:10C1600000E000218C46052B01D1072A03D00021D5 +:10C17000042B02D003E00121FAE7072A03D00027AD +:10C18000042B02D007E00127FAE76488B302A34238 +:10C1900001D3002A27D000223943114362461143BC +:10C1A00017D0164A1449507090804878401E487045 +:10C1B000681CC0B208700A2801D30A38087014201D +:10C1C000684341187046091DFCF760FC2846FDF7DE +:10C1D00005FFFDF7EFFE0028A5D0074914230A78D4 +:10C1E0005A43511806E00122D6E73078142148431B +:10C1F00081190D20091D94E7342800201421002006 +:10C20000F8B5044620481E46007815460F4600281B +:10C2100007D0002F07D0002C05D02068002817D1A8 +:10C2200003E00820F8BD0E20F8BD18480168002979 +:10C230000ED04289018940684A43101862689042D2 +:10C2400006D9002D04D0A94202D3A819884201D9E9 +:10C250000720F8BD3846FFF761FA002811D03046B4 +:10C26000FFF75CFA00280CD06068FFF757FA002847 +:10C2700007D02B463A46214605200096FDF7BEFE24 +:10C28000F8BD1020F8BD0000142100200029002076 +:10C2900010B5134813498088884207D0132176DFF0 +:10C2A00005E000221146FCF701FB02E074DF0028E4 +:10C2B000F7D10020FDF758FC002803D000221146DA +:10C2C000FCF7F4FAFDF7C2F8002803D0002211466B +:10C2D000FCF7ECFAFF20F530FFF7BEFB10BD0000C5 +:10C2E00000200020FFFF000010B50748007800285C +:10C2F00009D005480549303000F096F881B203486E +:10C300007038FDF7B3FA10BD002000207025002022 +:10C3100070B501240B49600408600B494010886027 +:10C32000094940398860094D6C602F20FBF7E2FE17 +:10C33000AC60074D00242F206C61FBF7DBFE2C71F5 +:10C3400070BD000080E100E040130140001001409A +:10C3500044210020F0B500220123032636041F46A5 +:10C360009740394212D0C5683D4203D1012464048C +:10C370003D4301E03446BD43C560064D97007D193D +:10C380002F68B7432F602F6827432F60521C202A45 +:10C39000E5D3F0BD0007005010B5044801224178F4 +:10C3A000514041700248FDF778FA10BD002000208E +:10C3B0000025002070B514480124512164258460B3 +:10C3C00022C004711049114800F022F80E488C2157 +:10C3D00010300160FF212D3141600A21816000266B +:10C3E000067301460948083000F012F80648FF219C +:10C3F00020300560F53184604160067301460348D2 +:10C40000103000F005F870BD5025002020200020DD +:10C410000A7B002A03D049680160002102E0096814 +:10C42000016001210171704710B504798B680268C1 +:10C43000002C08D049688C1A9C4201D9D11807E019 +:10C440000160002108E00968541A9C4202D9D11AFF +:10C45000016002E0016001210171006810BDF7B5C3 +:10C4600082B002981446806A0F46002833D00298A2 +:10C4700000252030009028E00298816A0C20684353 +:10C480000E18217830794A1C2270C01C785420780C +:10C490001622411C21703A542078C119308800F0CE +:10C4A000B3FA21784018C0B22070B288002A09D0AF +:10C4B000B16800290FD0C019FBF780FE20783179D0 +:10C4C000401820706D1C0098EDB2007BA842D3D8B4 +:10C4D000002005B0F0BD0720FBE7000030B59FB09D +:10C4E000032118A80175142110A8FBF78EFE002463 +:10C4F000012510A8109405711DA81290601C010759 +:10C50000090F10A81031017344738473601C010774 +:10C51000090F10A81031C1730020014610A8017442 +:10C5200001463348FDF74CF9002803D0002211469C +:10C53000FCF7BCF9142115A8FBF767FE01200146A2 +:10C5400018A8103141700120014618A810318170DF +:10C550000020014618A8C1700120014618A810311A +:10C56000017110A815940576642118A8179401701C +:10C570001F4815A91838FCF7ADFE002803D000228B +:10C580001146FCF793F940216846FBF73EFE19A1DE +:10C590006846FDF785F90120014608A810310177AA +:10C5A0000020014608A841776846FDF711F80028E9 +:10C5B00003D000221146FCF779F913481B901A9416 +:10C5C0001C9410A805850A481AA98030FCF746FF7C +:10C5D000002803D000221146FCF768F90B48FDF74C +:10C5E000EBFF0B488078FDF76FFF1FB030BD0000F8 +:10C5F000002500204E6F7264696353656D69636F37 +:10C600006E647563746F7200E5A4010091C201004D +:10C610000020002010B508461146C046C04610BD97 +:10C62000002803D00249C860002070470E207047E0 +:10C630007021002070B5002901D08C0701D007209F +:10C6400070BD064C0125A16062800549636010DF62 +:10C650000028F5D1257016202EDF70BD7021002036 +:10C6600015C60100002803D0024908610020704768 +:10C670000E2070477021002000207047FFB581B068 +:10C68000484C0E46039F049A0546617803201743E1 +:10C69000002903D1002F0DD001216170039AC9B286 +:10C6A000920000920B00FBF733FF072C071B2E466E +:10C6B0005D6C2C000221F0E7FFF7C2FB8708FFF753 +:10C6C000BFFB70430546FFF7A9FB461EFFF7B8FB0B +:10C6D00070433A46294629DF002812D102210FE093 +:10C6E000304628DF00280CD10399002901D003210E +:10C6F00006E00499002917D12978042950D018E0C0 +:10C70000617005B0F0BDFFF789FB471EFFF798FB8E +:10C710004743FFF795FB70433946039A29DF00280A +:10C72000EFD10499002901D00421E9E729780429EF +:10C7300025D00521E4E7FFF771FB471EFFF780FBDB +:10C7400047436888391800980F18FFF779FB698804 +:10C75000704341180098049A0818394629DF0028C8 +:10C76000E4D0CEE7FFF76CFB00997043401869886E +:10C770008A08296929DF0028C3D1002F10D006219B +:10C78000BEE7FFF75DFB0646FFF748FB451EFFF7D8 +:10C7900057FB68433146FBF7FBFC28DF0028B0D18C +:10C7A0000721ADE71421002010B50446FFF794FCE3 +:10C7B0002046FCF773FC10BD70B50C00054604D193 +:10C7C000002211461046FCF771F8002D04D100221A +:10C7D00011461046FCF76AF8207828702088FF215F +:10C7E00009020840000A6870206809020840000C2D +:10C7F000A8702068000EE87020792871207A68718E +:10C800002089000AA871A068000CE87170BD0000C2 +:10C8100001200249000508607047000000E200E0C6 +:10C82000F0B5174F2421BC6841430D1939694A1CE2 +:10C8300009D024224A4316196B687268934204D8BF +:10C84000D21A726029623861F0BD0A4602E00A46D7 +:10C85000396A9B1B4E1C0BD024264E4337197E6829 +:10C860009E42F4D324264E4336197768FF1A776028 +:10C870006B60296224214A4311190862F0BD00004F +:10C880004421002070B5194C2269A5681346114651 +:10C8900006E0814207D00A46242671434919096AF5 +:10C8A0004E1CF6D170BD002EFCD08A420CD1242043 +:10C8B00043435819006A2061401C05D10C4B0120EC +:10C8C0009860002363616071242041434819242348 +:10C8D00041685A43006A52191062421CE2D0242275 +:10C8E0005043401942685118416070BD44210020F6 +:10C8F00000100140F8B51D4C2569681C35D01C4856 +:10C90000002640686169401A07023F0A19E02420A6 +:10C910004543A0682A185068B84214D8A3693F1A42 +:10C920008619156A002B09D0D169906998470028AB +:10C9300007D000221146FBF7B9FF02E09169D069E8 +:10C940008847681CE3D1A178E078814206D1401C79 +:10C95000C0B2E070022801D10020E0700349000657 +:10C96000800D1C310E50FFF753FFF8BD442100200D +:10C970000015014008B500201D4B0522082100903C +:10C98000FCF7BCF8002803D000221146FBF78EFF0D +:10C99000184A01211848FCF78BF8002803D0002220 +:10C9A0001146FBF783FF1448144A0121001DFCF7D0 +:10C9B0007FF8002803D000221146FBF777FF0E48CE +:10C9C0000F4A01210830FCF773F8002803D0002239 +:10C9D0001146FBF76BFF08480A4A01210C30FCF7AF +:10C9E00067F8002803D000221146FBF75FFF08BD5F +:10C9F00084210020318E010010200020A1B401000C +:10CA0000E9C2010099C301000870000A48700220C1 +:10CA10007047000001218140024842688A43426019 +:10CA200070470000F020002038B51549154A4888A5 +:10CA300090420FD04A78144C521CD2B24A70237BD9 +:10CA4000934208D3083175DF002803D0A16900297B +:10CA500000D0884738BD00254D70217C002907D0C3 +:10CA60003B2176DF002803D0A169002900D0884748 +:10CA700061690029EED068460570884738BD00001E +:10CA800084200020FFFF0000A826002012494868EB +:10CA9000C005C00D19D0103840B2002807DA0207CF +:10CAA000120F083A920892005118C96904E08108EF +:10CAB0000A4A8900891809688007C00EC140080623 +:10CAC000800F012803D0032803D0022070470020E4 +:10CAD000704701207047000000ED00E000E400E036 +:10CAE00042788378521C934200D10022037893420B +:10CAF00001D1002070470A604168407818225043F5 +:10CB000008187047F8B51546069C1E4607460222CF +:10CB1000009400F00AF8002806D133461022294676 +:10CB20003846009400F001F8F8BDFFB583B0074621 +:10CB300000200C9C8646267805463AE07868A900D5 +:10CB400041180A88684682804988C1800022694667 +:10CB500001A865DF002810D1684601780598814258 +:10CB600026D17046002801D0002200E00222207861 +:10CB7000891841181F2902D90C2007B0F0BD714651 +:10CB8000002908D1401CC0B2411C069B049A2170A8 +:10CB90001A5401208646217806980A18694601A889 +:10CBA00065DF0028E9D169462078097840182070AF +:10CBB0006D1C3888A842C1DC7046002804D020785B +:10CBC0000699801B401E88550020D6E70179002970 +:10CBD00002D1007B002800D0012070471100000026 +:10CBE00012000000130000001400000011000300F8 +:10CBF000999A010012000300999A010013000300A2 +:10CC0000999A010014000300999A010023D1BCEA0B +:10CC10005F782315DEEF121200000000FFFFFFFF18 +:10CC200053BA0100B1B30100CDB201006DB40100EF +:10CC30004FBA010081B30100C9B2010065B401001F +:10CC40004BBA0100D1B20100C5B201005DB40100D0 +:10CC500070CC010000200020840100006C820100E3 +:10CC600094CC010084210020CC0F00003A85010003 +:10CC700042010333FFFF0C1F0D1801000F180100C4 +:10CC80000A1801A324F4039BFFFF026001041AB5F4 +:04CC9000A5010000FA +:04000005000180C1B5 +:00000001FF diff --git a/circuitpython/lib/nrfutil/tests/resources/dfu_test_app_hrm_s130.hex b/circuitpython/lib/nrfutil/tests/resources/dfu_test_app_hrm_s130.hex new file mode 100644 index 0000000..57c7fb7 --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/resources/dfu_test_app_hrm_s130.hex @@ -0,0 +1,1287 @@ +:020000040001F9 +:10C00000C039002049C1010063C1010065C10100C0 +:10C010000000000000000000000000000000000020 +:10C0200000000000000000000000000067C10100E7 +:10C03000000000000000000069C101006BC10100A8 +:10C040006DC101006DC10100DDC401006DC10100C1 +:10C050006DC101000000000099C201006DC1010026 +:10C060006DC101006DC101006DC101006DC1010014 +:10C070006DC101006DC101006DC101006DC1010004 +:10C080006DC10100F1C301006DC101006DC101006E +:10C0900011C401006DC1010065C401006DC1010042 +:10C0A0006DC101006DC10100000000000000000032 +:10C0B0000000000000000000000000000000000080 +:10C0C0000348854600F0B8F80048004709FA010027 +:10C0D000C0390020401E00BF00BF00BF00BF00BF2E +:10C0E00000BF00BF00BF00BF00BF00BF00BFF1D155 +:10C0F00070470000401E00BF00BF00BF00BF00BF70 +:10C1000000BF00BF00BF00BF00BF00BF00BFF1D134 +:10C1100070470000056885F308884068FF2464B212 +:10C12000EFF30585002D01D1A646004725460646BA +:10C1300021273FBAF0B40024002500260027F0B4E0 +:10C14000F92040B2004700000321094802680A4371 +:10C150000260084802680A430260074880470748AF +:10C160000047FEE7FEE7FEE7FEE7FEE7FEE700002A +:10C17000240500405405004089C40100C1C00100ED +:10C1800030B50B46014600202022012409E00D466F +:10C19000D5409D4205D31D469540491B25469540F7 +:10C1A00040191546521E002DF1DC30BD10B5431A62 +:10C1B000934209D28318881803E0401E01785B1E61 +:10C1C0001970521EF9D210BD03460B439B0703D0D2 +:10C1D00009E008C9121F08C0042AFAD203E00B784C +:10C1E0000370401C491C521EF9D210BDD2B201E0AE +:10C1F0000270401C491EFBD270470022F6E710B5C2 +:10C2000013460A4604461946FFF7F0FF204610BDC4 +:10C21000421C0178401C0029FBD1801A704730B5C0 +:10C2200004460020034600E05B1C934203D2E05C1E +:10C23000CD5C401BF8D030BD064C0125064E05E014 +:10C24000E36807CC2B430C3C98471034B442F7D337 +:10C25000FFF73AFFE80F02000810020030B58C1813 +:10C260000278401C13071B0F01D10378401C1209F0 +:10C2700006D10278401C03E005780D70401C491C73 +:10C280005B1EF9D101E00B70491C521EFBD1A1428B +:10C29000E6D3002030BD0000FEB50024FF250135A7 +:10C2A000012726460194284603F0C4FD00280AD041 +:10C2B000374901204968B040014204D03548002187 +:10C2C00028183C4301602D1D7F00761CADB2042E62 +:10C2D000E9D3FF207D3003F0ADFD002807D02E48C4 +:10C2E00000210160400704432C48006901902C4F55 +:10C2F000200713D00126002526420BD02948AA008A +:10C30000111808690969C004C00E8903890FD21980 +:10C310005268904776006D1C042DEDD3002C34DA62 +:10C3200000241F4F012638194030007B8506AD0ED2 +:10C3300080090090AE40284603F08EFE002821D0F0 +:10C34000284601F0EDFD8000C0194768002F19D084 +:10C350001549A8004018006801998003800F0E421B +:10C3600002D0022802D00DE003280BD10099032946 +:10C3700005D102280AD00221284603F04BFD2846A9 +:10C380000099B847641C062CCBD3FEBD0321F3E70C +:10C3900000630040006000407C61004000050050E8 +:10C3A0005030002000650040000700508307FF2246 +:10C3B000DB0E9A408907090E994000280BDA000726 +:10C3C000000F0838830808489B001818C369934376 +:10C3D0000B43C3617047830804489B001B1818680F +:10C3E000904308431860704700ED00E000E400E06F +:10C3F00010B506490020086048608860C86003499D +:10C4000040390860486004F03FFC10BD4011014015 +:10C41000FEB50020C043124D029068690190684645 +:10C420002E6902F061FF074603F02CFA0446002F44 +:10C4300008D002AA0199009802F076FF029803F052 +:10C440006BFA06E0029803F067FA002801D1002C8D +:10C4500002D0304601F086FE00206871FEBD00006B +:10C460003C29002010B507484068002807D08047C5 +:10C47000002803D00022114600F028FA10BD03F076 +:10C480007DF910BD6829002010B503F0C5F900281A +:10C4900005D00E490C484860C8130D4988610D4805 +:10C4A000018CC9B201290ED1818C09070BD1018DF4 +:10C4B0000906090F042906D1808D0006000F02D15C +:10C4C00005490120886010BDDFFF07C0000500405E +:10C4D000006C0040C00F00F0000600407CB51B4C13 +:10C4E000A0681B4E0025002818D0A5601948806957 +:10C4F000C1B2194800F00FFA002805D001216A46A0 +:10C5000011700190684607E013488168C068401ABE +:10C51000012803D16846057071688847E0690028E2 +:10C5200003D0E561032003F027FD606A00280BD0EB +:10C530006562084980390868086002216A461170FE +:10C5400001907168684688477CBD0000002100406A +:10C5500010290020002500403030002030B47446FF +:10C56000641E2578641CAB4200D21D46635D5B00EF +:10C57000E31830BC184702E008C8121F08C1002A9F +:10C58000FAD170477047002001E001C1121F002A54 +:10C59000FBD1704738B50D4C6078022802D00C49A9 +:10C5A0000120886069460B4800F0A4F9002802D0F9 +:10C5B00000F016F838BD0848802181606A46074BB4 +:10C5C0001278DA6102226270416038BD10290020C1 +:10C5D00000200040403000200023004000250040A3 +:10C5E0001CB506490120C8600549487003206A4609 +:10C5F00010704968684688471CBD00000020004054 +:10C600001029002004490020487004490122CA6012 +:10C610004A6003490860704710290020002000404C +:10C6200000250040F7B582B0002605461670007858 +:10C630001446002805D02846039903F0A7FA0600FF +:10C6400008D1A87800281ED02078039F001D1F283D +:10C6500002D90C2005B0F0BD684679DF0028F9D179 +:10C6600021780322481C20707A5421781922481C12 +:10C6700020707A542078C1196846008804F08EFB37 +:10C68000217840182070E8780223002810D0207804 +:10C69000039A411C2170135420780399471C0122EE +:10C6A00027700A542078EA78471C039927700A54A7 +:10C6B0006868002815D00021415620788C46024633 +:10C6C000C01C03991F28C4D8501C20708B5422789A +:10C6D0000A23501C20708B5420786246431C237020 +:10C6E0000A542889002809D02846009406220221ED +:10C6F0000830039B04F0D0FB0600ABD1288A002849 +:10C7000009D028460094072203211030039B04F02F +:10C71000C3FB06009ED1288B002809D02846009430 +:10C72000152214211830039B04F0B6FB060091D1AA +:10C73000286A002805D02246039901F065FD06000D +:10C7400088D1686A002805D02246039903F0ECF9E5 +:10C75000060084D12C20405D002806D022462846C1 +:10C76000039904F02CF80600C7D1304672E710B5E3 +:10C7700001220221002001F001FA00280BD107223A +:10C780000221012001F0FAF9002804D100210A2237 +:10C79000084601F0F3F910BD044842680121C905BB +:10C7A0000B46934383600A40C26070470005005007 +:10C7B00070B50024064D06E06968E000085C0121C0 +:10C7C00003F05EFA641C28788442F5D3002070BD23 +:10C7D00024290020F8B515460C460646052A01D244 +:10C7E0000720F8BD03F00EFB002803D103F0E2FAA6 +:10C7F0000028F6D1114900204E600C7008618D6050 +:10C8000048610F4D0DE0E0002968801900918178A2 +:10C810006A46517000780B4A694603F077FA00289F +:10C82000DFD12046641EE4B20028ECD10348064A5A +:10C8300000210C3000F092F8F8BD000024290020FF +:10C84000E40F020099F5010051E301003EB50446F2 +:10C8500004200190184802906946204602F048F8EA +:10C86000002807D01549884203D00022114600F065 +:10C870002DF83EBD10480C38017BC90716D0104A70 +:10C880000C218088A7DF002810D00E4988420DD0E7 +:10C8900008280BD0891C884208D0112806D00A49E4 +:10C8A000884203D00022114600F010F8204601F023 +:10C8B000D5FF0028D9D13EBD0C28002040800000C3 +:10C8C000FFFF00000230000001340000BFF34F8F73 +:10C8D00004490348C860BFF34F8F00BFFDE7000065 +:10C8E0000400FA0500ED00E0014B1B68184700004A +:10C8F0000C3000208268C36893420AD08268838823 +:10C900001A4003689A5C0A708168491C81600020A3 +:10C910007047052070478268C3689B1A82889342DB +:10C9200008D8C36813400268D154C168491CC1606B +:10C93000002070470420704738B50C46A268064BAB +:10C9400012019D58097862880092024620460830FC +:10C950002369A84738BD00007031002070B5114C24 +:10C96000A568002D06D0002A06D0002804D0002398 +:10C97000247809E0082070BD072070BD24265E439E +:10C98000AE5D002E04D05B1CA342F7DB042070BD1B +:10C99000242401265C432E5564196170A261036052 +:10C9A000002070BD3C290020FFB59807002481B00D +:10C9B0001E4615460F4600280BD1002E09D003F065 +:10C9C00079FE22490A9888610F70324600208E60F5 +:10C9D00008E0072005B0F0BD24234343D4549B183E +:10C9E0001C75401CB842F7DB24204743BB190320C9 +:10C9F00048700F461846CB6019461830002218239D +:10CA00002E465E43D3005B181C705C709D705860AE +:10CA10003018521C032AF5DB0020C0433861BC707B +:10CA2000FC7001240A482405046003211420FFF748 +:10CA3000BDFC08480460084C0198A0600321112047 +:10CA4000FFF7B4FC606878610020C3E73C29002050 +:10CA500080E200E000E100E000150140FEB5044680 +:10CA60001D48174682680D46002A0CD001788C427A +:10CA700001D2052D01D20720FEBD214624235943B2 +:10CA8000535C012B01D00820FEBD88184078012896 +:10CA90001DD0002604F0C4F9C0000F490190C968F8 +:10CAA0004018694604F0E6F9002812D0012101700F +:10CAB0000A49446049680830E2C007490198C968DA +:10CAC00041180098487004F06DF80020FEBD2E4615 +:10CAD000E0E70420FEBD00003C29002000150140D5 +:10CAE000F8B5144D0446A868002809D029788C426E +:10CAF00001D30720F8BD24216143405C012801D007 +:10CB00000820F8BD04F08CF9C600E86869463018C2 +:10CB100004F0B0F900280AD0022101704460E868EE +:10CB200031180098487004F03DF80020F8BD04204A +:10CB3000F8BD00003C29002010B5184C012100224E +:10CB400009042069FFF78AFF002803D0002211465C +:10CB5000FFF7BCFE01210022C9036069FFF77EFFD9 +:10CB6000002803D000221146FFF7B0FE00220C4936 +:10CB7000A069FFF773FF002803D000221146FFF7DA +:10CB8000A5FE05210022C903E069FFF767FF002821 +:10CB900003D000221146FFF799FE10BD00280020A7 +:10CBA00066260000F0B50546007D002493B00E46D1 +:10CBB00000280DD00120014668461031039401730E +:10CBC000717B4173817BF92001406846891C817328 +:10CBD0001C2104A8FFF711FB6946087C02210843C9 +:10CBE000694608742A7DEF21002A02D010221043E2 +:10CBF00000E008406A461074059407940894287D64 +:10CC0000002800D003A8099001270A9410469771C4 +:10CC1000304A82800094B27B0270F27B427080784E +:10CC2000F9221040F722801C1040EF2108404108F3 +:10CC3000490068468170317B017214210BA8FFF70F +:10CC4000DCFA01A80B9068460C908786C48607879B +:10CC500002A80F90A888AB1D0BAA04A9A2DF002888 +:10CC600035D1B068002830D0684687711A49818074 +:10CC70000094317C01700020014668464170807844 +:10CC8000F9210840F721801C0840EF2108404108A5 +:10CC900049006846817011A8B16800F096FD06460B +:10CCA00014210BA8FFF7A9FA01A80B9068460C9075 +:10CCB0008686C486068711A80F902A46E8880E3219 +:10CCC0000BA9A3DF002802D100E0EC81002013B003 +:10CCD000F0BD0000192A00000829000010B50C4919 +:10CCE0000C4803F051FDC1B20948683800F03EFA23 +:10CCF00000280BD0082809D00749884206D00749E8 +:10CD0000884203D000221146FFF7E0FD10BD00006D +:10CD1000602D002020280020043000000134000095 +:10CD200070B50C4692B000216A461170072511714A +:10CD3000002809D0C17849070CD502A9FFF772FC79 +:10CD4000002808D102AE00E00026002C0ED0E078CA +:10CD5000002802D0284612B070BD01AA0AA92046B8 +:10CD6000FFF760FC0028F6D10AAA00E0002268461E +:10CD700003790178304672DFEDE70000F8B50D4623 +:10CD800006991746040013D0002F11D04A480026F8 +:10CD90004671C3600161202239464848FFF706FA10 +:10CDA0004648C168002905D00169002902D002E087 +:10CDB0000E20F8BD06728169002902D0C1690029E0 +:10CDC00000D1067500F0E0F83C49303108461038D3 +:10CDD00001602031816030215038FFF70EFA37486A +:10CDE000217830380170A1788170E178C170617864 +:10CDF00041706269216942610161E268A168C260B3 +:10CE000081600146E369A269CB618A61616A002998 +:10CE100017D00146A0310246AC3241628A60636A93 +:10CE20001B880B80616A436A898899800021436A64 +:10CE300004E0666AB668765C5654491C9E888E4249 +:10CE4000F7D8A16A00291CD01C4AA83211460C3917 +:10CE50008A608162A36A9B888B80A16A836A098841 +:10CE600019800021836A04E0A66AB668765C56548D +:10CE7000491C9E888E42F7D82C210A5D0F49103933 +:10CE80000A73216A002909D00B4914310162226A10 +:10CE900052884A80216A026A0988118061680029E3 +:10CEA00004D00549C91D41606168416003482946B5 +:10CEB0003038FFF735FFF8BD6C280020FC2D00202E +:10CEC00010B50288224C102A15D00021112A18D042 +:10CED000192A0FD1807900280CD1607901281FD040 +:10CEE000022830D0032805D12171E2680846002AC3 +:10CEF00000D0904710BD017D0129FBD180882081A1 +:10CF000010BD617013490979A17180882189884217 +:10CF1000F6D1012012E021690029F1D0884710BD27 +:10CF2000A079002809D00A48193003F069F80028D0 +:10CF300003D0A079401EA071EBE7022000F04CF86E +:10CF40000028E8D110BD022020710320F6E7000080 +:10CF50006C280020FC2D002010B5022801D00328E9 +:10CF60000ED1084C207800280AD00020207060796B +:10CF700000F032F8002803D02169002900D088474A +:10CF800010BD00006C28002010B507210148FFF7F4 +:10CF900034F910BD8428002010B50D480078012810 +:10CFA00014D10C4C6078002810D16079002802D090 +:10CFB00074DF00280BD101206070607900F00CF85C +:10CFC000002803D02169002900D08847002010BD27 +:10CFD000FC2D00206C280020F0B5624C87B06071F9 +:10CFE000002606A8069603F06FF80127082806D049 +:10CFF000002878D10698002802D02770AFE0069666 +:10D00000FFF7C2FF584D6878002808D060790128E2 +:10D0100016D1E168002906D0E770072088476079BB +:10D02000012802D00CE0E67002E06878002805D004 +:10D030004C48193002F0E4FF002801D10220607151 +:10D04000287A002804D16079022801D10320607178 +:10D05000287D002804D16079032801D166712671EA +:10D06000E16800290AD06079022801D0032805D19F +:10D070002878002802D06078002814D0A6701821E3 +:10D080006846FFF7BAF8684606700196067203967E +:10D09000607901280BD0344F0426203702280FD0A6 +:10D0A000032850D12EE0A77006208847E7E72D48D7 +:10D0B000183001906846077046820682277145E065 +:10D0C000288A69464882A88908822748203003F0C8 +:10D0D00047FF002805D02878002802D06078002873 +:10D0E00002D002202EE03BE00220694608721E4872 +:10D0F00003973038C6700021FFF712FE00282FD1A9 +:10D10000267120E0288B69460882A88B4882164841 +:10D11000203003F025FF002805D02878002802D011 +:10D120006078002801D003200CE0022069460872D4 +:10D130000D4803973038C6700021FFF7F1FD002835 +:10D140000ED1052020716079002803D0684673DF76 +:10D15000002805D1E168002901D020798847002006 +:10D1600007B0F0BD6C280020FC2D002073B586B000 +:10D1700004466946227C097F00208A4225D000258A +:10D180000126684600950680458007A80190217415 +:10D19000E188608A6A46A4DF002816D1608A0D49BA +:10D1A000884214D0207D002811D002950395049563 +:10D1B0000595E188684601818672418881810490E5 +:10D1C00001980590608A02A9A6DF08B070BD08200A +:10D1D000FBE70000FFFF000038B504460868206048 +:10D1E0000020C043608208792075FF200D4620741E +:10D1F00001216846817006490180221D694601208F +:10D20000A0DF002803D129462046FFF7CBFC38BD1C +:10D210000F18000038B50A88102A1AD0112A1AD01F +:10D22000502A1BD1027D002A18D0CA884389891D43 +:10D230009A4213D10A8B022A10D10268002A0DD01B +:10D24000CB7E8C7E19022143C907C90F07D000216C +:10D2500006E0898801E00021C943418238BD0121EF +:10D260006B4619706946904738BD000070B5054699 +:10D2700001461C220F48FEF799FF0F4C002626702E +:10D280002968002907D00822A018FEF78FFF204642 +:10D2900008307ADF02E0084808307BDF002808D138 +:10D2A000401E608004486670044A0021001DFFF79C +:10D2B00055FB70BDC42E00208C280020BD0D02003F +:10D2C000F8B5224C028800271F4DE689102A16D097 +:10D2D00029464968112A21D0122A2DD0502A1CD162 +:10D2E000C288801DB24218D1028B022A15D1C27E9B +:10D2F000837E10021843C007C00F0CD112E0818852 +:10D30000698001461048082216311030FEF74EFFA2 +:10D310006F70002E01D100F0BFFFF8BD0020C043A8 +:10D3200068806F700846FFF7DBFB0028F5D0A16925 +:10D330000029F2D08847F8BD811D0348082210302B +:10D34000FEF734FFE7E700008C280020C42E002001 +:10D3500010B502484068FFF7C3FB10BD8C280020C1 +:10D3600030B585B00D46040039D0002D37D068683F +:10D37000002834D00020C0431A4B20800FCB0493E8 +:10D3800001AB07C318486946088001A8811E63DF06 +:10D39000002822D1221D69460120A0DF00281CD1CF +:10D3A00068468078A071204601F0CEF9002814D19B +:10D3B000204601F085F900280FD12946204601F0CA +:10D3C00005FA002809D16868A062A868002800D082 +:10D3D000E062064901200870002005B030BD0E2033 +:10D3E000FBE70000A00F020030150000A428002079 +:10D3F0003EB5002828D0002926D0826A002A23D0F2 +:10D400000A88102A21D0112A30D0502A1FD0512A40 +:10D410001AD10A460446891D0878022814D1488882 +:10D42000238A984210D1907A04280DD006280BD078 +:10D43000052809D02046891C02F02AFD002803D0C7 +:10D44000E16A002900D088473EBD898810E0CB887A +:10D4500002899342F8D108226B461A708A7F1A71AA +:10D4600020310291826A694690473EBD0021C9433E +:10D4700001803EBD30B585B0002822D00388134C12 +:10D48000A34220D0124B1B78002B1CD0104B102530 +:10D490005B1C1D705970002401259A700322694697 +:10D4A0000A820094019402940394028A0A808D7087 +:10D4B0008C8004A90291039300886946A6DF05B019 +:10D4C00030BD0E20FBE70820F9E70000FFFF000059 +:10D4D000A42800207FB504460121684681714A498D +:10D4E00081804A4A01A90120A0DF00287ED122883C +:10D4F00025463C35002A09D044482B46801C009024 +:10D500004348616800F014FD00287BD12289002A7D +:10D510000AD03E482B460A3000903D48E168401F43 +:10D5200000F006FD00286DD1228A002A0AD0374873 +:10D530002B461230009036486169001F00F0F8FC5D +:10D5400000285FD1228B002A0AD030482B461A309F +:10D5500000902F48E169801E00F0EAFC002851D1BC +:10D56000228C002A0AD029482B46223000902848D5 +:10D57000616AC01E00F0DCFC002843D1228D002A25 +:10D580000AD022482B462A3000902148E16A401EEA +:10D5900000F0CEFC002835D1216B00290ED002A866 +:10D5A00003F0D4FA19482B4632300090184808226C +:10D5B00002A9801F00F0BCFC002823D1606B00286A +:10D5C0000BD012492B463A3100910279016810487C +:10D5D000401C00F0ADFC002814D1A16B002910D034 +:10D5E00002A802F051FD0948423000E00AE0009034 +:10D5F00007482B46072202A9273000F099FC002893 +:10D6000000D1002004B070BD0A180000AC28002032 +:10D61000292A000070B5044601F04EFA214616484A +:10D6200000F088F8144821461838FFF7F3FD20462B +:10D63000FFF746FE204600F0E5F90F48214680300E +:10D64000FFF7D6FE20880D4D102802D011280ED1EC +:10D650000AE0072000F0B6FA002803D000221146A5 +:10D66000FFF734F9A08801E00020C043A8802046DD +:10D67000FFF726FC70BD0000102D002000280020C0 +:10D6800030B50446008C134A8BB090421FD006AAD6 +:10D69000204602F02FF869460546088000200190D8 +:10D6A00002900390049022898A8001228A71088165 +:10D6B00006A803910490208C01A9A6DF002804D1BC +:10D6C00069460988A94200D00C200BB030BD082063 +:10D6D000FBE70000FFFF000038B504460868206043 +:10D6E000087960710020C0430D462084002022216B +:10D6F00008554C2108530121684681700C4901806E +:10D70000A21D69460120A0DF00280FD1294620462E +:10D7100001F098FF002809D1A868002805D0294603 +:10D72000204600F08DF8002800D1002038BD000010 +:10D730000D18000038B50A88102A17D0112A17D002 +:10D74000502A18D1CA888389891D9A4213D10A8B1D +:10D75000022A10D10268002A0DD0CB7E8C7E1902DD +:10D760002143C907C90F07D0002106E0898801E0DD +:10D770000021C943018438BD01216B4619706946F7 +:10D78000904738BD70B5054604464035A8890E4619 +:10D79000142807D12622A118881EFEF707FDA889A4 +:10D7A000401EA88180B241000919401CA8818E84C6 +:10D7B00070BD20308170704770B504460D46084634 +:10D7C000FEF726FD2080656070BD0A7802704978FA +:10D7D00041700220704700001CB500234822154903 +:10D7E000082003F0F1F8002803D000221146FFF7CB +:10D7F0006DF800200090019001206946087068468D +:10D8000060DF002803D000221146FFF75FF80A48C6 +:10D8100003F0D0F8002803D000221146FFF756F895 +:10D82000064803F0E9F8002803D000221146FFF76C +:10D830004DF81CBDB02C002015D601003D0B020098 +:10D84000F0B58FB00D4606461C216846FEF7D5FCA4 +:10D850006846017802200143684601700024019463 +:10D86000039404940594012708A806948770154929 +:10D87000684601840794E97B0177297C4177807FA2 +:10D88000F9210840F721801C0840EF210840410899 +:10D89000490068468177142109A8FEF7AEFC08A864 +:10D8A000099007A80A9068468785C4850786A868F6 +:10D8B0000D903346F088103309AA6946A2DF0FB0F5 +:10D8C000F0BD0000382A00001CB5044681786A4685 +:10D8D0000C4802F00DFC002812D160781C2148434E +:10D8E00009491C2340181A46694602F0B9FC06484B +:10D8F00006494C30807A80000A5821466846904795 +:10D900001CBD000008290020C02F0020C40F020009 +:10D91000F8B5054608206946088001236A461D4976 +:10D920002846AADF1C4800688047B12044DF002851 +:10D9300003D000221146FEF7C9FF11DF002803D0F3 +:10D9400000221146FEF7C2FF144C606913DF002865 +:10D9500003D000221146FEF7B9FF284600F054FE1E +:10D9600001210F4A880510600E4802680D4B002007 +:10D9700080330D468540154204D0C606F60E0D468E +:10D98000B5401D60401C2028F3D3606900F00CF8FE +:10D99000F8BD0000B4310020602900200010001004 +:10D9A00080E200E000E100E010B5FEF7B3FB10BD3F +:10D9B0007CB5134E00250C463060002918D069460E +:10D9C000002000F0A7F8002819D101A9012000F0DB +:10D9D000A1F8002813D1684601790020002901D060 +:10D9E000022004E069460978002900D00B2020704D +:10D9F0007068002802D1FEF7BAFE054628467CBDB5 +:10DA00006428002010B5184C0188606810290DD0DA +:10DA100011290AD1401E606007D1FEF7A8FE002838 +:10DA200003D02168002900D0884710BD002817D1F5 +:10DA300000210122084600F0A1F800280AD107229F +:10DA40000221012000F09AF8002803D104220221CB +:10DA500000F094F8002803D02168002900D08847FE +:10DA60006068401C606010BD6428002010B5032071 +:10DA700000F0FEF910BD0000F8B50746002422486A +:10DA800002E0641C042C19D2A2008258BA42F8D1D8 +:10DA9000042C13D21D4E1E4DF069002928D00129F7 +:10DAA0000DD002290AD16000201840194578002DB8 +:10DAB00004D0F168002901D028468847F8BD6100EC +:10DAC00062182946AD5C511800914978002909D0A7 +:10DAD00071680A2251430D4A521CFEF7BFFF00280D +:10DAE00000D1777000988178084810300155DEE742 +:10DAF000FEF7F6FF05486100611810304919005D16 +:10DB00008D78A842D3D0F8BD700F020044280020C1 +:10DB1000C02D002004280CD2074A1269074B800050 +:10DB20001B5C01209840904300D001200870002029 +:10DB300070470020FAE7000000050050700F020057 +:10DB400010B5042806D0072810D00A2801D102F009 +:10DB500011FF10BD08481321808876DF08E00028F7 +:10DB6000F7D000221146FEF7B1FE10BDFFF714FA00 +:10DB70000828F4D110BD00000028002070B5002353 +:10DB8000042811D2440004190D4D012A02D10129A3 +:10DB90000DD0002246008019094E801900290CD0B2 +:10DBA000012906D0022906D00723184670BD0D3082 +:10DBB000C2B22A55F9E74270F7E78270F5E7000034 +:10DBC000C02D002010B5054A0146127A0020D20768 +:10DBD00002D0084600F054F810BD00004428002090 +:10DBE00070B50E46204905464E608D600020CA6023 +:10DBF000A9071ED50024012211462046FFF7BEFFCB +:10DC0000641C042C02D20028F5D012E0002810D1A8 +:10DC1000720804211548FEF7DDFD002809D1FEF742 +:10DC2000C7FD002805D11048114A00211C30FEF71D +:10DC300095FEE90706D00F220E4952058A6000239F +:10DC4000CB608A6100280DD107480B4A00211430AF +:10DC5000FEF784FE002805D10348084A0121183048 +:10DC6000FEF77CFE70BD000044280020800F0200FB +:10DC7000ADDE0100000500506DF8010099C70100FC +:10DC8000FEB5784906464F684B690093BB00FB1808 +:10DC900000200122019352050546734C3300FEF724 +:10DCA0005DFC180D13133749596C828E858E97A130 +:10DCB000A5A5A5A5A5C3C8CDD4DADA120B225205B5 +:10DCC000A260E5600D70FEBD05208005A060E560E6 +:10DCD00060680F235B055840800209D5A260E560AB +:10DCE000022E02D1E120C0000AE07D20400107E0C1 +:10DCF000E260A560022E01D1C82001E0FF20913032 +:10DD00000E706421FEF73CFA78430022014646E09B +:10DD100005208005A060E56060680F235B05584022 +:10DD2000800204D5A260E56019204001E8E7E260C6 +:10DD3000A560E1E705208005A060E56060680F232D +:10DD40005B055840800202D5A260E560CDE7E26045 +:10DD5000A560D3E705208005A060E56060680F231B +:10DD60005B055840800202D5A260E56001E0E260F8 +:10DD7000A5600E707900002211E005208005A060EA +:10DD8000E56060680F235B055840800202D5A26001 +:10DD9000E56001E0E260A5600E700022394600985F +:10DDA000FEF75CFEFEBD05239B0544E06068012193 +:10DDB00089050A468243A2600840E06010E061687D +:10DDC0000120800502468A43A2600140E160E4E749 +:10DDD00061680120800502468A43A2600140E1603B +:10DDE0000199C8E70F214905E1601BE00F468869EA +:10DDF000FEF776FE11218A1B1C4E01D0002802D0AE +:10DE0000A660E560FEBD012A0BD91046C821484333 +:10DE10006421FEF7B5F9796800224143B869FEF73D +:10DE20001DFEE660A560FEBD0F225205A260E56002 +:10DE300015E007239B05A360E5600EE00D22520567 +:10DE4000A260E5600122920507E00322D205A260EC +:10DE5000E560921001E00F225205E260A5600E70AD +:10DE6000FEBD000044280020000500500000800096 +:10DE7000F0B500210B4C0C4D03273F048A00A2583B +:10DE800092005619326801238B40034000D00323CF +:10DE9000BA431B0413433360491C0429EED300200A +:10DEA000F0BD0000700F02000007005010B50078B0 +:10DEB0000221FFF7E1FD10BD054900228300D24396 +:10DEC0005B185A60042802D3081840300272704769 +:10DED00050300020F0B50025ED43002A02D0002389 +:10DEE000042601E004230A260C4C05E09F003F199C +:10DEF0007F687F1C04D05B1CB342F7D32846F0BD7B +:10DF000026185DB2203635739E0036197160002ADE +:10DF1000F4D1E11840310872F0E7000050300020E1 +:10DF2000024909182C200856704700005030002084 +:10DF3000FFB58FB01E4615460F0004D100221146D2 +:10DF40001046FEF7C3FC002D04D1002211461046F6 +:10DF5000FEF7BCFC1C216846FEF74FF968460178C5 +:10DF60000220014368460170002401940394049444 +:10DF70000594012108A80694817068460F990184D0 +:10DF800007943178017771784177807FF9210840D3 +:10DF9000F721801C0840EF210840410849006846ED +:10DFA0008177142109A8FEF728F908A8099007A885 +:10DFB0000A9068468585C485058604480D9709AA98 +:10DFC00069460088189BA2DF13B0F0BDAC28002082 +:10DFD000F8B53B4914230A780F205A435418217985 +:10DFE0002569384E241D02291AD004292ED005296E +:10DFF00064D102F0F7F801462846FEF7C1F806465C +:10E0000002F0F0F80146A08871434019401A8708D1 +:10E0100002F0E8F8711C4843A1886288891836E04C +:10E02000B0882269800261881318091AA28828180A +:10E03000101801229202914203D28A08194629DF60 +:10E0400037E0FF220132194629DF32E0A2681C487E +:10E050001101CC30091808894B894968A94203D1BC +:10E060006188584388421BD0022A19D002F0BAF8BE +:10E0700001462846FEF784F8064602F0B3F87043DE +:10E08000281A870802F0AEF8711C484361883A46A6 +:10E090004919401A83083146204602F0B9FC08E0CD +:10E0A00002F0A0F801462846FEF76AF8B188401849 +:10E0B00028DF002802D1024901228A70F8BD000041 +:10E0C000A43000201829002010B5084900204A7803 +:10E0D000002A09D08978002906D1FFF779FF0028A6 +:10E0E00002D0112800D1002010BD0000A430002073 +:10E0F00014225043054A002180180171C180012279 +:10E100000161C2604161018170470000A4300020BC +:10E11000F8B5134C069E65780A2D1FD027787D1917 +:10E12000EDB20A2D01D30A3DEDB214277D432D191E +:10E130002871002068716A6103C92961E860EB8079 +:10E140002E81A1780020002904D1FFF741FF11287A +:10E1500000D100206178491C6170F8BD0420F8BD31 +:10E16000A4300020F8B5224801694A1C3DD0242281 +:10E170005143826889184E681E494C684769007986 +:10E18000E11B0D022D0AED1C002814D101201A4AB2 +:10E1900000045060184A403A506018494000086036 +:10E1A000174908601749012008602F20FDF7A2FFDA +:10E1B0000F4901200871B54200D23546E819000226 +:10E1C0000C49000A403108600A494968001B091BD4 +:10E1D0000902090A0002000AC91C814204D901206F +:10E1E0000649400480390860F8BD02F063FAF8BDC2 +:10E1F0003C290020001501404013014080E200E06E +:10E2000000E100E000100140F8B50D461178064627 +:10E21000881D14461F2801D90C20F8BD338807201B +:10E22000062BFAD31927FF01BB4202D9164A9342A3 +:10E23000F3D17288062AF0D3BA4202D9124FBA42F9 +:10E24000EBD1114FBB4203D0BA4201D09342E4D884 +:10E25000481C052220706A5420781222411C21702B +:10E260002A5420784119308802F098FD217840180E +:10E27000C0B220704119708802F090FD21784018DA +:10E2800020700020F8BD0000FFFF000010B5002244 +:10E290001146FEF71BFB10BDF8B5164801F0AEFAAB +:10E2A000144D0026103D144C002807D06169002948 +:10E2B0001BD001206A461070684615E028780028B7 +:10E2C00005D06169002910D0684606700CE06878B6 +:10E2D00000280CD0A16800226868FEF7BFFB002868 +:10E2E00003D0A169002900D088472E70F8BD61686D +:10E2F000F1E700009C280020C42E002070B5094BD7 +:10E3000004469E7A082000250E4207D00648844223 +:10E3100002D01889A04202D10020156070BD0520EE +:10E3200070BD000000300020FFFF00000C214843BA +:10E33000064910B5012240188272911E0181FF2109 +:10E34000C1720721FDF759FF10BD00000030002009 +:10E35000F8B500260124154D23E06968F000471840 +:10E36000387821466A698140114218D08A436A612F +:10E3700001F016FD3A7821462B6991401940034679 +:10E38000934099420BD17978012901D0012100E015 +:10E3900000217B684140002B01D010469847761C35 +:10E3A000F6B228788642D8D3F8BD00002429002090 +:10E3B000FEB50E46044681786A46234801F098FE71 +:10E3C000002826D160780C21204F4843C019807A5C +:10E3D00040061FD4022E1DD0012E1DD01C4DA0784A +:10E3E0001C2148431B49002341181C226846A847AA +:10E3F000002813D0022E0CD020780C21484313495A +:10E400000C314018807A144980000A582146684629 +:10E410009047FEBD114DE2E7114DE0E7022EF8D026 +:10E4200060780C214843C019817ABF221140817263 +:10E4300060781C2148430549403941181C231A467D +:10E440006846A847D8E700000829002000300020CF +:10E450000D0A0200FC2E0020B40F0200A5050200E8 +:10E46000ED03020070B50546114A124800241C2332 +:10E4700063431B189B7EFF2B04D0641C072CF6D330 +:10E48000104670BD0A78022A09D01C226243101877 +:10E49000FD22827607221030FDF788FE04E01C2161 +:10E4A00061430818FE2181762C700022E8E7000005 +:10E4B00043800000FC2E0020F7B505250F4F0646CF +:10E4C0000024002E0AD01C206043C01907223146C8 +:10E4D0001030FDF7A4FE002807D00AE01C2060439E +:10E4E000C019018B0298814203D101980025046074 +:10E4F00002E0641C072CE4D32846FEBDFC2E00205D +:10E500007CB5054681B26A46074801F0F1FD04007A +:10E5100008D17421684601F015FE040002D1284696 +:10E5200001F07AFD20467CBD0829002070B5054623 +:10E530000C46100003D000221146FEF7C7F92078E0 +:10E54000152802D12846FEF781F9002070BD000091 +:10E550001FB56946087301F04BFE002803D0002266 +:10E560001146FEF7B3F903A800F01CFD002803D004 +:10E5700000221146FEF7AAF901A805210130FDF796 +:10E580003CFE6946487901221043E1210840DF2121 +:10E590000C30084069464871072088711020C87106 +:10E5A000064800900A71064800F064FE002803D077 +:10E5B00000221146FEF78AF91FBD00002DE501007B +:10E5C0000228002001B50549684600F055FA0028E8 +:10E5D00003D000221146FEF779F908BD6429002016 +:10E5E00010B5097800290AD003220121FEF742FF65 +:10E5F000002803D000221146FEF768F910BD0088FC +:10E60000FFF786F910BD000010B58AB00024264936 +:10E61000009400F095FC002817D101A9224800F0D1 +:10E6200037FC002813D021491F4800F01DFD0028A9 +:10E6300003D000221146FEF749F91C4800DF0028EC +:10E6400003D000221146FEF741F90AB010BD05992A +:10E65000072216481031FDF7A9FD14481022C01DED +:10E660000599FDF7A3FD1148112218300199FDF716 +:10E670009DFD0E4801990A222A301231FDF796FDC0 +:10E680000A4800DF002803D000221146FEF71EF9D9 +:10E6900001200090042008906846099007A907947B +:10E6A000014800F07FF9CAE764290020803100208A +:10E6B0007047000001490860704700006029002091 +:10E6C00030B58FB005461C216846FDF796FD6946BA +:10E6D0000878082108431022104369460870002476 +:10E6E00001940394049405940694A87908A9887069 +:10E6F000144869460884601C00070794000F0C77D3 +:10E7000010304877887FF9210840F721801C0840A5 +:10E7100010430121084369468877142109A8FDF7B1 +:10E720006CFD08A8099007A80A9069468C851720F7 +:10E73000CC8508860D942B46A888103309AAA2DF41 +:10E740000FB030BD3115000030B58FB005461C212B +:10E750006846FDF752FD694608780421084369467A +:10E760000870002401940394049405940694A879F5 +:10E7700008A98870144869460884601C000707943B +:10E78000000F0C77103048778A7FF9200240F7207D +:10E79000921C0240EF200240012002438A7714219C +:10E7A00009A8FDF72AFD08A8099007A80A9069465C +:10E7B0008C851420CC8508860D942B46A8880833B8 +:10E7C00009AAA2DF0FB030BD32150000F0B58FB03E +:10E7D0000F4605461C216846FDF70FFD6846017887 +:10E7E000022631430170002401940394049405949B +:10E7F0000694A97908A88170174968460184601CAD +:10E800000107090F6846103107940177002001467F +:10E8100068464177817FF9200140F720891C01403B +:10E82000EF2001400120014368468177142109A8A7 +:10E83000FDF7E3FC08A8099007A80A9068468685BA +:10E84000C48506860D972B46A888203309AA6946F9 +:10E85000A2DF0FB0F0BD0000341500003EB5044645 +:10E860001E4801781E48002930D0002C2FD0217876 +:10E8700000292BD11B4900250968002926D0A17841 +:10E88000072927D21C20184A48438018807EFF2879 +:10E8900020D012486A46103001F02AFC002815D119 +:10E8A00060230422694602A801F0DAFC0299491C9F +:10E8B0000CD0602304220D49684601F073FE002845 +:10E8C00004D1A178084A89001C3A55503EBD04483D +:10E8D000801D3EBD024808303EBD0000F8280020E3 +:10E8E000088000000C300020FC2E0020B00F020039 +:10E8F0003EB50C4627490A782749002A30D08A1DA0 +:10E90000002805D0002C03D00278002A28D101E08D +:10E9100010463EBD214A1268002A21D0817807297D +:10E9200020D21C221E4B4A43D218927EFF2A19D0B5 +:10E930001B4AA3681C3A002B17D0890053508178DA +:10E9400014486A46103001F0D3FB0028E1D160235F +:10E950000422694602A801F083FC002809D016E0D1 +:10E9600008463EBD0C4808303EBD89005158A160A4 +:10E97000E5E70298401C0AD0642310226946A0688B +:10E9800001F06EFC0028EFD1029961603EBD0248A3 +:10E9900038303EBDF8280020088000000C300020F0 +:10E9A000FC2E0020FEB505462D480C4601782D486A +:10E9B000002925D0811D002D23D0002C21D0A26854 +:10E9C000002A1ED0297800291AD127490968002970 +:10E9D00016D0A978072916D21C22244B4A43D218F4 +:10E9E000927EFF2A0FD06A780C235A431E4B0C3BB1 +:10E9F000D218927A120703D56068042806D207203D +:10EA0000FEBD0846FEBD17480830FEBD1448184E2E +:10EA10006A46103001F06CFB0028F6D16023042216 +:10EA2000694602A801F01CFC002803D10298401C92 +:10EA300000D0104E60230422211D6846B0470028F4 +:10EA4000E3D1642310226846A16801F0ABFD0028E1 +:10EA5000DBD1AA78054B92001C3BA1689950FEBD02 +:10EA6000F8280020088000000C300020FC2E002038 +:10EA7000ED030200A50502000C4A13780C4A002B96 +:10EA800011D0931D002905D0002803D0007800285C +:10EA900009D101E018467047064B1B68002B02D0D5 +:10EAA000087000207047104670470000F8280020CA +:10EAB000088000000C300020F0B5054693B000201F +:10EAC0000290FF24ED480E94007800284BD0EC4FC4 +:10EAD0003868002847D001A800F056FA002803D073 +:10EAE00000221146FDF7F2FE281D05902A206946F6 +:10EAF0000883FF20002688710E710396E04C288859 +:10EB00000C3C10280ED0A88803AA0221FFF7F6FBC0 +:10EB1000002807D103980C2141430919CA7A694694 +:10EB20008A7148712888132217287CD00FDC10289E +:10EB30001BD0112853D0132876D0142813D1039852 +:10EB40000C2148430019C07AFF2871D08DE0CD49CF +:10EB500018286BD01C286AD0522804D1B87A8000BB +:10EB6000095801A8884713B0F0BDC74F03AA012177 +:10EB70003846FFF7C3FB0028F5D103990C20484322 +:10EB800002220019827211236A4613745171A988F6 +:10EB900001810722A91DFDF709FB687DC10707D088 +:10EBA0004108B6480830405CFF2808D00E9006E0C7 +:10EBB0003A460EA9A81DFFF77FFC00280ED1039945 +:10EBC0000C22514309190E98C8728A7A08231A43F5 +:10EBD0008A726946887101A8FEF776FE39E10398CA +:10EBE0000C2148430119887AFD22104088720107E0 +:10EBF00006D5C0090DD0002101A8FFF7D9FB08E018 +:10EC000068468079FF2804D001F006FAFF206946A3 +:10EC1000887103980C225043102100198172122030 +:10EC20006946087415E17FE030E001E0D5E00EE1CF +:10EC3000EA890EA90020FFF73FFC00280ED10398B7 +:10EC40000C22504300190E99C172837A0822134393 +:10EC500083726846817101A8FEF736FE03980C2185 +:10EC600048430019C07AFF2806D003981C21484366 +:10EC700083494C394018029003981C21484383492A +:10EC80004218A8880023029982DF6CE76846027464 +:10EC9000039B0C2058430119887A04221043887280 +:10ECA000C87AFF2830D016206946087424204343D0 +:10ECB00073481A21303818180830FDF79EFA039867 +:10ECC0000C2148430019817A402211438172039933 +:10ECD0000C2200204A430A901219D27A1C235A436C +:10ECE0006A4B0C90D2180B921C2251431A46C43224 +:10ECF00089180791089009903A1DA88807AB002150 +:10ED00007FDF0028C1D1A4E00EA8FFF7ABFB0028ED +:10ED100001D00646DBE769460E98887103990C22FC +:10ED200051430919C872D2E7787A400840007872D6 +:10ED3000039A0C209446424311198B7AFB2003401E +:10ED40008B7214206F463874A879002804D0C87AD2 +:10ED5000FFF7D6FBAE797CE0E879400779D5B87942 +:10ED6000FF2876D008273B438B72EB7A9B0708D5A8 +:10ED70001C2503466B43454D5B199D7E6D086D0058 +:10ED80009D76CB7AFF2B64D0A25C022A10D01C2285 +:10ED900050433E4D072240191030FDF707FA6846F0 +:10EDA00080791C2148434019817EFD2211400EE0EC +:10EDB00061461C225143324A4C3A89184A8A1C2126 +:10EDC0004843324940180283817E490849008176D0 +:10EDD000012101A8FFF7ECFA3BE0A8790209012A1A +:10EDE00023D10007000F01281FD103980C224243B2 +:10EDF0001219927A120718D5242148432049303934 +:10EE000040181A210830FDF7F8F9162069460874F1 +:10EE100003980C2148430119887A602210438872B4 +:10EE2000787A0221084378720FE003980C2250434D +:10EE30000019827A80231A43827215206A46107460 +:10EE4000B87A8000095801A88847002601E0684682 +:10EE50000274324604A901A8FDF746FD6846007C0D +:10EE6000122800D07FE603980C2141430919897AC2 +:10EE70000129F7D0FFF75AFA75E60000F8280020BC +:10EE80000C300020D40F0200FFFF0000FC2E0020F9 +:10EE9000F0B5064626480C460178264889B0002978 +:10EEA0003FD0811D002E3ED0002C3CD0317800296F +:10EEB00037D1214900250968002932D0B0780728C8 +:10EEC00033D21C211D4F4843C019807EFF282CD00F +:10EED000E560B07865614843C01920611648A560B7 +:10EEE0000C306060684620601148B17807AA103085 +:10EEF00001F0FEF8002814D11C231A4607A9684621 +:10EF000001F0AEF900280CD1E560B1781C22514324 +:10EF1000C919656121610849A5600C3161606946C4 +:10EF2000216009B0F0BD0846FBE702480830F8E769 +:10EF3000F8280020088000000C300020FC2E002063 +:10EF400030B50446002903D00878002814D101E028 +:10EF50000B4830BD0B480023006800280CD0094A3C +:10EF6000FF2088700C3A15890520A542F1D14B701D +:10EF7000D07A8870002030BD0148801F30BD00006D +:10EF80000E8000000C300020002806D0FF21017008 +:10EF900041708170C17000207047014870470000C7 +:10EFA0000E800000F0B585B0040036D02948002559 +:10EFB0000560457285722846FFF7B8F92548242177 +:10EFC0003038FDF71AF90026FF27304601F024F803 +:10EFD00021488755761C072EF7D374216846818017 +:10EFE0000721C1801D481C4900900831684601F086 +:10EFF00089F900280FD1184E0120083E3070207882 +:10F0000000280CD069468888C988484381B23046B8 +:10F01000103001F097F805B0F0BD1148FBE7114F33 +:10F0200000240D48A1B202AA083001F061F80028BE +:10F0300009D11C206043C01900231C2202A901F041 +:10F040000FF9002801D03570E5E7641C072CE8D3E0 +:10F05000E1E700000C30002000290020E9F0010069 +:10F060000E800000FC2E00200B4610B51A491B4AEA +:10F070000978002920D0911D002805D0002B03D04D +:10F080000178002918D101E0084610BD144909682B +:10F09000002911D0114A8178D21EFF290ED01C20E0 +:10F0A000414310480918887E800705D40722184676 +:10F0B0001031FDF77BF80022104610BD4078FF2884 +:10F0C000FAD00C21484306490C394118887A800748 +:10F0D000F2D507221846ECE7F82800200880000047 +:10F0E0000C300020FC2E0020FFB55D488FB000687A +:10F0F000189F1E46002875D0742F73D86846FFF7F6 +:10F1000043FF002803D000221146FDF7DFFB002457 +:10F11000684604700471254605970696A9B20DAAA3 +:10F12000504800F0E5FF002806D108220DA90F98ED +:10F13000FDF775F8002817D06D1C072DEED3684633 +:10F140008578FF2D4ED01098042810D046481C21F9 +:10F15000301AFDF715F8012707281ED204A80290DF +:10F16000119800280BD011E068468570E7E7742FEE +:10F1700003D04020694608716CE02020FAE7384649 +:10F180003849A84010394968084261D0284601F042 +:10F190000BFE2020694608714AE031481C214C389A +:10F1A000301AFCF7EDFF00281DD02D4824213038FF +:10F1B000301AFCF7E5FF01002C482CD040216A46AC +:10F1C00011712B498E4245D0274AA9001C3A51584B +:10F1D000B1423DD104A90291C07A854228D1684646 +:10F1E000447025E034E004A80290202168460171B3 +:10F1F00044701B480A940C300B90583807906846AE +:10F2000080781C21484318494018089007A80690A8 +:10F21000182005900CE0302269460A714C70CF70BE +:10F22000807A800704D4114824212438FCF7E5FFB4 +:10F23000109869460328087910D0022108436946CE +:10F24000087104A8029001A96846119AFDF74CFBC9 +:10F2500013B0F0BD694608790321EFE73843EFE7C3 +:10F260000C30002008290020FC2E00200030002057 +:10F27000B00F020070B5064618480D460078002809 +:10F280000ED01749002E0ED0002D0CD02868002873 +:10F2900009D0144C2168002907D011480A3870BDE4 +:10F2A0000F48801F70BD084670BD20600522691D93 +:10F2B000201DFCF77BFF2879A072207A02214008EC +:10F2C00040000843FB2210402072E07901231843DC +:10F2D00008431040E0710020307070BDF828002015 +:10F2E0000E8000000C30002010B50E4900238A78F3 +:10F2F000CC78A24212D0521CD2B28A70022A00D11B +:10F300008B708A78074B92001C339A5802604869C8 +:10F3100010180002000A4861012010BD036000209F +:10F3200010BD00003C290020F7B5144C0025A7684B +:10F3300023691EE024215943C9194E68864202D927 +:10F34000301A486017E0801B751900264E600E7554 +:10F350000E699C460B6AB646002E0AD0019E7619AD +:10F360003602360A8E607646CE6016680E626146B8 +:10F370001160591CDED12361FEBD00003C29002034 +:10F380000EB5112069460872072214A102A87CDF7D +:10F39000002803D000221146FDF798FA114878DFC3 +:10F3A000002803D000221146FDF790FA0020FF222A +:10F3B00000904132694601900A804122D2004A8081 +:10F3C0008880FF209130C88068467ADF002803D00B +:10F3D00000221146FDF77AFA0EBD00004466755F03 +:10F3E00048524D0041030000002070470020704744 +:10F3F00000207047F8B506464078242104464C4367 +:10F4000024490C2250436118224A00254B682432BB +:10F410008018AE462F469C46002B0CD0827A1346AD +:10F42000D20908D05A0606D40D461A4A614689B256 +:10F43000175908358E46174C008924343B467246CE +:10F440002946A9DF0B2819D0002800D01248012F27 +:10F4500013D170780C214843001900890F4AA7DFA7 +:10F4600000280AD00E49884212D0082810D0891CE2 +:10F4700088420DD011280BD00020F8BD70780C21E7 +:10F48000484301230019008972462946A9DFE0E7B5 +:10F490000148F8BDDC2F002041800000FFFF000084 +:10F4A0000230000070B50C46014660782422084DF9 +:10F4B00050434019382300F0D3FE002807D161786B +:10F4C0002422514349194A68521C00D14A6070BD38 +:10F4D000DC2F0020F3B589B00D461A2069468883D9 +:10F4E00068780C2103274843224E3B468019008947 +:10F4F00007AA6946AADF002838D168782421484342 +:10F50000741A001969468A8B0830FCF788FE0028B7 +:10F51000687807D0242148430119496800290DD093 +:10F52000154E0CE00C2141438919897A89071DD4B5 +:10F53000242148430019FCF760FE17E00F4E2750C6 +:10F540006846828B687824214843001942606878B5 +:10F550004843001969460830FCF728FE68782421E2 +:10F5600048430119382324220998B04700200BB0E2 +:10F57000F0BD000000300020A5050200ED030200F0 +:10F5800010B5FFF737FF10BD10B5FFF78BFF10BDAB +:10F5900010B5FFF79FFF10BD70B50646104C012552 +:10F5A000B540E068FDF79CFA00280CD1616929425A +:10F5B00007D1304600F0F4FB0028206904D028432E +:10F5C00003E0A943616170BDA84320616069002226 +:10F5D00028436061A168E068FDF740FA70BD000053 +:10F5E0002429002010B51349134801F0CDF8124C1E +:10F5F00081B2283CA068401CA0600E486038FEF72D +:10F600003FF800280BD0082809D00C49884206D0C2 +:10F610000B49884203D000221146FDF757F9032118 +:10F62000A068FCF7ADFD002901D0012000E000201A +:10F63000207010BD702D002028280020043000000C +:10F6400001340000F0B5002406460D46601C010799 +:10F6500095B0090F08A810310C940174297B4174EE +:10F66000817CF9273940891C81741C2105A8FCF78D +:10F67000C4FD6846017D10200143684601750CA851 +:10F6800006940A900894099401220B9408A88276A3 +:10F690001749684601870D94697B08A80175A97B05 +:10F6A0004175817DF7203940891C0140EF200140E0 +:10F6B000114308A8817514216846FCF79EFD0EA829 +:10F6C00000900DA801900FAA0021304600F012F81A +:10F6D0000146684601811421448181810FA804906C +:10F6E0003346F08808336A4605A9A2DF15B0F0BD9D +:10F6F000372A0000F7B542790025002A00D00425FA +:10F700002222135C0222002B00D01543CBB2FF292A +:10F7100007D901221543029A090A537091700326F2 +:10F7200002E0029902264B7004464034A189002968 +:10F7300001D010210D43002716E0B11C142909D96E +:10F74000A189C91B4A007900091824302431FCF72B +:10F750002DFD0CE0029B7A0012189B19928C1A70F6 +:10F76000120A5A70CEB27F1CA189B942E5DCA08989 +:10F77000C01BA081029805703046FEBDF8B51E4C36 +:10F780002078002837D02069002807D00026E068BC +:10F79000002805D00025002E04D013E00126F6E74E +:10F7A0000125F8E7684651DF052806D0002806D075 +:10F7B00000221146FDF78AF804E0012602E02169E3 +:10F7C00000988847002D12D1608869460880A0689B +:10F7D00061DF052806D0002806D000221146FDF77B +:10F7E00075F804E0012502E0E168A0688847002E72 +:10F7F000D8D0002DCFD0F8BD682900204188054819 +:10F800000288914204D34088814201D80120704788 +:10F8100000207047942800201048018CC9B20129AB +:10F8200017D1818C090714D1018D09060A0F03D164 +:10F83000828D1206120F0ED0090F012903D1828D7D +:10F840001206120F07D0032903D1808D0006000F86 +:10F8500001D000207047012070470000C00F00F069 +:10F86000800701D0002070470120704710B5044880 +:10F87000017AC90702D00078FEF702FA10BD000035 +:10F8800044280020F8B5234801690091457833E009 +:10F890002048E900C0680E1834782AE01820604338 +:10F8A0007168641C0818B178E4B2A14200D1002448 +:10F8B0000178022902D003291BD113E0154A4068C0 +:10F8C0002421926841438F18397D002911D001F01D +:10F8D000A3F9002038750CE024277843C01802757E +:10F8E000006A03E00B4900228B680869471CF3D1CA +:10F8F00008617078A042D1D128466D1EEDB2002873 +:10F90000C6D1044801690098814201D00120F8BDA8 +:10F910000020F8BD3C290020F8B5044638480027EF +:10F920000169009146785CE03548F100C2688D18A5 +:10F9300051E0601C07D0324A24209268604321467F +:10F940008018046A24E02878182141436A68401C22 +:10F95000C0B252182870A978884200D12F70284B65 +:10F96000516824209B684843C0181378012B34D178 +:10F97000037D002B31D193688360D368C360136922 +:10F9800003615269C2611E4A5279002A00D0876021 +:10F990001B4B82685B6996469C46D31A1A02194B28 +:10F9A000120A9A4202D2C368D21808E0724663462D +:10F9B0009A1A1202C368120A934202D99A1A426032 +:10F9C00000E0476087600122C7600275921E0262F4 +:10F9D000084601F0EFF8601CABD1287869788842BE +:10F9E000A7D13046761EF6B200289DD104480169A1 +:10F9F0000098814201D00120F8BD0020F8BD000030 +:10FA00003C290020FFFF7F0096B001F07DF93F4ABE +:10FA10003F490320FEF7E4F8002803D000221146F6 +:10FA2000FCF754FF01A90020FDF7C2FF002803D016 +:10FA300000221146FCF74AFF6846007902285BD095 +:10FA4000002168460170FDF7C7FE68460078FEF7A2 +:10FA50007FFDFFF795FC302101A8FCF7CEFB0221CA +:10FA600068460171012484710621C17103258582D4 +:10FA70002848069020210DA8FCF7BFFB08A80477B2 +:10FA8000FF202D301090B42000241190224B0DAA9D +:10FA90002146009401A8FDF771F9002803D0002247 +:10FAA0001146FCF713FF00F0C9FE00F033FE1C21E5 +:10FAB0006846FCF7A2FB0520C00301900F2000045C +:10FAC0000290009468460573144881896846C18194 +:10FAD000047413480590134806906846FDF7C6FB6A +:10FAE000002803D000221146FCF7F0FEFDF724F8B1 +:10FAF0000220FDF771FA02E00121A2E748DF0028A9 +:10FB0000FCD000221146FCF7E1FEF7E741DB0100E3 +:10FB1000CD0C00003828002049FE0100102D0020E7 +:10FB20006DFE01008DE2010070B5054600790E46BC +:10FB3000801C1446C0B21178821C8A181F2A01D971 +:10FB40000C2070BD0A46491C2170401CB05420781E +:10FB5000FF22411C2170325420788119288801F03D +:10FB60001DF921784018C0B22070AA88002A09D057 +:10FB7000A968002908D08019FCF718FB207829799A +:10FB800040182070002070BD072070BDF8B51478B3 +:10FB90000746A01C15460E461F2803D87878801CFF +:10FBA0001F2801D90C20F8BD1D20001B80B269461A +:10FBB000864608803019801C7DDF0028F3D1387814 +:10FBC000022805D168460088704501D8092107E060 +:10FBD00078780821002801D0704501D9684600884E +:10FBE000421C3255641CE2B2B1542978801C0818BA +:10FBF00028700020F8BD00207047002070470020CA +:10FC00007047000031B5054C04E0401E00902046CE +:10FC1000FCF760FA00980028F7D138BDE703000030 +:10FC20008207D30EFF229A408907090E10B599402A +:10FC300000280BDA03071B0F083B9C080C4BA400A1 +:10FC4000E318DC6994430C43DC6107E08408094B4A +:10FC5000A400E418236893430B432360C106C90E34 +:10FC600001208840044908600449086010BD000074 +:10FC700000ED00E000E400E080E200E000E100E0F0 +:10FC800070B50D46064600F0E7F90124002830461D +:10FC900018D0FEF745F91849001F08184030007BBE +:10FCA0008009032802D0012805D006E01348006926 +:10FCB000B440204201D1022100E00321304600F08F +:10FCC000A9F870BD00F0D4F90028FAD03046FEF74C +:10FCD00027F98100CA1D0A4BF932C9180B6992B283 +:10FCE00023430B610749511800220A60002DE8D018 +:10FCF00084400548446070BD50300020000500502D +:10FD0000006500400060004000630040F8B5204FEF +:10FD10000D46044638192C2141560026C8171346B3 +:10FD2000401C01D0082630E0EA7819462046FEF74C +:10FD3000D1F8411C28D0174BAA78A100C918002A75 +:10FD400003D00A6802239A4301E06A7892000A60AD +:10FD5000E978002910D082000F482978101802692C +:10FD60000E4B1A400261E206D20C8907890B0A4346 +:10FD700001690A43026108E0381840302A78017AA4 +:10FD800092011143017200E004263046F8BD0000E4 +:10FD9000503000200007005000650040FFE0FCFFED +:10FDA00003490969C140C807C00F00D0012070474E +:10FDB0000005005070B5114D2878002801D00820AA +:10FDC00070BD0020411E2A182032401CC0B21173A1 +:10FDD0002028F8D300242046FEF76EF8641CE4B215 +:10FDE0000A2CF8D301210620FFF71AFF012004494D +:10FDF000C007486001202870002070BD50300020EE +:10FE00000063004002480078002800D001207047BD +:10FE100050300020820006481018026803231B049B +:10FE20009A430260026809040A43026070470000B6 +:10FE300000070050034940180068012800D0002046 +:10FE4000704700000060004010B500280AD002286A +:10FE500007D1FDF7B7FE002803D000221146FCF7BA +:10FE600035FD10BD00F086FD10BD000010B5007816 +:10FE7000002809D105483B21808876DF002803D07F +:10FE800000221146FCF722FD10BD000000280020D2 +:10FE9000F0B58BB004460227684607730026099622 +:10FEA0008784C68408A80A900D46A18A208809AADA +:10FEB000A5DF002804D0E16A00291AD0884718E09D +:10FEC0006846008CC007C00F13D0684606822088A1 +:10FED00003A9A8DF002813D1A97E28461B300122E0 +:10FEE0000B00FCF73BFB09460F1C2227292C442E54 +:10FEF0004600FF20FE3069460882208803A9A8DF5B +:10FF00000BB0F0BD6B461E700BE006221EE069468A +:10FF10000A71029027E0204690470020F0E76B46E8 +:10FF20001A702B8B022BF2D2EFE7684607706946F6 +:10FF3000A26AF0E7032000E00420694612E00520F1 +:10FF4000FBE7298B032905D2032208212046FDF770 +:10FF500091FAD5E741780278080210436946888013 +:10FF600003D006200870A26AD5E70720FAE7092027 +:10FF7000E3E70322EAE7000010B51D4A1D4903002C +:10FF8000FCF7ECFA05040B31202712004878012811 +:10FF90001FD0022808D1032005E04878002804D0AB +:10FFA000032801D10220487010BD134B04201860B3 +:10FFB000124B012018609368D2689A42F3D0FCF784 +:10FFC000E9FA10BD4878012806D0022804D0032899 +:10FFD000F7D1FCF717FB10BD9068D1688142EED1D4 +:10FFE000FCF7FEFA10BD48780128E8D010BD0000EB +:10FFF0004030002010290020002500400020004053 +:020000040002F8 +:100000000021425C002A01D001207047491C0629CA +:10001000F7D300207047000070B505461C200D493D +:1000200068434418204611300621FCF7E6F82046C4 +:100030001021FCF7E2F8FF2121740020A176C043D3 +:100040002083284600F0B0FE024A0020A9001C3A96 +:10005000505070BDFC2E0020044908182C21415638 +:10006000042901DB01207047002070475030002038 +:10007000044908182C214156042901D20120704757 +:10008000002070475030002070B50D00044604D1A8 +:10009000002211461046FCF719FC002C04D1002266 +:1000A00011461046FCF712FC2878207069886170B0 +:1000B000090AA170A988E170090A2171E8886071B4 +:1000C000000AA07170BD000007490978002906D018 +:1000D000002806D0054949780160002070470820B3 +:1000E00070470E207047000018290020A43000201F +:1000F00030B5124B1B78002B07D0002807D0002A00 +:1001000005D00468002C12D103E0082030BD0E2079 +:1001100030BD0B4B1D68002D09D04568188941433F +:1001200069185D89454358682818884201D8072016 +:1001300030BD14600020516030BD0000182900203F +:1001400070310020F8B505461B480F46007800289E +:1001500005D0002D05D02868002820D103E0082014 +:10016000F8BD0E20F8BD154C00262068002816D0DA +:1001700060892189484361684118686881420ED9C5 +:10018000FFF76EFB00280CD029686868090109197F +:100190004A680989801AFBF7F3FF002903D007207A +:1001A000F8BD1020F8BD3B460022294604200096E9 +:1001B000FDF7AEFFF8BD00001829002070310020C7 +:1001C00010B507484469601C06D000F00BF80146E2 +:1001D0002046FBF7D5FF10BD01200007406910BD88 +:1001E0000010001001200007006980B27047000075 +:1001F000F8B50024184D194EAC806C7034707470D2 +:10020000B47027463846FDF773FF7F1C0A2FF9D3D9 +:100210006C80FFF7D5FF871EFFF7E4FF47430F48C9 +:10022000AF60AC80CC3004600481848144810820BC +:100230006870FFF7D7FF0746FFF7C2FF441EFFF7BE +:10024000D1FF60433946FBF79BFF28DF002802D12E +:100250000121B1702970F8BD18290020A4300020B8 +:10026000FFB5264881B000781F4616460D46002887 +:1002700008D0002D09D00198002806D02868002851 +:1002800018D104E0082005B0F0BD0E20FBE71C4C9F +:10029000206800280ED0618920896268414389184E +:1002A0006A68914206D9002E04D0B04202D3F119F7 +:1002B000814201D90720E6E70198FFF7D1FA00282B +:1002C0001AD03846FFF7CCFA002815D06868FFF737 +:1002D000C7FA002810D068683246C1190198FBF7A8 +:1002E00065FF009628680022000124580321284653 +:1002F000019BA0470020C6E71020C4E71829002072 +:1003000070310020F8B5374D044628780E46002895 +:100310002ED0002C2ED0002E2CD02068002829D0E2 +:10032000FFF760FF0146A088814228D3102826D31A +:10033000E088002823D0FFF743FF471EFFF752FF56 +:100340004743E088A1884843A9684018874216D3EC +:10035000FFF748FF0146E088A288504381420BDA4C +:10036000FFF740FFA188FBF70BFF002907D103E04F +:100370000820F8BD0E20F8BD2079800701D00720A5 +:10038000F8BD688801281BD03060174FA9680201AA +:10039000D019716041602168B950A1880181E1885C +:1003A0004181A088E188002648430446761CB6B205 +:1003B000FFF718FFA04205D2FFF714FF241A02E04E +:1003C0000420F8BD0024FFF70DFFA9684018A860BD +:1003D000002CEBD168880101C9198E81401C68800E +:1003E0000020F8BD1829002070310020F8B504461F +:1003F00020481E46007815460F46002807D0002FDB +:1004000007D0002C05D02068002817D103E0082071 +:10041000F8BD0E20F8BD1848016800290ED04289A9 +:10042000018940684A4310186268904206D9002D3D +:1004300004D0A94202D3A819884201D90720F8BDE7 +:100440003846FFF70DFA002811D03046FFF708FABA +:1004500000280CD06068FFF703FA002807D02B466D +:100460003A46214602200096FDF752FEF8BD1020C4 +:10047000F8BD00001829002070310020F8B50746AB +:100480000020464E8646B07801281ED10020444BFD +:10049000B0705A78082A19D0344625781421694357 +:1004A0000C19022F20D0032F0FD16079401CC0B24D +:1004B0006071241D03286AD0FDF78AFD002804D04E +:1004C000112802D02146FCF737FAF8BD022F09D0D7 +:1004D0001870FDF7F9FD0028F7D031781422514348 +:1004E000891959E05870F4E72D498B885B1C9EB23E +:1004F0008E802379241D022B05D16788B102B94271 +:1005000001D3012100E000218C46052B01D1072AEF +:1005100003D00021042B02D003E00121FAE7072ACF +:1005200003D00027042B02D007E00127FAE76488F4 +:10053000B302A34201D3002A27D00022394311433A +:100540006246114317D0164A14495070908048787B +:10055000401E4870681CC0B208700A2801D30A38CF +:1005600008701420684341187046091DFCF7E4F92F +:100570002846FDF7BDFDFDF7A7FD0028A5D00749DA +:1005800014230A785A43511806E00122D6E730783E +:100590001421484381190D20091D94E7A43000203F +:1005A00018290020F8B5044620481E460078154654 +:1005B0000F46002807D0002F07D0002C05D0206858 +:1005C000002817D103E00820F8BD0E20F8BD184818 +:1005D000016800290ED04289018940684A431018F9 +:1005E0006268904206D9002D04D0A94202D3A8190E +:1005F000884201D90720F8BD3846FFF731F90028B5 +:1006000011D03046FFF72CF900280CD06068FFF7B6 +:1006100027F9002807D02B463A46214605200096A8 +:10062000FDF776FDF8BD1020F8BD00001829002068 +:100630007031002010B5134813498088884207D0D4 +:10064000132176DF05E000221146FCF73FF902E0B6 +:1006500074DF0028F7D10020FDF7B4FA002803D09A +:1006600000221146FCF732F9FCF772FE002803D095 +:1006700000221146FCF72AF9FF20F530FFF7C2FAF5 +:1006800010BD000000280020FFFF000010B5074843 +:100690000078002809D005480549303000F074F88A +:1006A00081B203487038FDF76DF810BD00280020B6 +:1006B000802D002070B501240B49600408600B49AF +:1006C00040108860094940398860094D6C602F20CE +:1006D000FBF710FDAC60074D00242F206C61FBF789 +:1006E00009FD2C7170BD000080E100E04013014065 +:1006F000001001403C29002010B504480122417837 +:10070000514041700248FDF754F810BD0028002008 +:10071000102D002070B514480124512164258460F7 +:1007200022C004711049114800F022F80E488C21B3 +:1007300010300160FF212D3141600A2181600026C7 +:10074000067301460948083000F012F80648FF21F8 +:1007500020300560F531846041600673014603482E +:10076000103000F005F870BD602D0020202800201A +:100770000A7B002A03D049680160002102E0096871 +:10078000016001210171704710B504798B6802681E +:10079000002C08D049688C1A9C4201D9D11807E076 +:1007A0000160002108E00968541A9C4202D9D11A5C +:1007B000016002E0016001210171006810BDF7B520 +:1007C00082B002981446806A0F46002833D00298FF +:1007D00000252030009028E00298816A0C206843B0 +:1007E0000E18217830794A1C2270C01C7854207869 +:1007F0001622411C21703A542078C119308800F02B +:10080000CDFA21784018C0B22070B288002A09D0F1 +:10081000B16800290FD0C019FBF7C8FC20783179E6 +:10082000401820706D1C0098EDB2007BA842D3D810 +:10083000002005B0F0BD0720FBE7000030B59FB0F9 +:10084000032118A80175142110A8FBF7D6FC002479 +:10085000012510A8109405711DA81290601C0107B5 +:10086000090F10A81031017344738473601C0107D1 +:10087000090F10A81031C1730020014610A801749F +:1008800001463348FCF728FF002803D00022114618 +:10089000FCF71CF8142115A8FBF7AFFC012001465A +:1008A00018A8103141700120014618A8103181703C +:1008B0000020014618A8C1700120014618A8103177 +:1008C000017110A815940576642118A81794017079 +:1008D0001F4815A91838FCF77FFC002803D0002218 +:1008E0001146FBF7F3FF40216846FBF786FC19A190 +:1008F0006846FCF761FF0120014608A81031017726 +:100900000020014608A841776846FCF7E3FD00286F +:1009100003D000221146FBF7D9FF13481B901A940D +:100920001C9410A805850A481AA98030FCF718FD08 +:10093000002803D000221146FBF7C8FF0B48FDF743 +:10094000B9FE0B488078FDF73DFE1FB030BD0000BA +:10095000102D00204E6F7264696353656D69636F7B +:100960006E647563746F7200E1E501003506020084 +:100970000028002010B50020FDF724F9002803D03E +:1009800000221146FBF7A2FFFDF770F8002803D004 +:1009900000221146FBF79AFF3CDF002803D000221B +:1009A0001146FBF793FF10BD10B508461146C0462F +:1009B000C04610BD002803D00249C860002070471F +:1009C0000E2070476829002070B5002901D08C07DF +:1009D00001D0072070BD064C0125A1606280054949 +:1009E000636010DF0028F5D1257016202EDF70BD62 +:1009F00068290020A9090200002803D002490861E3 +:100A0000002070470E2070476829002000207047A2 +:100A1000FFB581B0484C0E46039F049A05466178A5 +:100A200003201743002903D1002F0DD0012161704D +:100A3000039AC9B2920000920B00FBF78FFD072CBE +:100A4000071B2E465D6C2C000221F0E7FFF7CAFB66 +:100A50008708FFF7C7FB70430546FFF7B1FB461E4B +:100A6000FFF7C0FB70433A46294629DF002812D120 +:100A700002210FE0304628DF00280CD1039900291D +:100A800001D0032106E00499002917D1297804290F +:100A900050D018E0617005B0F0BDFFF791FB471E24 +:100AA000FFF7A0FB4743FFF79DFB70433946039ACE +:100AB00029DF0028EFD10499002901D00421E9E7BA +:100AC0002978042925D00521E4E7FFF779FB471EA3 +:100AD000FFF788FB47436888391800980F18FFF71D +:100AE00081FB6988704341180098049A08183946B8 +:100AF00029DF0028E4D0CEE7FFF774FB00997043AC +:100B0000401869888A08296929DF0028C3D1002F85 +:100B100010D00621BEE7FFF765FB0646FFF750FB46 +:100B2000451EFFF75FFB68433146FBF729FB28DFD3 +:100B30000028B0D10721ADE71829002010B50446E0 +:100B4000FFF79CFC2046FCF707FA10BD70B50C00BF +:100B5000054604D1002211461046FBF7B7FE002DD2 +:100B600004D1002211461046FBF7B0FE2078287011 +:100B70002088FF2109020840000A687020680902E5 +:100B80000840000CA8702068000EE87020792871D9 +:100B9000207A68712089000AA871A068000CE871A9 +:100BA00070BD000001200249000508607047000088 +:100BB00000E200E0F0B5174F2421BC6841430D1955 +:100BC00039694A1C09D024224A4316196B68726895 +:100BD000934204D8D21A726029623861F0BD0A4685 +:100BE00002E00A46396A9B1B4E1C0BD024264E435A +:100BF00037197E689E42F4D324264E43361977680F +:100C0000FF1A77606B60296224214A431119086238 +:100C1000F0BD00003C29002070B5194C2269A56880 +:100C20001346114606E0814207D00A462426714346 +:100C30004919096A4E1CF6D170BD002EFCD08A42BB +:100C40000CD1242043435819006A2061401C05D16F +:100C50000C4B0120986000236361607124204143A4 +:100C60004819242341685A43006A52191062421CF1 +:100C7000E2D024225043401942685118416070BDAF +:100C80003C29002000100140F8B51D4C2569681C66 +:100C900035D01C48002640686169401A07023F0AA7 +:100CA00019E024204543A0682A185068B84214D897 +:100CB000A3693F1A8619156A002B09D0D16990697A +:100CC0009847002807D000221146FBF7FFFD02E0FD +:100CD0009169D0698847681CE3D1A178E0788142A6 +:100CE00006D1401CC0B2E070022801D10020E070A3 +:100CF00003490006800D1C310E50FFF753FFF8BD6D +:100D00003C2900200015014008B500201D4B05229C +:100D100009210090FBF748FE002803D0002211466D +:100D2000FBF7D4FD184A01211848FBF717FE0028ED +:100D300003D000221146FBF7C9FD1448144A0121D3 +:100D4000001DFBF70BFE002803D000221146FBF725 +:100D5000BDFD0E480F4A01210830FBF7FFFD0028BA +:100D600003D000221146FBF7B1FD08480A4A0121D1 +:100D70000C30FBF7F3FD002803D000221146FBF7EF +:100D8000A5FD08BD80290020DDCC01001028002031 +:100D9000E5F501008D060200F90602000870000A60 +:100DA00048700220704700000121814002484268DB +:100DB0008A43426070470000F828002038B5154982 +:100DC000154A488890420FD04A78144C521CD2B22F +:100DD0004A70237B934208D3083175DF002803D083 +:100DE000A169002900D0884738BD00254D70217CBD +:100DF000002907D03B2176DF002803D0A169002914 +:100E000000D0884761690029EED0684605708847A0 +:100E100038BD00008C280020FFFF0000C42E0020F9 +:100E200012494868C005C00D19D0103840B20028DA +:100E300007DA0207120F083A920892005118C9699E +:100E400004E081080A4A8900891809688007C00EF1 +:100E5000C1400806800F012803D0032803D00220D8 +:100E600070470020704701207047000000ED00E04F +:100E700000E400E042788378521C934200D10022C3 +:100E80000378934201D1002070470A60416840789E +:100E90001822504308187047F8B51546069C1E46A0 +:100EA00007460222009400F00AF8002806D13346D3 +:100EB000102229463846009400F001F8F8BDFFB52D +:100EC00083B0074600200C9C8646267805463AE00B +:100ED0007868A90041180A88684682804988C180DC +:100EE0000022694601A865DF002810D16846017814 +:100EF0000598814226D17046002801D0002200E0EA +:100F000002222078891841181F2902D90C2007B025 +:100F1000F0BD7146002908D1401CC0B2411C069B9F +:100F2000049A21701A5401208646217806980A18DE +:100F3000694601A865DF0028E9D16946207809786B +:100F4000401820706D1C3888A842C1DC704600280B +:100F500004D020780699801B401E88550020D6E7D3 +:100F60000179002902D1007B002800D001207047C0 +:100F70001100000012000000130000001400000027 +:100F80001100030079DA01001200030079DA010090 +:100F90001300030079DA01001400030079DA01007C +:100FA00023D1BCEA5F782315DEEF121200000000A7 +:100FB000FFFFFFFFFFFB0100D5F40100F1F301008B +:100FC00091F50100FBFB0100A5F40100EDF3010028 +:100FD00089F50100F7FB0100F5F30100E9F30100D9 +:100FE00081F5010003000000081002000028002025 +:100FF000800100005CC201002C100200802900204A +:101000004010000086C5010042010333FFFF0C328F +:101010000D1801000F1801000A1801039BFFFF02C1 +:0C1020005001041BB1E6011424F4000090 +:040000050001C0C175 +:00000001FF diff --git a/circuitpython/lib/nrfutil/tests/resources/dfu_test_bootloader_b.hex b/circuitpython/lib/nrfutil/tests/resources/dfu_test_bootloader_b.hex new file mode 100644 index 0000000..27c1b37 --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/resources/dfu_test_bootloader_b.hex @@ -0,0 +1,8 @@ +:020000040003F7 +:10C00000103C0020C9EE0300E3EE0300E5EE030060 +:10C010000000000000000000000000000000000020 +:10C02000000000000000000000000000D5C0030078 +:10C030000000000000000000E9EE0300EBEE03004A +:10C04000EDEE0300EDEE0300EDEE0300EDEE030078 +:10C05000EDEE030000000000EDEE0300EDEE030046 +:00000001FF diff --git a/circuitpython/lib/nrfutil/tests/resources/dfu_test_softdevice_b.hex b/circuitpython/lib/nrfutil/tests/resources/dfu_test_softdevice_b.hex new file mode 100644 index 0000000..d52e8e9 --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/resources/dfu_test_softdevice_b.hex @@ -0,0 +1,3 @@ +:020000040000FA +:0869100000000000000000007F +:00000001FF diff --git a/circuitpython/lib/nrfutil/tests/resources/test.pem b/circuitpython/lib/nrfutil/tests/resources/test.pem new file mode 100644 index 0000000..84fdffc --- /dev/null +++ b/circuitpython/lib/nrfutil/tests/resources/test.pem @@ -0,0 +1,5 @@ +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEID2WUBCe/4kLhl5ekJ+O8PtprcahUNFE3RIm5htQzDedoAoGCCqGSM49 +AwEHoUQDQgAEZY2i7duYH2l9rnIg1oIXq+0/uHAF7IoFubVru6oX9GCQm67NrXIm +wgS2ErZi/0/MvRsMkIQQkNg6Wc2tbJgdTA== +-----END EC PRIVATE KEY----- |